From f6d919f8618505b67a3ce3d6770e3982c78b35c7 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Mon, 5 May 2025 01:07:43 +0900 Subject: [PATCH 01/59] =?UTF-8?q?[fix]:=20InputBlock=20component=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20reset.css=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.css | 42 ----- frontend/src/App.jsx | 8 +- frontend/src/assets/reset.css | 161 ++++++++++++++++++ frontend/src/components/InputBlock.jsx | 17 +- .../components/componentsCss/InfoBlock.css | 5 + frontend/src/index.css | 68 -------- frontend/src/main.jsx | 2 +- 7 files changed, 183 insertions(+), 120 deletions(-) delete mode 100644 frontend/src/App.css create mode 100644 frontend/src/assets/reset.css delete mode 100644 frontend/src/index.css diff --git a/frontend/src/App.css b/frontend/src/App.css deleted file mode 100644 index b9d355d..0000000 --- a/frontend/src/App.css +++ /dev/null @@ -1,42 +0,0 @@ -#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/frontend/src/App.jsx b/frontend/src/App.jsx index d535b0e..f2c29bc 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -7,7 +7,13 @@ function App() { return ( <>
- + { +const InputBlock = ({ inputs }) => { return (
- - - + {inputs.map((input, index) => ( + + ))}
); }; diff --git a/frontend/src/components/componentsCss/InfoBlock.css b/frontend/src/components/componentsCss/InfoBlock.css index cc36177..73b7438 100644 --- a/frontend/src/components/componentsCss/InfoBlock.css +++ b/frontend/src/components/componentsCss/InfoBlock.css @@ -7,4 +7,9 @@ font-weight: 400; font-size: 16px; font-family: "Noto Sans KR", sans-serif; + border: 1px var(--background-black) solid; + padding: 10px; +} +.inputTag:focus { + border: 1px var(--main-green) solid; } diff --git a/frontend/src/index.css b/frontend/src/index.css deleted file mode 100644 index 08a3ac9..0000000 --- a/frontend/src/index.css +++ /dev/null @@ -1,68 +0,0 @@ -:root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index bafbc51..ac0c4ce 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,8 +1,8 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; -import "./index.css"; import App from "./App.jsx"; import "./assets/root.css"; +import "./assets/reset.css"; createRoot(document.getElementById("root")).render( From 531ffc2ecbaf032304458673bcc3c86b9b317b5f Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Mon, 5 May 2025 01:22:57 +0900 Subject: [PATCH 02/59] resolve conflict: keep index.css, App.css deleted --- frontend/src/index.css | 70 ------------------------------------------ 1 file changed, 70 deletions(-) delete mode 100644 frontend/src/index.css diff --git a/frontend/src/index.css b/frontend/src/index.css deleted file mode 100644 index 0e256a2..0000000 --- a/frontend/src/index.css +++ /dev/null @@ -1,70 +0,0 @@ -:root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} - - From 906cf8cc2d8a212269465873ee178f562d5d68ba Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Mon, 5 May 2025 20:44:42 +0900 Subject: [PATCH 03/59] [feat]add Assignment, deposit, Home, Login page/Initial setup: routing with react-router-dom --- frontend/src/App.jsx | 36 ++++----- frontend/src/Assignment.jsx | 9 +++ frontend/src/Deposit.jsx | 9 +++ frontend/src/Home.jsx | 26 +++++++ frontend/src/Login.jsx | 14 ++++ frontend/src/assets/img/home.svg | 9 +++ frontend/src/main.jsx | 5 +- frontend/yarn.lock | 126 +++++++++++++++---------------- 8 files changed, 146 insertions(+), 88 deletions(-) create mode 100644 frontend/src/Assignment.jsx create mode 100644 frontend/src/Deposit.jsx create mode 100644 frontend/src/Home.jsx create mode 100644 frontend/src/Login.jsx create mode 100644 frontend/src/assets/img/home.svg diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 533a5f5..8c8abc6 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,30 +1,20 @@ import React from "react"; -import InputBlock from "./components/InputBlock"; -import InfoBlock from "./components/InfoBlock"; -import PageBtn from "./components/PageBtn"; -import Header from "./components/Header"; +import { BrowserRouter, Routes, Route } from "react-router-dom"; +import Login from "./Login"; +import Home from "./Home"; +import Assignment from "./Assignment"; +import Deposit from "./Deposit"; function App() { return ( - <> -
-
- - - -
- + + + } /> + } /> + } /> + } /> + + ); } diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx new file mode 100644 index 0000000..581f00a --- /dev/null +++ b/frontend/src/Assignment.jsx @@ -0,0 +1,9 @@ +const Assignment = () => { + return ( +
+

Assignment

+

This is the assignment page.

+
+ ); +}; +export default Assignment; diff --git a/frontend/src/Deposit.jsx b/frontend/src/Deposit.jsx new file mode 100644 index 0000000..295c538 --- /dev/null +++ b/frontend/src/Deposit.jsx @@ -0,0 +1,9 @@ +const Deposit = () => { + return ( +
+

Deposit Page

+

This is the deposit page.

+
+ ); +}; +export default Deposit; diff --git a/frontend/src/Home.jsx b/frontend/src/Home.jsx new file mode 100644 index 0000000..db58368 --- /dev/null +++ b/frontend/src/Home.jsx @@ -0,0 +1,26 @@ +import React, { useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +import homeLogo from "./assets/img/home.svg"; + +const Home = () => { + const navigate = useNavigate(); + + useEffect(() => { + const timer = setTimeout(() => { + navigate("/login"); + }, 2000); + + return () => clearTimeout(timer); + }, [navigate]); + + return ( +
+
+

PIROCHECK

+ PiroCheck Logo +
+
+ ); +}; + +export default Home; diff --git a/frontend/src/Login.jsx b/frontend/src/Login.jsx new file mode 100644 index 0000000..06d3ddb --- /dev/null +++ b/frontend/src/Login.jsx @@ -0,0 +1,14 @@ +import React from "react"; + +const Login = ({ onLogin }) => { + return ( +
+

로그인 페이지

+ + + +
+ ); +}; + +export default Login; diff --git a/frontend/src/assets/img/home.svg b/frontend/src/assets/img/home.svg new file mode 100644 index 0000000..9b5895e --- /dev/null +++ b/frontend/src/assets/img/home.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index f6015f1..0b2945d 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -3,9 +3,10 @@ import App from "./App.jsx"; import "./assets/root.css"; import { BrowserRouter } from "react-router-dom"; import "./assets/reset.css"; +import { StrictMode } from "react"; createRoot(document.getElementById("root")).render( - + - + ); diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 736512a..9b621ab 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -24,7 +24,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz" integrity sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.26.10": +"@babel/core@^7.26.10": version "7.27.1" resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz" integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== @@ -165,22 +165,22 @@ "@esbuild/aix-ppc64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz#014180d9a149cffd95aaeead37179433f5ea5437" integrity sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ== -"@esbuild/android-arm@0.25.3": - version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz" - integrity sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== - "@esbuild/android-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz#649e47e04ddb24a27dc05c395724bc5f4c55cbfe" integrity sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ== +"@esbuild/android-arm@0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.3.tgz#8a0f719c8dc28a4a6567ef7328c36ea85f568ff4" + integrity sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== + "@esbuild/android-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.3.tgz#e2ab182d1fd06da9bef0784a13c28a7602d78009" integrity sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ== "@esbuild/darwin-arm64@0.25.3": @@ -190,102 +190,102 @@ "@esbuild/darwin-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz#d8c5342ec1a4bf4b1915643dfe031ba4b173a87a" integrity sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A== "@esbuild/freebsd-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz#9f7d789e2eb7747d4868817417cc968ffa84f35b" integrity sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw== "@esbuild/freebsd-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz#8ad35c51d084184a8e9e76bb4356e95350a64709" integrity sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q== -"@esbuild/linux-arm@0.25.3": - version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz" - integrity sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== - "@esbuild/linux-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz#3af0da3d9186092a9edd4e28fa342f57d9e3cd30" integrity sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A== +"@esbuild/linux-arm@0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz#e91cafa95e4474b3ae3d54da12e006b782e57225" + integrity sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== + "@esbuild/linux-ia32@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz#81025732d85b68ee510161b94acdf7e3007ea177" integrity sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw== "@esbuild/linux-loong64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz#3c744e4c8d5e1148cbe60a71a11b58ed8ee5deb8" integrity sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g== "@esbuild/linux-mips64el@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz#1dfe2a5d63702db9034cc6b10b3087cc0424ec26" integrity sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag== "@esbuild/linux-ppc64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz#2e85d9764c04a1ebb346dc0813ea05952c9a5c56" integrity sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg== "@esbuild/linux-riscv64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz#a9ea3334556b09f85ccbfead58c803d305092415" integrity sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA== "@esbuild/linux-s390x@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz#f6a7cb67969222b200974de58f105dfe8e99448d" integrity sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ== "@esbuild/linux-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz#a237d3578ecdd184a3066b1f425e314ade0f8033" integrity sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA== "@esbuild/netbsd-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz#4c15c68d8149614ddb6a56f9c85ae62ccca08259" integrity sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA== "@esbuild/netbsd-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz#12f6856f8c54c2d7d0a8a64a9711c01a743878d5" integrity sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g== "@esbuild/openbsd-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz#ca078dad4a34df192c60233b058db2ca3d94bc5c" integrity sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ== "@esbuild/openbsd-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz#c9178adb60e140e03a881d0791248489c79f95b2" integrity sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w== "@esbuild/sunos-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz#03765eb6d4214ff27e5230af779e80790d1ee09f" integrity sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA== "@esbuild/win32-arm64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz#f1c867bd1730a9b8dfc461785ec6462e349411ea" integrity sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ== "@esbuild/win32-ia32@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz#77491f59ef6c9ddf41df70670d5678beb3acc322" integrity sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew== "@esbuild/win32-x64@0.25.3": version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz#b17a2171f9074df9e91bfb07ef99a892ac06412a" integrity sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== "@eslint-community/eslint-utils@^4.2.0": @@ -336,7 +336,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^9.22.0", "@eslint/js@9.25.1": +"@eslint/js@9.25.1", "@eslint/js@^9.22.0": version "9.25.1" resolved "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz" integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== @@ -416,12 +416,12 @@ "@rollup/rollup-android-arm-eabi@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz#e1562d360bca73c7bef6feef86098de3a2f1d442" integrity sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw== "@rollup/rollup-android-arm64@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz#37ba63940211673e15dcc5f469a78e34276dbca7" integrity sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw== "@rollup/rollup-darwin-arm64@4.40.1": @@ -431,87 +431,87 @@ "@rollup/rollup-darwin-x64@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz#5e22dab3232b1e575d930ce891abb18fe19c58c9" integrity sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw== "@rollup/rollup-freebsd-arm64@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz#04c892d9ff864d66e31419634726ab0bebb33707" integrity sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw== "@rollup/rollup-freebsd-x64@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz#f4b1e091f7cf5afc9e3a029d70128ad56409ecfb" integrity sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q== "@rollup/rollup-linux-arm-gnueabihf@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz#c8814bb5ce047a81b1fe4a33628dfd4ac52bd864" integrity sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg== "@rollup/rollup-linux-arm-musleabihf@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz#5b4e7bd83cbebbf5ffe958802dcfd4ee34bf73a3" integrity sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg== "@rollup/rollup-linux-arm64-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz#141c848e53cee011e82a11777b8a51f1b3e8d77c" integrity sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg== "@rollup/rollup-linux-arm64-musl@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz#22ebeaf2fa301aa4aa6c84b760e6cd1d1ac7eb1e" integrity sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ== "@rollup/rollup-linux-loongarch64-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz#20b77dc78e622f5814ff8e90c14c938ceb8043bc" integrity sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ== "@rollup/rollup-linux-powerpc64le-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz#2c90f99c987ef1198d4f8d15d754c286e1f07b13" integrity sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg== "@rollup/rollup-linux-riscv64-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz#9336fd5e47d7f4760d02aa85f76976176eef53ca" integrity sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ== "@rollup/rollup-linux-riscv64-musl@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz#d75b4d54d46439bb5c6c13762788f57e798f5670" integrity sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA== "@rollup/rollup-linux-s390x-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz#e9f09b802f1291839247399028beaef9ce034c81" integrity sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg== "@rollup/rollup-linux-x64-gnu@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz#0413169dc00470667dea8575c1129d4e7a73eb29" integrity sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ== "@rollup/rollup-linux-x64-musl@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz#c76fd593323c60ea219439a00da6c6d33ffd0ea6" integrity sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ== "@rollup/rollup-win32-arm64-msvc@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz#c7724c386eed0bda5ae7143e4081c1910cab349b" integrity sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg== "@rollup/rollup-win32-ia32-msvc@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz#7749e1b65cb64fe6d41ad1ad9e970a0ccc8ac350" integrity sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA== "@rollup/rollup-win32-x64-msvc@4.40.1": version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz#8078b71fe0d5825dcbf83d52a7dc858b39da165c" integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== "@types/babel__core@^7.20.5": @@ -547,7 +547,7 @@ dependencies: "@babel/types" "^7.20.7" -"@types/estree@^1.0.6", "@types/estree@1.0.7": +"@types/estree@1.0.7", "@types/estree@^1.0.6": version "1.0.7" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz" integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== @@ -562,7 +562,7 @@ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz" integrity sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg== -"@types/react@^19.0.0", "@types/react@^19.0.10": +"@types/react@^19.0.10": version "19.1.2" resolved "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz" integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw== @@ -585,7 +585,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0: +acorn@^8.14.0: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -625,7 +625,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -browserslist@^4.24.0, "browserslist@>= 4.21.0": +browserslist@^4.24.0: version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -780,7 +780,7 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^9.22.0, eslint@>=8.40: +eslint@^9.22.0: version "9.25.1" resolved "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz" integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== @@ -1125,7 +1125,7 @@ picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -"picomatch@^3 || ^4", picomatch@^4.0.2: +picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -1149,7 +1149,7 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -react-dom@^19.0.0, react-dom@>=18: +react-dom@^19.0.0: version "19.1.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz" integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== @@ -1163,7 +1163,7 @@ react-refresh@^0.17.0: react-router-dom@^7.5.3: version "7.5.3" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.3.tgz" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.5.3.tgz#496e9f6d90f731703c7772668b41747028e0a2d5" integrity sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A== dependencies: react-router "7.5.3" @@ -1177,7 +1177,7 @@ react-router@7.5.3: set-cookie-parser "^2.6.0" turbo-stream "2.4.0" -"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", react@^19.0.0, react@^19.1.0, react@>=18: +react@^19.0.0: version "19.1.0" resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== @@ -1295,7 +1295,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -"vite@^4.2.0 || ^5.0.0 || ^6.0.0", vite@^6.3.1: +vite@^6.3.1: version "6.3.4" resolved "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz" integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw== From 07a1ca2444e8e51a89fdd5f25ef4f583d871a755 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Mon, 5 May 2025 21:22:43 +0900 Subject: [PATCH 04/59] [feat]intro page --- frontend/src/App.jsx | 4 +++- frontend/src/Home.jsx | 21 ++------------------- frontend/src/Home.module.css | 0 frontend/src/Intro.jsx | 25 +++++++++++++++++++++++++ frontend/src/Intro.module.css | 21 +++++++++++++++++++++ 5 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 frontend/src/Home.module.css create mode 100644 frontend/src/Intro.jsx create mode 100644 frontend/src/Intro.module.css diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 8c8abc6..b168902 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -4,13 +4,15 @@ import Login from "./Login"; import Home from "./Home"; import Assignment from "./Assignment"; import Deposit from "./Deposit"; +import Intro from "./Intro"; function App() { return ( - } /> + } /> } /> + } /> } /> } /> diff --git a/frontend/src/Home.jsx b/frontend/src/Home.jsx index db58368..8ac2af7 100644 --- a/frontend/src/Home.jsx +++ b/frontend/src/Home.jsx @@ -1,26 +1,9 @@ import React, { useEffect } from "react"; import { useNavigate } from "react-router-dom"; -import homeLogo from "./assets/img/home.svg"; +import styles from "./Home.module.css"; const Home = () => { - const navigate = useNavigate(); - - useEffect(() => { - const timer = setTimeout(() => { - navigate("/login"); - }, 2000); - - return () => clearTimeout(timer); - }, [navigate]); - - return ( -
-
-

PIROCHECK

- PiroCheck Logo -
-
- ); + return
; }; export default Home; diff --git a/frontend/src/Home.module.css b/frontend/src/Home.module.css new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/Intro.jsx b/frontend/src/Intro.jsx new file mode 100644 index 0000000..0419c6a --- /dev/null +++ b/frontend/src/Intro.jsx @@ -0,0 +1,25 @@ +import React, { useEffect } from "react"; +import { useNavigate } from "react-router-dom"; +import styles from "./Intro.module.css"; + +const Intro = () => { + const navigate = useNavigate(); + + useEffect(() => { + const timer = setTimeout(() => { + navigate("/login"); + }, 2000); + + return () => clearTimeout(timer); + }, [navigate]); + + return ( +
+
+

PIROCHECK

+
+
+ ); +}; + +export default Intro; diff --git a/frontend/src/Intro.module.css b/frontend/src/Intro.module.css new file mode 100644 index 0000000..1344aaa --- /dev/null +++ b/frontend/src/Intro.module.css @@ -0,0 +1,21 @@ +.intro { + background-image: url("./assets/img/home.svg"); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; +} +.pirocheck { + font-size: 1.25rem; + transform: scaleX(1.5); +} +.intro_container { + background-color: var(--background-black); + color: var(--main-green); + font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; + padding: 1rem; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} From ecee2f31dc5f616d371519b3bdca30f4bc665e85 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Tue, 6 May 2025 01:14:34 +0900 Subject: [PATCH 05/59] =?UTF-8?q?[feat]=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/Admin.jsx | 9 ++ frontend/src/App.jsx | 2 + frontend/src/Login.jsx | 96 +++++++++++++++++-- frontend/src/Login.module.css | 44 +++++++++ frontend/src/assets/root.css | 2 +- frontend/src/components/InputBlock.jsx | 7 +- .../components/componentsCss/InfoBlock.css | 7 ++ frontend/vite.config.js | 16 +++- 8 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 frontend/src/Admin.jsx create mode 100644 frontend/src/Login.module.css diff --git a/frontend/src/Admin.jsx b/frontend/src/Admin.jsx new file mode 100644 index 0000000..1eb01d0 --- /dev/null +++ b/frontend/src/Admin.jsx @@ -0,0 +1,9 @@ +const Admin = () => { + return ( +
+

Admin Page

+

This is the admin page.

+
+ ); +}; +export default Admin; diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index b168902..a8edf28 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -5,6 +5,7 @@ import Home from "./Home"; import Assignment from "./Assignment"; import Deposit from "./Deposit"; import Intro from "./Intro"; +import Admin from "./Admin"; function App() { return ( @@ -15,6 +16,7 @@ function App() { } /> } /> } /> + } />
); diff --git a/frontend/src/Login.jsx b/frontend/src/Login.jsx index 06d3ddb..166e8a9 100644 --- a/frontend/src/Login.jsx +++ b/frontend/src/Login.jsx @@ -1,14 +1,96 @@ import React from "react"; +import { useState } from "react"; +import InputBlock from "./components/InputBlock"; +import { useNavigate } from "react-router-dom"; +import styles from "./Login.module.css"; + +const Login = () => { + const [name, setName] = useState(""); + const [password, setPassword] = useState(""); + const [responseMessage, setResponseMessage] = useState(""); + + const navigate = useNavigate(); + + const handleChange = (index, value) => { + if (index === 0) setName(value); + else if (index === 1) setPassword(value); + }; + + const handleLogin = async () => { + try { + const res = await fetch("/api/login", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + credentials: "include", + body: JSON.stringify({ name, password }), + }); + + if (!res.ok) { + const data = await res.json(); + + if (res.status === 401) { + setResponseMessage( + data?.message || "이름 또는 비밀번호를 다시 확인해주세요." + ); + } else { + setResponseMessage( + data?.message || + "알 수 없는 오류가 발생했습니다. 다시 시도해주세요." + ); + } + + return; + } + + const data = await res.json(); // { id, name, role } + + localStorage.setItem("user", JSON.stringify(data)); + + if (data.role === "ADMIN") { + navigate("/admin"); + } else if (data.role === "MEMBER") { + navigate("/home"); + } else { + setResponseMessage("알 수 없는 사용자 유형입니다."); + } + } catch (error) { + console.error(error); + setResponseMessage("서버 연결에 실패했습니다. 다시 시도해주세요."); + } + }; -const Login = ({ onLogin }) => { return ( -
-

로그인 페이지

- - - +
+
+

PIROCHECK

+ + +
+ {responseMessage} +
+ +
); }; - export default Login; diff --git a/frontend/src/Login.module.css b/frontend/src/Login.module.css new file mode 100644 index 0000000..ece282e --- /dev/null +++ b/frontend/src/Login.module.css @@ -0,0 +1,44 @@ +.login { + height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} +.pirocheck { + font-size: 1.25rem; + transform: scaleX(1.5); + margin-bottom: 65px; +} +.login_container { + background-color: var(--background-black); + color: var(--main-green); + font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; + padding: 1rem; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} +.button { + background-color: var(--main-green); + color: white; + width: 309px; + height: 47px; + border-radius: 14px; + margin-top: 15px; + font-size: 16px; +} +button:disabled { + opacity: 0.6; + cursor: default; +} +.errorWrapper { + width: 309px; + display: flex; + justify-content: flex-start; + margin-left: 8px; +} +.errormessage { + font-family: "Noto Sans", sans-serif; + color: #ff5858; + font-size: 10px; + margin-top: 10px; +} diff --git a/frontend/src/assets/root.css b/frontend/src/assets/root.css index 03f70a6..0b747e1 100644 --- a/frontend/src/assets/root.css +++ b/frontend/src/assets/root.css @@ -17,7 +17,7 @@ --fill-gray: #d9d9d9; --warn-red: #ff5858; --text-white: #ffffff; - --border-gray: #c7c7c7; + --border-gray: rgba(204, 204, 204, 0.4); } .noto-sans-kr-context { font-family: "Noto Sans KR", sans-serif; diff --git a/frontend/src/components/InputBlock.jsx b/frontend/src/components/InputBlock.jsx index 18acb60..a6ff2d4 100644 --- a/frontend/src/components/InputBlock.jsx +++ b/frontend/src/components/InputBlock.jsx @@ -1,15 +1,16 @@ import React from "react"; import "./componentsCss/InfoBlock.css"; -const InputBlock = ({ inputs }) => { +const InputBlock = ({ inputs, onChange }) => { return ( -
+
{inputs.map((input, index) => ( onChange && onChange(index, e.target.value)} /> ))}
diff --git a/frontend/src/components/componentsCss/InfoBlock.css b/frontend/src/components/componentsCss/InfoBlock.css index 73b7438..82aa409 100644 --- a/frontend/src/components/componentsCss/InfoBlock.css +++ b/frontend/src/components/componentsCss/InfoBlock.css @@ -9,7 +9,14 @@ font-family: "Noto Sans KR", sans-serif; border: 1px var(--background-black) solid; padding: 10px; + margin-top: 11px; } .inputTag:focus { border: 1px var(--main-green) solid; } +.inputBlock { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 8b0f57b..6b46dee 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -1,7 +1,15 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; -// https://vite.dev/config/ +// https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], -}) + server: { + proxy: { + "/api": { + target: "http://localhost:8080", + changeOrigin: true, + }, + }, + }, +}); From 48e32345b2a12c10c920a8e276f2d7dfa7e54be6 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Tue, 6 May 2025 01:27:51 +0900 Subject: [PATCH 06/59] =?UTF-8?q?[refactor]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=20API=20fetch=20=EB=A1=9C=EC=A7=81=20=EB=B6=84=EB=A6=AC=20(api?= =?UTF-8?q?/user.js)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/Login.jsx | 10 ++-------- frontend/src/api/user.js | 0 2 files changed, 2 insertions(+), 8 deletions(-) create mode 100644 frontend/src/api/user.js diff --git a/frontend/src/Login.jsx b/frontend/src/Login.jsx index 166e8a9..e74413a 100644 --- a/frontend/src/Login.jsx +++ b/frontend/src/Login.jsx @@ -3,6 +3,7 @@ import { useState } from "react"; import InputBlock from "./components/InputBlock"; import { useNavigate } from "react-router-dom"; import styles from "./Login.module.css"; +import { loginUser } from "./api/user"; const Login = () => { const [name, setName] = useState(""); @@ -18,14 +19,7 @@ const Login = () => { const handleLogin = async () => { try { - const res = await fetch("/api/login", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - credentials: "include", - body: JSON.stringify({ name, password }), - }); + const res = await loginUser({ name, password }); if (!res.ok) { const data = await res.json(); diff --git a/frontend/src/api/user.js b/frontend/src/api/user.js new file mode 100644 index 0000000..e69de29 From 2ac7f4a7f18d903ac2504512ffcad81e6ec3cdd9 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Tue, 6 May 2025 02:49:03 +0900 Subject: [PATCH 07/59] =?UTF-8?q?[feat]Home=20page=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.jsx | 2 + frontend/src/Attendance.jsx | 9 ++++ frontend/src/Home.jsx | 27 +++++++++- frontend/src/Home.module.css | 49 +++++++++++++++++++ frontend/src/Intro.module.css | 23 +++++++-- frontend/src/Login.module.css | 1 - frontend/src/api/user.js | 14 ++++++ .../src/assets/img/{home.svg => logo.svg} | 2 +- 8 files changed, 118 insertions(+), 9 deletions(-) create mode 100644 frontend/src/Attendance.jsx rename frontend/src/assets/img/{home.svg => logo.svg} (99%) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index a8edf28..db217ff 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -6,6 +6,7 @@ import Assignment from "./Assignment"; import Deposit from "./Deposit"; import Intro from "./Intro"; import Admin from "./Admin"; +import Attendance from "./Attendance"; function App() { return ( @@ -15,6 +16,7 @@ function App() { } /> } /> } /> + } /> } /> } /> diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx new file mode 100644 index 0000000..13dedd9 --- /dev/null +++ b/frontend/src/Attendance.jsx @@ -0,0 +1,9 @@ +const Attendance = () => { + return ( +
+

Attendance

+

Attendance page content goes here.

+
+ ); +}; +export default Attendance; diff --git a/frontend/src/Home.jsx b/frontend/src/Home.jsx index 8ac2af7..d8b1c7c 100644 --- a/frontend/src/Home.jsx +++ b/frontend/src/Home.jsx @@ -1,9 +1,32 @@ -import React, { useEffect } from "react"; +import React from "react"; import { useNavigate } from "react-router-dom"; import styles from "./Home.module.css"; +import logo from "./assets/img/logo.svg"; const Home = () => { - return
; + const navigate = useNavigate(); + return ( +
+
+

PIROCHECK

+ + + 로고 +
+
+ ); }; export default Home; diff --git a/frontend/src/Home.module.css b/frontend/src/Home.module.css index e69de29..4165919 100644 --- a/frontend/src/Home.module.css +++ b/frontend/src/Home.module.css @@ -0,0 +1,49 @@ +.home { + height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + overflow: hidden; +} +.pirocheck { + margin-top: 43px; + font-size: 1.25rem; + transform: scaleX(1.5); + margin-bottom: 103px; +} +.home_container { + background-color: var(--background-black); + color: var(--main-green); + font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} +.button { + width: 309px; + height: 81px; + border-radius: 14px; + background-color: var(--border-gray); + color: var(--text-white); + font-weight: 400; + font-size: 20px; + border: 1px var(--background-black) solid; + padding: 15px; + font-weight: bold; + margin-bottom: 26px; + z-index: 1; +} +.button p { + text-align: start; + transform: scale(1.3, 0.9); + margin-left: 40px; +} +.button:hover { + background-color: var(--card-toggle-green); + color: var(--text-white); +} +.home img { + position: relative; + opacity: 0.8; + top: -92px; + z-index: 0; +} diff --git a/frontend/src/Intro.module.css b/frontend/src/Intro.module.css index 1344aaa..9fc44ae 100644 --- a/frontend/src/Intro.module.css +++ b/frontend/src/Intro.module.css @@ -1,12 +1,24 @@ .intro { - background-image: url("./assets/img/home.svg"); - background-repeat: no-repeat; - background-size: contain; - background-position: center; + width: 390px; + position: relative; height: 100vh; display: flex; justify-content: center; align-items: center; + z-index: 0; + overflow: hidden; +} + +.intro::before { + content: ""; + position: absolute; + inset: 0; + background-image: url("./assets/img/logo.svg"); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + opacity: 0.5; + z-index: -1; } .pirocheck { font-size: 1.25rem; @@ -16,6 +28,7 @@ background-color: var(--background-black); color: var(--main-green); font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; - padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + display: flex; + justify-content: center; } diff --git a/frontend/src/Login.module.css b/frontend/src/Login.module.css index ece282e..6bb5f64 100644 --- a/frontend/src/Login.module.css +++ b/frontend/src/Login.module.css @@ -14,7 +14,6 @@ background-color: var(--background-black); color: var(--main-green); font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; - padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .button { diff --git a/frontend/src/api/user.js b/frontend/src/api/user.js index e69de29..3964bac 100644 --- a/frontend/src/api/user.js +++ b/frontend/src/api/user.js @@ -0,0 +1,14 @@ +export const loginUser = async ({ name, password }) => { + const res = await fetch("/api/login", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + credentials: "include", + body: JSON.stringify({ name, password }), + }); + + return res; +}; + +export default loginUser; diff --git a/frontend/src/assets/img/home.svg b/frontend/src/assets/img/logo.svg similarity index 99% rename from frontend/src/assets/img/home.svg rename to frontend/src/assets/img/logo.svg index 9b5895e..62a3683 100644 --- a/frontend/src/assets/img/home.svg +++ b/frontend/src/assets/img/logo.svg @@ -1,5 +1,5 @@ - + From f760f93be7412e975734b511648b4ee516e9ce5e Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Wed, 7 May 2025 14:49:26 +0900 Subject: [PATCH 08/59] [Fix] header component & home page title font --- frontend/src/Assignment.jsx | 45 ++++++++++++++++-- frontend/src/Home.module.css | 9 ++-- .../src/assets/fonts/Akira Expanded Demo.otf | Bin 0 -> 26320 bytes frontend/src/assets/root.css | 15 ++++++ .../componentsCss/DailyOpenBlock.css | 2 +- .../src/components/componentsCss/Header.css | 7 ++- .../componentsCss/WeeklyListBlock.css | 1 + 7 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 frontend/src/assets/fonts/Akira Expanded Demo.otf diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx index 581f00a..24b0150 100644 --- a/frontend/src/Assignment.jsx +++ b/frontend/src/Assignment.jsx @@ -1,9 +1,48 @@ +import React from "react"; +import WeeklyListBlock from "./components/WeeklyListBlock"; +import Header from "./components/Header"; const Assignment = () => { + const weeks = [ + { + label: "2주차 JS개론/웹개론", + details: [ + { + day: "화", + subject: "Git HTML CSS", + tasks: [ + { label: "제로초 인강", status: "done" }, + { label: "깃허브 클론 코딩", status: "progress" }, + ], + }, + { + day: "목", + subject: "Git HTML CSS", + tasks: [ + { label: "제로초 인강", status: "fail" }, + { label: "깃허브 클론 코딩", status: "progress" }, + ], + }, + ], + }, + { + label: "3주차 JS개론/웹개론", + details: [ + { + day: "화", + subject: "Git HTML CSS", + tasks: [], + }, + ], + }, + ]; + return ( -
-

Assignment

-

This is the assignment page.

+ +
+
+
); }; + export default Assignment; diff --git a/frontend/src/Home.module.css b/frontend/src/Home.module.css index 4165919..9cdf1de 100644 --- a/frontend/src/Home.module.css +++ b/frontend/src/Home.module.css @@ -5,11 +5,11 @@ align-items: center; justify-content: flex-start; overflow: hidden; + font-family: 'Akira Expanded'; } .pirocheck { margin-top: 43px; font-size: 1.25rem; - transform: scaleX(1.5); margin-bottom: 103px; } .home_container { @@ -21,11 +21,12 @@ .button { width: 309px; height: 81px; - border-radius: 14px; + border-radius: 8px; background-color: var(--border-gray); color: var(--text-white); + font-family: 'Akira Expanded'; font-weight: 400; - font-size: 20px; + font-size: 16px; border: 1px var(--background-black) solid; padding: 15px; font-weight: bold; @@ -34,8 +35,6 @@ } .button p { text-align: start; - transform: scale(1.3, 0.9); - margin-left: 40px; } .button:hover { background-color: var(--card-toggle-green); diff --git a/frontend/src/assets/fonts/Akira Expanded Demo.otf b/frontend/src/assets/fonts/Akira Expanded Demo.otf new file mode 100644 index 0000000000000000000000000000000000000000..c75fdb37ecc06afa3fe17248e1f742e07c43f36c GIT binary patch literal 26320 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/root.css b/frontend/src/assets/root.css index b98cab1..a01e08f 100644 --- a/frontend/src/assets/root.css +++ b/frontend/src/assets/root.css @@ -30,4 +30,19 @@ .inter{ font-family: "Inter", sans-serif; +} + +@font-face { + font-family: 'Akira Expanded'; + src: url('../assets/fonts/Akira Expanded Demo.otf') format('truetype'); +} + +body{ + height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + overflow: hidden; + background-color: #000000; } \ No newline at end of file diff --git a/frontend/src/components/componentsCss/DailyOpenBlock.css b/frontend/src/components/componentsCss/DailyOpenBlock.css index fe64020..5a44722 100644 --- a/frontend/src/components/componentsCss/DailyOpenBlock.css +++ b/frontend/src/components/componentsCss/DailyOpenBlock.css @@ -41,7 +41,7 @@ .task-icon { - font-size: 20px; + font-size: 15px; } diff --git a/frontend/src/components/componentsCss/Header.css b/frontend/src/components/componentsCss/Header.css index a679d01..b35be0a 100644 --- a/frontend/src/components/componentsCss/Header.css +++ b/frontend/src/components/componentsCss/Header.css @@ -7,12 +7,17 @@ justify-content: space-between; padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + margin: 10px; } .header-title { - font-size: 1.25rem; + font-size: 18px; font-weight: bold; color: var(--main-green); + white-space: pre-line; + align-items: center; + text-align: center; + font-family: 'Akira Expanded'; } .icon-button { diff --git a/frontend/src/components/componentsCss/WeeklyListBlock.css b/frontend/src/components/componentsCss/WeeklyListBlock.css index 64fd605..6d29b37 100644 --- a/frontend/src/components/componentsCss/WeeklyListBlock.css +++ b/frontend/src/components/componentsCss/WeeklyListBlock.css @@ -9,6 +9,7 @@ .weekly-item{ background-color: #045E07; + border-radius: 8px; } .weekly-button { From 6fa40beab861f4c21f27260748b012b0995ed018 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Wed, 7 May 2025 15:23:17 +0900 Subject: [PATCH 09/59] [Feat] add AssignmentInfoBlock component& create Assignment Check page --- frontend/src/Assignment.jsx | 14 +++++++++ .../src/components/AssignmentInfoBlock.jsx | 16 ++++++++++ .../componentsCss/AssignmentInfoBlock.css | 29 +++++++++++++++++++ .../componentsCss/WeeklyListBlock.css | 3 +- 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/AssignmentInfoBlock.jsx create mode 100644 frontend/src/components/componentsCss/AssignmentInfoBlock.css diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx index 24b0150..eca3012 100644 --- a/frontend/src/Assignment.jsx +++ b/frontend/src/Assignment.jsx @@ -1,6 +1,7 @@ import React from "react"; import WeeklyListBlock from "./components/WeeklyListBlock"; import Header from "./components/Header"; +import AssignmentInfoBlock from "./components/AssignmentInfoBlock"; const Assignment = () => { const weeks = [ { @@ -36,10 +37,23 @@ const Assignment = () => { }, ]; +//Assignment-Info-Block(형광 초록색카드 더미데이터) + const cardData = { + weekLabel: "3주차", + day: "화", + tasks: [ + { label: "Django girls 과제" }, + { label: "Django girls 과제" }, + ], + }; + return (
+
+ +
); diff --git a/frontend/src/components/AssignmentInfoBlock.jsx b/frontend/src/components/AssignmentInfoBlock.jsx new file mode 100644 index 0000000..4fe77b1 --- /dev/null +++ b/frontend/src/components/AssignmentInfoBlock.jsx @@ -0,0 +1,16 @@ +import React from "react"; +import "./componentsCss/AssignmentInfoBlock.css" + +const AssignmentInfoBlock = ({ weekLabel, day, tasks }) => { + return ( +
+

{weekLabel} ({day})

+
    + {tasks.map((task, idx) => ( +
  • {task.label}
  • + ))} +
+
+ ); +}; +export default AssignmentInfoBlock; \ No newline at end of file diff --git a/frontend/src/components/componentsCss/AssignmentInfoBlock.css b/frontend/src/components/componentsCss/AssignmentInfoBlock.css new file mode 100644 index 0000000..ead854f --- /dev/null +++ b/frontend/src/components/componentsCss/AssignmentInfoBlock.css @@ -0,0 +1,29 @@ +.assignment-info-block { + background-color: var(--main-green); + padding: 16px; + margin: 12px auto; + border-radius: 10px; + max-width: 350px; + + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); + color: black; + font-family: "Noto Sans KR", sans-serif; +} + +.week-day { + font-weight: bold; + font-size: 18px; + margin-bottom: 12px; +} + +.task-list { + list-style: none; + font-weight: 500; + padding: 0; + margin: 0; +} + +.task-list li { + margin-bottom: 6px; + font-size: 16px; +} \ No newline at end of file diff --git a/frontend/src/components/componentsCss/WeeklyListBlock.css b/frontend/src/components/componentsCss/WeeklyListBlock.css index 6d29b37..4f7970d 100644 --- a/frontend/src/components/componentsCss/WeeklyListBlock.css +++ b/frontend/src/components/componentsCss/WeeklyListBlock.css @@ -3,8 +3,7 @@ flex-direction: column; gap: 12px; font-family: "Inter", sans-serif; - width: 371px; - + width: 350px; } .weekly-item{ From 2cec2c2c0d4568b1c1a3ef1470f488df3dd5a60d Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Wed, 7 May 2025 15:28:43 +0900 Subject: [PATCH 10/59] [Fix] login page title font --- frontend/src/Login.module.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/Login.module.css b/frontend/src/Login.module.css index 6bb5f64..170420b 100644 --- a/frontend/src/Login.module.css +++ b/frontend/src/Login.module.css @@ -7,13 +7,13 @@ } .pirocheck { font-size: 1.25rem; - transform: scaleX(1.5); + transform: scaleX(1.1); margin-bottom: 65px; } .login_container { background-color: var(--background-black); color: var(--main-green); - font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; + font-family: 'Akira Expanded'; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .button { From 67525c962d53c3cf8a4df8cb3931bef385bb04b9 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Wed, 7 May 2025 18:11:32 +0900 Subject: [PATCH 11/59] [feat]deposit page --- frontend/package.json | 1 + frontend/src/App.jsx | 2 +- frontend/src/Deposit.jsx | 43 ++++- frontend/src/Deposit.module.css | 41 +++++ .../src/components/componentsCss/Header.css | 7 +- frontend/yarn.lock | 160 ++++++++++++++++++ 6 files changed, 247 insertions(+), 7 deletions(-) create mode 100644 frontend/src/Deposit.module.css diff --git a/frontend/package.json b/frontend/package.json index 261de3d..aac2c62 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { + "axios": "^1.9.0", "lucide-react": "^0.507.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index b5d2fc4..db217ff 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -24,4 +24,4 @@ function App() { ); } -export default App; \ No newline at end of file +export default App; diff --git a/frontend/src/Deposit.jsx b/frontend/src/Deposit.jsx index 295c538..ce2198c 100644 --- a/frontend/src/Deposit.jsx +++ b/frontend/src/Deposit.jsx @@ -1,8 +1,45 @@ +import Header from "./components/Header"; +import styles from "./Deposit.module.css"; +import axios from "axios"; +import { useEffect, useState } from "react"; + const Deposit = () => { + const [deposit, setDeposit] = useState(null); + useEffect(() => { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + + if (!userId) return; + + axios + .get(`/api/deposit/${userId}`) + .then((res) => setDeposit(res.data)) + .catch((err) => { + alert("보증금 정보를 불러오지 못했습니다."); + }); + }, []); + + if (!deposit) return
loagin...
; + return ( -
-

Deposit Page

-

This is the deposit page.

+
+
+
+ 잔여 보증금 + {deposit.amount}원 +
+
+ 과제 차감 + {deposit.descentAssignment}원 +
+
+ 출석 차감 + {deposit.descentAttendance}원 +
+
+ 보증금 방어권 + {deposit.ascentDefence}원 +
); }; diff --git a/frontend/src/Deposit.module.css b/frontend/src/Deposit.module.css new file mode 100644 index 0000000..3f83c5d --- /dev/null +++ b/frontend/src/Deposit.module.css @@ -0,0 +1,41 @@ +.deposit_container { + width: 390px; + display: flex; + flex-direction: column; + align-items: center; +} +.deposit { + background-color: var(--main-green); + width: 309px; + padding-top: 26px; + padding-bottom: 30px; + display: flex; + flex-direction: column; + align-items: center; + gap: 17px; + border-radius: 9px; + margin-top: 80px; + margin-bottom: 87px; +} +.deposit > span:nth-child(1) { + font-weight: bold; + font-size: 16px; +} +.deposit > span:nth-child(2) { + font-weight: bold; + font-size: 20px; +} +.deposit_detail { + background-color: #575757; + color: white; + border: 1px solid rgba(217, 217, 217, 0.4); + border-radius: 8px; + padding: 12px 20px; + font-size: 15px; + display: flex; + justify-content: space-between; + align-items: center; + width: 309px; + height: 47px; + margin-bottom: 15px; +} diff --git a/frontend/src/components/componentsCss/Header.css b/frontend/src/components/componentsCss/Header.css index b35be0a..1c8b660 100644 --- a/frontend/src/components/componentsCss/Header.css +++ b/frontend/src/components/componentsCss/Header.css @@ -4,6 +4,7 @@ font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; display: flex; align-items: center; + width: 390px; justify-content: space-between; padding: 1rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); @@ -15,9 +16,9 @@ font-weight: bold; color: var(--main-green); white-space: pre-line; - align-items: center; - text-align: center; - font-family: 'Akira Expanded'; + align-items: center; + text-align: center; + font-family: "Akira Expanded"; } .icon-button { diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 9b621ab..16365bc 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -612,6 +612,20 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" + integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -635,6 +649,14 @@ browserslist@^4.24.0: node-releases "^2.0.19" update-browserslist-db "^1.1.1" +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -665,6 +687,13 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -706,11 +735,52 @@ deep-is@^0.1.3: resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + electron-to-chromium@^1.5.73: version "1.5.148" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz" integrity sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A== +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + esbuild@^0.25.0: version "0.25.3" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz" @@ -902,16 +972,60 @@ flatted@^3.2.9: resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz" integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.12" + fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-intrinsic@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" @@ -934,11 +1048,35 @@ globals@^16.0.0: resolved "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz" integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + ignore@^5.2.0: version "5.3.2" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" @@ -1050,6 +1188,23 @@ lucide-react@^0.507.0: resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz" integrity sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -1144,6 +1299,11 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + punycode@^2.1.0: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" From f51993d75c305133098e73ab0abd91f8cb11fd11 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Wed, 7 May 2025 18:30:18 +0900 Subject: [PATCH 12/59] [fix]Assignment page --- frontend/src/Assignment.jsx | 19 +++++++-------- frontend/src/Assignment.module.css | 13 ++++++++++ .../componentsCss/AssignmentInfoBlock.css | 4 ++-- .../componentsCss/WeeklyListBlock.css | 24 +++++++++---------- 4 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 frontend/src/Assignment.module.css diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx index eca3012..bad9e46 100644 --- a/frontend/src/Assignment.jsx +++ b/frontend/src/Assignment.jsx @@ -2,6 +2,8 @@ import React from "react"; import WeeklyListBlock from "./components/WeeklyListBlock"; import Header from "./components/Header"; import AssignmentInfoBlock from "./components/AssignmentInfoBlock"; +import styles from "./Assignment.module.css"; + const Assignment = () => { const weeks = [ { @@ -37,22 +39,19 @@ const Assignment = () => { }, ]; -//Assignment-Info-Block(형광 초록색카드 더미데이터) + //Assignment-Info-Block(형광 초록색카드 더미데이터) const cardData = { weekLabel: "3주차", day: "화", - tasks: [ - { label: "Django girls 과제" }, - { label: "Django girls 과제" }, - ], + tasks: [{ label: "Django girls 과제" }, { label: "Django girls 과제" }], }; return ( - -
- -
- +
+
+
+ +
diff --git a/frontend/src/Assignment.module.css b/frontend/src/Assignment.module.css new file mode 100644 index 0000000..ef95f36 --- /dev/null +++ b/frontend/src/Assignment.module.css @@ -0,0 +1,13 @@ +.info { + margin-top: 28px; + margin-bottom: 54px; +} + +.assignment_page { + background-color: "black"; + min-height: "100vh"; + color: "white"; + display: flex; + flex-direction: column; + align-items: center; +} diff --git a/frontend/src/components/componentsCss/AssignmentInfoBlock.css b/frontend/src/components/componentsCss/AssignmentInfoBlock.css index ead854f..404c79d 100644 --- a/frontend/src/components/componentsCss/AssignmentInfoBlock.css +++ b/frontend/src/components/componentsCss/AssignmentInfoBlock.css @@ -3,7 +3,7 @@ padding: 16px; margin: 12px auto; border-radius: 10px; - max-width: 350px; + width: 309px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); color: black; @@ -26,4 +26,4 @@ .task-list li { margin-bottom: 6px; font-size: 16px; -} \ No newline at end of file +} diff --git a/frontend/src/components/componentsCss/WeeklyListBlock.css b/frontend/src/components/componentsCss/WeeklyListBlock.css index 4f7970d..b7b1bca 100644 --- a/frontend/src/components/componentsCss/WeeklyListBlock.css +++ b/frontend/src/components/componentsCss/WeeklyListBlock.css @@ -3,18 +3,18 @@ flex-direction: column; gap: 12px; font-family: "Inter", sans-serif; - width: 350px; + width: 309px; } -.weekly-item{ - background-color: #045E07; +.weekly-item { + background-color: #045e07; border-radius: 8px; } .weekly-button { background-color: #575757; color: white; - border: 1px solid rgba(217, 217, 217, 0.4); + border: 1px solid rgba(217, 217, 217, 0.4); border-radius: 8px; padding: 12px 20px; font-size: 15px; @@ -26,12 +26,12 @@ cursor: pointer; } -.weekly-button:hover{ - border: 1px solid var(--card-toggle-green) +.weekly-button:hover { + border: 1px solid var(--card-toggle-green); } -.weekly-button.active{ - background-color: #045E07; +.weekly-button.active { + background-color: #045e07; border: none; } @@ -51,14 +51,12 @@ border-radius: 0 0 12px 12px; color: white; font-size: 16px; - } - .detail-item { margin-top: 6px; } -.daily-open-block-wrapper{ - background-color:#045E07; -} \ No newline at end of file +.daily-open-block-wrapper { + background-color: #045e07; +} From f1f7c7a8a63b68fa0f3fd486cf909a397441ea6f Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 20:36:45 +0900 Subject: [PATCH 13/59] Merge frontend into frontend_km and resolve conflict --- frontend/src/components/InputBlock.jsx | 2 +- .../components/componentsCss/{InfoBlock.css => InputBlock.css} | 0 frontend/yarn.lock | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename frontend/src/components/componentsCss/{InfoBlock.css => InputBlock.css} (100%) diff --git a/frontend/src/components/InputBlock.jsx b/frontend/src/components/InputBlock.jsx index 18acb60..63a1607 100644 --- a/frontend/src/components/InputBlock.jsx +++ b/frontend/src/components/InputBlock.jsx @@ -1,5 +1,5 @@ import React from "react"; -import "./componentsCss/InfoBlock.css"; +import "./componentsCss/InputBlock.css"; const InputBlock = ({ inputs }) => { return ( diff --git a/frontend/src/components/componentsCss/InfoBlock.css b/frontend/src/components/componentsCss/InputBlock.css similarity index 100% rename from frontend/src/components/componentsCss/InfoBlock.css rename to frontend/src/components/componentsCss/InputBlock.css diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 736512a..57037e2 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1047,7 +1047,7 @@ lru-cache@^5.1.1: lucide-react@^0.507.0: version "0.507.0" - resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz" + resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.507.0.tgz#d93a75ed130bd530a368fe1dd4ea009ea90a772b" integrity sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ== minimatch@^3.1.2: From e5e75a1801caf4d7c8e2e5862d2331559ae805bb Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 22:27:45 +0900 Subject: [PATCH 14/59] =?UTF-8?q?[add]:=20Attendacne=20page,=20InputBlock?= =?UTF-8?q?=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/Attendance.jsx | 40 ++++++++++++++++++++++++-- frontend/src/Attendance.module.css | 17 +++++++++++ frontend/src/components/Header.jsx | 37 +++++++++++++++--------- frontend/src/components/InputBlock.jsx | 3 +- 4 files changed, 79 insertions(+), 18 deletions(-) create mode 100644 frontend/src/Attendance.module.css diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index 13dedd9..b45887c 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -1,9 +1,43 @@ +import { useState } from "react"; +import Header from "./components/Header"; +import InputBlock from "./components/InputBlock"; +import styles from "./Attendance.module.css"; + const Attendance = () => { + const [attendanceCode, setAttendanceCode] = useState([""]); + const handleChange = (index, value) => { + // 숫자만 입력 허용 + if (/^\d*$/.test(value)) { + const userCodes = [...attendanceCode]; + userCodes[index] = value; + setAttendanceCode(userCodes); + } + }; + const handleSubmit = () => { + console.log("제출된 출석 코드: ", attendanceCode[0]); + // 서버 요청 등 추가 작업 + }; + return ( -
-

Attendance

-

Attendance page content goes here.

+
+
+ + {attendanceCode[0].length === 4 && ( + + )}
); }; + export default Attendance; diff --git a/frontend/src/Attendance.module.css b/frontend/src/Attendance.module.css new file mode 100644 index 0000000..cebb0b5 --- /dev/null +++ b/frontend/src/Attendance.module.css @@ -0,0 +1,17 @@ +.attendance_page { + background-color: "black"; + height: "100vh"; + display: flex; + flex-direction: column; + align-items: center; + position: relative; +} +.submitBtn { + background-color: #ffffff; + opacity: 42%; + border-radius: 10px; + position: absolute; + top: 109px; + right: 63px; + padding: 7px; +} diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx index 3b9d2a0..c9ec60e 100644 --- a/frontend/src/components/Header.jsx +++ b/frontend/src/components/Header.jsx @@ -1,35 +1,44 @@ -import React from 'react'; -import { useNavigate, useLocation } from 'react-router-dom'; -import { ArrowLeft, Wallet } from 'lucide-react'; -import './componentsCss/Header.css'; -import arrowIcon from '../assets/img/arrowicon.svg'; -import moneyIcon from '../assets/img/moneyicon.svg'; +import React from "react"; +import { useNavigate, useLocation } from "react-router-dom"; +import { ArrowLeft, Wallet } from "lucide-react"; +import "./componentsCss/Header.css"; +import arrowIcon from "../assets/img/arrowicon.svg"; +import moneyIcon from "../assets/img/moneyicon.svg"; const Header = () => { const navigate = useNavigate(); const location = useLocation(); const path = location.pathname; let title = "ATTENDANCE\nCHECK"; - if (path.includes('assignment')) title = "ASSIGNMENT\nCHECK"; - else if (path.includes('deposit')) title = "DEPOSIT"; + if (path.includes("assignment")) title = "ASSIGNMENT\nCHECK"; + else if (path.includes("deposit")) title = "DEPOSIT"; + else if (path.includes("attendance")) title = "ATTENDANCE\nCHECK"; - const showRightButton = !path.includes('deposit'); + const showRightButton = !path.includes("deposit"); return (
-

{title}

{showRightButton ? ( - ) : ( -
// 오른쪽 공백 유지 +
// 오른쪽 공백 유지 )}
); }; -export default Header; \ No newline at end of file +export default Header; diff --git a/frontend/src/components/InputBlock.jsx b/frontend/src/components/InputBlock.jsx index e4d515e..5caf6cc 100644 --- a/frontend/src/components/InputBlock.jsx +++ b/frontend/src/components/InputBlock.jsx @@ -1,7 +1,7 @@ import React from "react"; import "./componentsCss/InputBlock.css"; -const InputBlock = ({ inputs, onChange }) => { +const InputBlock = ({ inputs, onChange, values }) => { return (
{inputs.map((input, index) => ( @@ -10,6 +10,7 @@ const InputBlock = ({ inputs, onChange }) => { className="inputTag" type={input.type} placeholder={input.placeholder} + value={values[index] || ""} onChange={(e) => onChange && onChange(index, e.target.value)} /> ))} From af238d082f71f485cde3af949eade282db4e26f1 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 22:35:22 +0900 Subject: [PATCH 15/59] =?UTF-8?q?[fix]:=20InputBlock=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20values=20=EC=97=86=EB=8A=94=20=EC=98=88?= =?UTF-8?q?=EC=99=B8=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/InputBlock.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/InputBlock.jsx b/frontend/src/components/InputBlock.jsx index 5caf6cc..65ae0ab 100644 --- a/frontend/src/components/InputBlock.jsx +++ b/frontend/src/components/InputBlock.jsx @@ -10,7 +10,7 @@ const InputBlock = ({ inputs, onChange, values }) => { className="inputTag" type={input.type} placeholder={input.placeholder} - value={values[index] || ""} + value={values?.[index] || ""} onChange={(e) => onChange && onChange(index, e.target.value)} /> ))} From dffff68d61755514722a217ac1896b9fe89a3c4e Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 22:55:42 +0900 Subject: [PATCH 16/59] [add]: boom img --- frontend/src/Attendance.jsx | 6 ++++++ frontend/src/assets/img/tabler--boom.svg | 1 + 2 files changed, 7 insertions(+) create mode 100644 frontend/src/assets/img/tabler--boom.svg diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index b45887c..b9ad764 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -36,6 +36,12 @@ const Attendance = () => { Submit )} +
+ + + + +
); }; diff --git a/frontend/src/assets/img/tabler--boom.svg b/frontend/src/assets/img/tabler--boom.svg new file mode 100644 index 0000000..8c6b2eb --- /dev/null +++ b/frontend/src/assets/img/tabler--boom.svg @@ -0,0 +1 @@ + \ No newline at end of file From 29f6ccde471a92409ae9d8061be548a34ebcb5fc Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 22:58:42 +0900 Subject: [PATCH 17/59] [add]: boom img --- frontend/src/Attendance.jsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index b9ad764..5581dfd 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -36,12 +36,7 @@ const Attendance = () => { Submit )} -
- - - - -
+
); }; From 6bfd0c28c3b8d7cf8872cccce3ddc9fcf837b65d Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 23:23:09 +0900 Subject: [PATCH 18/59] =?UTF-8?q?[add]:=20boom.png=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/public/img/tabler--boom.png | Bin 0 -> 20512 bytes .../{src/assets => public}/img/tabler--boom.svg | 0 frontend/src/Attendance.jsx | 12 +++++++++++- frontend/src/Attendance.module.css | 15 +++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 frontend/public/img/tabler--boom.png rename frontend/{src/assets => public}/img/tabler--boom.svg (100%) diff --git a/frontend/public/img/tabler--boom.png b/frontend/public/img/tabler--boom.png new file mode 100644 index 0000000000000000000000000000000000000000..23126cfb9a890d5f14be5a83f5c636d747e97190 GIT binary patch literal 20512 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 Kb6Mw<&;$S~3^A<$ literal 0 HcmV?d00001 diff --git a/frontend/src/assets/img/tabler--boom.svg b/frontend/public/img/tabler--boom.svg similarity index 100% rename from frontend/src/assets/img/tabler--boom.svg rename to frontend/public/img/tabler--boom.svg diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index 5581dfd..5d256c5 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -36,7 +36,17 @@ const Attendance = () => { Submit )} -
+
+
+ +
+
+ +
+
+ +
+
); }; diff --git a/frontend/src/Attendance.module.css b/frontend/src/Attendance.module.css index cebb0b5..ea7f9d4 100644 --- a/frontend/src/Attendance.module.css +++ b/frontend/src/Attendance.module.css @@ -15,3 +15,18 @@ right: 63px; padding: 7px; } +.attend_img_container { + display: flex; + gap: 22px; + width: 100%; + padding-block: 40px; + justify-content: center; +} +.boom_icon { + width: 70px; + height: 65px; +} +.boom_icon > img { + width: 100%; + height: 100%; +} From 7344416c1a12b18aa815515ab12bc3fdc8e39dce Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Wed, 7 May 2025 23:26:01 +0900 Subject: [PATCH 19/59] =?UTF-8?q?[add]:=20boom=5Ffilled=5Fcolor=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/public/img/boom-filled-green.png | Bin 0 -> 16289 bytes frontend/public/img/boom-filled-red.png | Bin 0 -> 16879 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 frontend/public/img/boom-filled-green.png create mode 100644 frontend/public/img/boom-filled-red.png diff --git a/frontend/public/img/boom-filled-green.png b/frontend/public/img/boom-filled-green.png new file mode 100644 index 0000000000000000000000000000000000000000..6416093059824996f574981553f5705819c56466 GIT binary patch literal 16289 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 A#sB~S literal 0 HcmV?d00001 diff --git a/frontend/public/img/boom-filled-red.png b/frontend/public/img/boom-filled-red.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5bb3b1d467a98c48a0b7990526fe5f0b75af1b GIT binary patch literal 16879 zcmeIaWmuG5*EfF75Dp?R0)hg7bo-XJr^(XDi8yY{=%cl zq13O1p6G10-Mpm12>X_8#x$a%`>PS6)HqExU9fohr5WwZ(~Z!izj4r+1`L(;thaMG zZq#HV272I#h>N^3kfO_M$s6!9_y-uq z{@*W=Qy?HJ+N7A%qz|AV7aG#@sEAYuhWh%U>l*2KI63s?-_7V5QP9PkPYmynK7fI6 z!o=^RFfz~JV7QBR+{o=?e6{V zT{2;G{Kgmt6z>$!Mj@HIF)X#1d_y-L$Kh?pN@=CegBk3nz1W_)_g0oWhh8bIR78yq z0R|+%VwGsL_UhG0_X1XK4tvvK!3sA^xB4RKhcbAUP7=` z&gZFbSWkK;kI8lJL^=t}CcZ-lK3AyVFyaLEQA&k`>^@ol7NGKs$%_~mOb8sc;?x!t zT_u`~p@0lzv+4QUzQbc=(|ypXTC-ESTNgWUPdBEyyG)vuXkc7GquxOA0=vws5=YO{ znz#I$euhc>l-+LoscUUcq|yqwj&?G$y#)%1R=}Z$aKoSS$No`n)nm?zl2HLf*=YmW zX{a$7W#SeS4~OwdI}V3QOjS+D4)Gz`erv=+(M8}1G^znJTc;)l1P#o zASr2gQIdaL{!!rY*r+}&p(}65v7VKIRpquh5Pk{}er9(qo z^qO0bqLPZ4;fNAI^3Tq%O`S2!jU!WsU5I(?{Ra=|%BZhwKO!&Hya4DeP= BCl?m z#le#;PqZxlF<-ulE0wn5WV?ae)ISN1CsP#zX|PJN>cNv|Qld8kU*4cCLP{~+!$!RZ zQgP4)PB7?R4rXSD`})|nN4a509DaIPI%e;=quu=9o%cZWbw-Fz}o zrk3;?7R#H=MIhYyu}bDxckp~^e?5nlVogySrDl>KvpR)3V?UmZH}j>{LOcw-M9mW>V5 z9r(TU|ur3MfgL4?4D5<;=EB0fZCi^gKZ_RPjo31=7 zD`(Q_`F#1saf2h0U?U2*mW(;;ERzKzH$!)`eeF9 zHzo3yHU3Eum)6BoZg>k8IuWAMt2Io0z{xDdTWTkHCZ}lmwmWIdJ7fFjxiP^;h%u*o z>MdoOLwj1=ommg_E5%rNpzaUJ+sU=f?4n)KdM2E<2CclF(lXSP^9EZ~@dvJo`=&rC}k?ts6fg;X4Wtn8mQj5M!6^AR+$rRgDaQw^-@-mR3j8C4; z0(Qir#II0gi%nef!+0N*S5?pKod0upK7Oft{2J9;8g{j|&!-`aWRr)bd)wQ}Zelu+ z;?f$KQh0Ku@oK)7ea+l~cXFLlXAXsvi}>@*_6H%k zd+SW~3`~`j8FU)B^`{<6J@!Yc{&MqEO!ena^oyx*3h@JiWY5N9X1q41>zczHzD+wm zsR@ec+~Y_P4N$%OSHizM?PhI5R-cijmXln8CimW%X@vb(KL;@@zrDL8;5F?onKc<&A)ZH zPXy`FJ``q(kHuII9A4X-tWnE8GF#@mcXY~74+cwh<8m~Sb5%c5SDFmH+ZS$~7gUh# z)n(@|4=h=EP%vAq{cz~V-;|Hp@fNItAfW8OoD}@IzHg?)@w)C^fQQSApr7x3@N_lU zX@S|_zwsIwuA1wYhpgnsijeFT?VoN!0bambrvn;4P&2GbNPpU8+pq6%+A*+FFfd^6 z`g?`-S2A6n604|ohlXN@ptkMp&fcc3g(V=)wHhvL zeC(h|4v=z28neSX&Wc^b5W&!n4$ZbWgMu2wDi!Cq&_38U69%Qq(r8=G)s;!)retd} zZ?RTzMPos1?N3>KsYO+NX#v>br+2+I3Zr>5UVMBUJ56hj6~AQlSxg7o^ZR)&xxe?F zACt8AD>cged0?^N?h#hzchWfx1hKadY!&XAFowU~vt63Cx@f%LC|l8}=&o$@E?#io zD?DxH&gfrDruw7{D*=C5F9DJD%M5CV&Fr*9(%NaMbInejq@F0_>gRbS03zz;V)e3A zgD)XWrwVNakWhli+nDa(^7p=Dcc<$LV@hsRiL_lQEvi|c6>*qRtF>rM5|;EWOYCP7x*1gwl?g=wl?NT*ed=8JV-KbW~ z4pG8D$gYwLnLV+Bb-+bs`R&!&lTS6>`?%+kH-z*Rylu@|8N|CAxWt6}=-`V)zc0>K zRQKC$KIL`^2{ux&C&!3&8&zd6H@f~g9E~aKiz*XQHgw|LFX5vQ{y>W_@_#q5m#EQ- zw7=OU>)DU&vz}`Jf#DU+Q~jk~r|PBDr805B`Jp^oYU{HLRV(%*PMhuSEz%OL?3~4d zJkZ*8>IrtL4W$sGw|s-BS{m}aS951M-`OXHW?{vEsXmxhw@a~gZEfvtlA74c8#?p0 zv{A*k1G%LjAoqs3KMD1^hmPGV=RP=?b+^ngfDuFu%M<^U3+(%NBgfaO0fp4C}m%4Pd zVkCRt*ax;CTrY@!_c^JVRwewa(!#HJ!qnJeaLpi(9!yX7lgg!;*Y8{3SB*5$X&$8+ zT%Td8mlnxnSAGRD1?1Z5JbFYgzc#uzUs|E_huDJIionVH7w3AI>NAGS{&@M-q%oI$ zh=pyqh*D25lj#R@(*pu8`oYj8zWAc@*2R}W$#^d=2G0x;2T!*)XXJ)NzSR77+uK*d z{#>Jo{{3_E_c)1uR5(WwzpkJ(ne@G#rL{ME=Ww_fW*VCDux0(JdL;*6adU$<;itWu z^kCJ<{1lQMfmX&q1-!KzYFkO}hUw?sZz?PkRPy&`#r?498R|tK+p&GjQ~P)-uk_LH zw~;1Svbz2l+Gj7hf=FXOnCNJ95qODTLJGfL&+Hgo#9A==6gF#+e~EY!DV7v|W375> zW>nwsU=<(S=_}5J{VrQ!EpGTBL<|VhZC;_QoVn5OvGnz#B0i6GIO`w3$fhQ>qL!AG z?$AH-h2C3pese8uee{ioNgeE}aYl@~jFs{*IK-@A3OA8FlV~~9HoRe-U#m8r>Pg-v zr4t0BHvcox!E@>Hrnh>WPt}ptT58YztbxQ_^w54!voKjkp(G3y`j23h3Vyw>ec0=; zG{od3MFPLs)>veRc0OUOcS(&VM}vc7OwCF?!eCQu>vwRedQP94>4TAFtl{dH20Hc3zz0F!i&_Q6{&_q1jBzQD3{cSMu1cq>he+ zC21Uwgmpe6>#xs@`Ydj@l{V zbK$Q3difK2(zDM0;N5OM<%C-q1Ggklh!pRL2SLV#)8QU&y{0M@z4Bw4X68z^G5ZErpfzei|nxP|BzaH$DeovaEmJGu#2c+}yTspAtPX=KH5cK#9? zl%CI#+m$hB19SU6UBPdwGG->g@Vy?D9+~0SgFCRxbtMNQot$t1B&mY&C{1NBJX;7z zZx~k{b($7F8nJYb8D8oBBbG%2BX>frF2yI_l!O?_r$Lqym#?o9PB3<_{2U{&_ag08 zOqrq)qC^k3Sg0G5QC@yajP(Wh(%J0OU*_c3q#uv*)OYd$I3^9Rk2nDjz&!40ACeCr~obS;(SI#q-{KUV_|%<$%G{GG^0>V#DF3 zP6Td!)X#hnElsnS*qfR6OI$KbqKa_&J#)iDmw5c+ufeedkWS2wW$P$-C+l&rdi&)h zd^|_4$?PKCQ8mJ)X`Om>2naa%r*xhdzm8Y*)+DVXEAHSN)By$KGG<0VRE|`oizzA~!S*+ur;Xr*yXONA%dY^d+&MGJuRCne)m6h^G3A;rN$vzB5Ewo6 z=sT)_8|2L)`84?T=Jw%1!n%Od+g?z}w!-VQGuBaw@Apk3kp1t02tM}(Sr62;E=~zJ zhL?f*RXRXjAECamq7kMHO30t}uYB%3y}f)iSl??y1p_BH?w9FSy^_3Q%Qogm+`?*+ zUvJcqRn+f(=O@E%raTk|H%a~_vv#(%YJ{4p{FHS$@iURHyongV9`{H&x4OfJuF zj`9}!hgHxhD?kCi5DrlTwYo7gVOHYqwpDoU&P6!7O2zd1cd^xL%4bYa(nA%pp_bw>D6EBy{T#J>$ds)NJFW*`#$Xu7e?j>+zMYD;B{{Ye$@z?MWnSGgg`=R2A(mJ7F)r!27qEKxxp8f0N)Lm zppHvI6Fvz9nx68%?tV5J_ykO+)YZaI-dKD8p&3dkvJy)^0CyOVUr@>~LrNL@a5D-a zf$%PzGro4F5%ySGMsqXRXzNO6RM%;l)L(EOo4HQW!35zt$0yN@<;PYi;*U|kyZG5; z1&Y^^-uEybzxMtG052MNSG6iR>_?WXAE1*H@|~O;YS6fLWAryFx7Kx5MMV!MFx4 z8K}Q4SE6+*{vg143$fhEjBmXA89-4vxZU{yXw!S86h!8%QhJdU6%2%GDP9!0=JN-j zBlDLe%jZ?XpOcVkC-kayWy*y)#szo$i;POR5+#H$Iy3)dS&*=&lzsR{)Z?}`k(Jy0 zF1lyPOF%MRw2nWrFEK7DS-l9yFgLP49y9G^kIWWb5wM?=u%#vwHcE z!|&Hh#2|nL7E6F}oIGK(O_DM`mw9{uq6jj_AFX z-X*`hm=T2n+Zq@O?~k(GM7-&T19{7!j03Je+*0Fjo&WM8&-?Z{$aADlrw`Rm+@_t` z<>+NwSTXWaqN#)bnLEsoM63JT0rg$`@J}R;k!K??1D_usF;h>xhvn%nTw9}nMz{4A zD85aT==4@(m6dr4cFf5zJ$Xe2YzLf}9fOO1DnLoI9gkoRY&y{D+S-ZiuAL@m*NW=+ z2_~L#Ka5+oHQMRzZbukD#MpT6vA@0V{l(*M49*Q+rvZb{ zb|lvgVN!3TM05NbQ+=_;B02#Y&(Ra?+1)&1=DPOpqCToK7CuP@dHJ1CiY?!!|0qn{ zHQ**i2Pn*0jOMOVU`Dvt+#(8%&AW*(VjAk_f@D{Ex)i-u&Kfxe?SpB{CP1sly_Zy5 z_*gM=xv%77nXbA7;FJ*a#QknXHxcMWMMTMHiy|&S7u_5?(Zs{R{Upy`Imz3~^`h($ z!yLu~-Mu>uiiaJt<&>#^1sa7jq&DwKWn$eDTO)^T?|Rjm^o$*AKGG%`M+p$jv4Nc# zXB!h+(LCM+NF#dL>(EijrvXw4CCQxXg-0pw;O)uW8# zV0QA5_6s3%7LId3jJIPpO@tSTy#-W(SAg0KlgK|iv1dIePk|HBi}y8HHaPXY`z1+! zfjDladbPqQES6B5FB1ySAu#twKQ)Vi^zltNM>#T?T_yGxC8iR&DzCKH{7f~8M4SMV zkWX0j)ZT+Rp?OG%8SZz%HdY_^?|ad3Jv;BJ0^s0YeXian!)`(M2KtinW*ON4lr4w>a6N!cbPE+mQv7#$0+W+-(i?v@Q?<7>r ziNZ_s&ry*vSa2SHzYM*4f%-$0yzi6nEeg!qT6I>}PEp$0Z2GOQB=)XS)wIic8r-FD zHnd-W;}(k{gDsc%1CLy}4^E^_ny8<4$@b^0={SAH=>qA*!c8vBIbNj;26-qrnFKyF z&f7=p*LNw)+-*H$k}eio-&p_q;WFu6UWzYO^H%O_jd}_Odza+P#UZq*pOJvU-{|<2 zQ~KxkQZqS7;)lVP%Rx5#no_%Hmfr9@G;MOS-$?Teyv(SCiJIs=5NT*qwdn}6@rB}O zVDgXRhShCaf6kH--#2T3Cv`jqChXEsP3u;Dk*FHqiwG^~?7bUwZhwgd07yzwaQ*$* z#b?yL8y+qa3ZEGu_aVm<0>*||#sUS2-ybwd6dO`_W3di)^NFRsLTT;qsGwpz{O;Yw z9Fvt?PJ<$n;mK5!Cp&UJ%`_G;9#hqXnJs_D5R2Y2+NfHR-BDgx<)oe%AT!AN5R%3W zxgWQMoD~g6f5vMtk<Cu3<&+0btR&xu;(VCKQSnI;*aj zG}nCIL|bk;7AZ+Y(m<|wc#Xw0ZGf|qMduBYH5Ld5FdHCN?!MxkBWiUm|6DB}O_B-e zOhrx$?d3*Kz0s{UEk4Qqx}6M~SmZ1# zI6}p{<1^QMUPe#h=@<5@+^L{GO5hw{w$;YW2g!^PU)F?MoiH*;j?%`9+QmQxR87B% z5&xM5csa8Z%q@9+iu&0oG1Vd`S1Uy(zn4ida(oN9e1lw^mB!Q$KBoGE6HaY}>t*%% zM5wCf***&QExiL(oMu>|m|duvK!IhHZh)R4!a1~b`&O?iRACEw)}-NS=;KRC{IQ_S zwrKcUPY9<*-iacnJ!d8Gbv$!Yp>argl9ryjgIj#dH?rVwWJ8W=rvNMzwuKEbu^+J! z)fB}NKxc%&zfK=K&8Q6ZgM*LjzlR-7OA~)%M(IHE7(xyK_D%$!t%CAbw!Uy2Q~DGM zYz()JJB|Vcm1Fb!t-VW9^ogthh$~}+nwnQ~)G~I{WsXy`tJHA^A<6yC^PSMg=olfQ_Gt9Hk$)%g0P4aNIi}7I1&!Pdcdi z@=jo=l$c#6NQ~X)a|ud&L_N`WPgnZSM=EFt+Cqz~Snbhz(W1kN)+OW_kXEo~3WC!Btw;bQvFPeN_`wM|@B=4Mn-hbsEV#<>2?@4^0{j3BvnQE1 zlxIRYUU&}V^Bl23%<>UFz0Duko{^0A6fF60tceW)`QFb2jlh_weGdh~twv6wYFsDx z-1Sd%ML`bl6#ss_X}Ih>`&)zd7BOsOnvN@1t~7KV8F7%qQp2fx*7tu!cKpv}2Ws<_ z-BufS3UZ9p^zZ5wKZVdx&zbi?A1=>*`0uhCRouw8AAhag964HR!3I22UWa^2>T~NZv~nc! z6viJ@PlRncobUSrmS?66+@H14F8q(>yVMir|KGCLp_o$s(tnrba0l;tmkw3V8#R~l zz*6zAyza4GA~5Vqy#Geh*LkFnPjK|qgqy?pp=9Fr)5JcX&I;Lac=~xiK+gc-Z0qFJ zp7jP$kCwpas6*N*uQlab3$cTBPH1NEXmJF!s&{U9l6#E74Fq-0 z+-VUj3v*P5%cL-@f4q5TdDy5*U63RnyVEYx!&M_5-9;V`6X~H{wm8rY+VJ1J2GNn! zX8L4JqpYWnYpcDQC7{oG!oa<%jdu2b$Y+rZ^xwJ*-5h+t>+j=cc054g{$KLh1G>P3y?!evsaEEpN%BQ(K252`9=>c0LdnHHI>2$<~HvzO*=PixcjX=q@@yN?FxlW^V z?Z5ADQcH}Y_Oxa;AMpm0Y_3~y^%nKS*u3DUfip<(?eLkMfyk}p z|DoE!O!f2s>aJs3vtC{mR>WajwYXW)jYOX)(xol~0LveWEI}Pv2A7GEG__ipyg*8* zUMi0VG1XJu(~+380QP(ml3%l|l(uMaH5Vtzwh>X`KTtKIaK-9XS&9nO|08fF`LIsA zGqTJSu@Ma9Q=*26g_VhE!g0MIYt}P8)bgc59-qrLx#u}E{_9+jg8<04d8Q7#x4(E@ zCJiki1<6)V;baemSJ6gS*O&aIqq+^g@4SCbGIA)u#5o#xW=9$BQ2qdGs7#0+zwV*z zee3t7JGV$I9Z<(%fkCYvsw>VY!f{qsOAHLvS$#R6?cpUB3r`~YxID(~=ib<85#h~s zUH9^r=?Ey18uB{ih%_lf=&8vQ?at;kX23odJ=P!fI6?CSZ2Zo<)e(;)VEIXcb7iXM z=-o&MfL0#Q7%VW4Huju|4l(>}$-@9Su|Y+PG}pwdEM3#j1394_Va3e)2FYH~(fKL_amEGaVe6;Ry9wCESK}6h!DlS1!jXR%TsIcK9C63^Y*j8V`1$RNi zea*Em5l=y#cT;xRIou;qo0KXEIm3$I<)KrquB;nAk?kbbjJF<3YjwH{B=7-T44l;l z&#D78=Rp2bbrEQr-Dmi&o{3jX+Wg4TadpwjupQmhv{gu)^zhE(*=L8qIVyVJdo7n? zO%lrjxmqDIIpL#1B%WB5t9CYPvfY#<6%fOUxC5aD_p#^%mB%2t%JIv|I9!PwESMvO zD6?XCU2I8skWhT2x;H41qy^_5@zKN|=PhM?E(t*q-S`)2a0p~5>!uJbQ4pF;H%DbX zA6-(Lq5~(=DqwIVz+?T$*P;>cJj*kvJscLu3Mhc!!15{v)pi zG7`ja6qz>EAcdYM;%CUSuW)Cs`IJOYd2tQorK^IpRRX_qdG3@FzujL;Bhu$@Qe25B zsS8>Sx!F4A-s4CI^*A4f4~mc}9B<*m5O8G8DN&VoC65M5p5aju%glTJNs#pFX+)gw z56}`;DCqiLZet0pqQ&o71&7^#M?*@{26@I0PcOKq43sq)f>Ihkc46*}BP-(p>BHTZ zSEZ;YDob^R#@mg~fYlt1eI4lEngo|hp#}y#ZqCXt80HHT&sL){MW6ZN9w|S#2vQt+ z{?-RWKW+KppqG8?TF&T3Gbzgk7}m)O>0ebNcp8s)6Z!1E5NIxCrsdP7ygp9~H^?{! z7kute((3`Pd1$#?w|{xC`@xSSh?f*?QudZRX=lY>UV{L#CS%pJa3~snIw^r92*Zox zelOjsIbP;{(kH`ZUGuSU=qHuhsGrIKD&2F#eECD2v@Jt|n;pl2ZPB#y?@Cv_Zz~Hhjha;S*+)AK<_MU>(7c%>1ed|czVfIN~?(i^`%!YzL=()wJ)oH+gk1vG(v_lv8* z0dGc@u{I6<86@eD7((ht z;hY5m&oh_SBhMxQ-4avzWh83kga2QM-xt6hnkJR0)R1+9OZ^%=2@c*qbX*n-sMMqe9C;-ql-L z{3NpMDL(Ek)g|114>Pl{P}uYauX;EwP2GM#;`l1UK?5M8s%m~*FDyj!uKs|8_Rt^_ z638-_sd4|Bj5qnPsnf`^e|PcDqw8e530YJ)_t;dgetBe9uD|+&n{2!hUBZshjTpb8`j9&^`3~HfAWQj zvhV50s-tElVwMQ=*reiCxQ#E*6~)K83PulDUaQu|j#`4bigq{Y?>QWcJt>E67{$Xt$ag`peeR*jAsB3qU zunZ7o>IwtHjsveyb?h()YOa<{KZcuVfMp2nx&eP9&}{A0o_Ot*-tKF#Oy ztf?uCm^AcA;D4`Df{7*;p}@T8aRvtQoW5!i#A4s-V?H_%&`-M@i7vQH$0=7kF1~}1 zzqDtT^(*SyXd|Aayj0H621gx>lS2p2C+|pHU;+blViI7`Kt)WW^BuP%vn^{>CVBwVU|can`=fYjW3*;fXr zQP-0&>`z8NXI6NwCT8;NgnW>0t^h- zp#QS-9^Coh#Y%lU`5>7!N(Et31`{IquAV<$kvmds;f~a}8)$yE|Nd+8I z^xFPz!Y(RE@A@8PxI9FI*Yz(6W5gu!raW_{Wcsgxs-P%f1Z(|rpT{Tj()+n!sKP9t zWIa4wn-gPAMxQ9TbU{cEM!*}E@1=PqefxTkI3~x^H~xBR0Q1$Lh#oG$SW&fWLQg$$ zLSQj8W*RU+WqMNT>LZLdmQJb4xc*cLND4*Icw&Pzun)g~Y9w+%SDw;)4Do7RTv6F7ixv`|0om-W>Bdy)zQw-3%f zt`qRS$HqfoCiqA+b7EwuDa4WvKvT)zu>YLEh$5Km<$gp4hDnbi8qU{MTtO;ojiae2 zKG>EeoAi-mHmqvf!z5crd5Y(C>w&OP+_2*3U}9G}Ybwfz8%mQn$lF-xlng;F5n=g@ht*{EX0+g$q#+QJu&M7Nsy3f zVPF`62-oH-RjJB4c4cqyD8;H&-R%^(xFkgI*sRNuet;^~z#WX`4f)Dbi+}no093Z( zM%iVM!(ns3I?3n{6zaBcTWeZ7lDN zLU0_GTXIT0OZV~b2Fe{D{}ug|*`SwOQJkKUPepE}gUUQylz5FDcn|=$DlaVB{|3iT zmmmNRf11{@n|p7$dQ9uVgB}%_$GOeXMNv8!LAY3YHK%T*&RI)qEU|e&PWs8RFSicT zb9gwVn$}lKWL6IVNE+=g6l8%O1irw=>4J&qf7WlT1Tz;?&d|z_4?UJPe()e;=+B=Z zxdC&&FtK+gI}~>E_R*NbL>zAxv-BR`CVVRE4S5%eZ0l*f(}_%g+UI0pc}@J+kH6h-m-@#;5pcQl9Z^9MG;SxD{xiSmeoum0sC(z`j{|bx ztZsH2Uod`;5{mljTQBQ5sG)21>keosvq&aeF*O%Ma`CO)k!syKdPz3SrcXCD+--h+ zBoBbmb}jOPbeyu{f{OeFFg*59LzTa4eSau&%f`_7bniM(e3Hh9<1g85x4_Ll!)v$9 zQ2Qqg5h>@sE2HT_j~SKyNH{|uzs{^IR{PHxd3`0fkg38#h6j85ehiSW&U{*J{E-I(xKpY*fYNu|KRJE)+t7DRBAoT){{3aaawh_#Spp{* zqPK|0>U0)aX?J5T4~LgI5mae11L^HRNnAsrp)A~Bs-pYmB>IIB8NR*!zy;LOr)LE5I# zEyllj=Jd6X9~=#{ ziNkW>rpt!Z<=I2+(M*=PAaP6)6(}4YQniFk@>c4t6sXOZZ#{@#vV8ZhPAOx~-F=?e zTs=A%W2v-WT6769mK>GMtfvbol8S4fc7J`{A2`je!YcO4Obf zv$x-qnRrQ1F4uj`Nqlw!7|K}$R|vT5;gE0HdWf2{qOu`H9=PwNfse!?)Z`|C#1R5$ zIoT`GCZx-QJA7y3K($-hqcurpR1i;%1%QF^b(K%qx2W3gx9)-8N7pkqS*pYK$nu5` zbRR5yD)<0Wr58UEdjVY2BM^||lV84WzGcAQ%2QhWPgPYRzzd{XuuJOUW5J>Y={`#g zP-oHsPMm-qGPN>g+pcfdcX>SBt~tC^aIW~Q!I|SpXRaZaZq|5JeS?@!qcH~woZuvz z*bMIl<(v5O=b0Wg>)vqvcFE6{bGS6f_m?II9E=CWY|Kf~hOR^u7LHU{x;=fss@+JA zxusOpkqc(|!$EMq5LRdFy~_^5vZcWME8S_napE-tj>H+;cIl_y-aKHaHFBC+Ip`Zu z(^GQ76T-l5j}&!}3LRR1n={EOb2vM+4pWW>&+L4Sl)AARv|zl-fetk7GlEz50aeRX zsr|eMM*bBw#g~Iu{6Jf3#cnRs#vTTU!@t{Drg%TtrWJ$U@iD3{3l$s^?y5G|ISsLh zMD(|=NsPHp8}&{e>AxkSaa~x2r;E&!$OUJe?<3~Hi9=p92aYfAqesj@L*RKZ!vk9> zsoEs5q|K|nwMy+^z(_Ex=EM(bS( z?#A7>mEi`66QyRSN`xK;Fg<-Yo+1!vL=*pNiWSWM*sQu(2(+*7KaaGi(OLGI-(}~?_;?;=C5oddLcD|jT4QKB1f+DRQxTuyI{UEQLkAuTBOU+sptJCH~Aokzh6Aa#C zaKePTiu;}CFMQj67PPwk-7b9?My$$TwrKWIx7BD>?ONfC6wD_{h|f9sJjMY<7|2$| z?Hm?6?=Y2r{y0om>QpYtVf*G}-ML0E6?QeaR|g=G;2O%y)WTB3stxlpt9ECu%xHR6 z^!V@JblMpVcooHA%8IXgT{g;G(3_@zDvbe5l;7s-NFFLZEW2$-?xtx$4mV-MN9-wu z3icdS_b!drt+{EAAK$D|^>`%sT6XzeD3goykE)Sv>DCdOKO3*tKYD%|HXWJmXg9I2 z^m6!QpH}gKI5(yCewmWS|J*nu^+eX3T5v}&Q42vQK_%$BkV1PS@x-)BUXTK6{@GcKR&S0r4 zW+^WNyXWNz8PNyVlT;$vdw9+m7&ko(>c8jcz!Z`6 zODD6yT%QK3FAJ;By+uyKy!0~_md-UWq~9l+#`MFcl6V89r@u$Ek&t*59lE(@z$k>c)3>rp~ApS2O>iE%tL%jupMi*R? zWJ3F-$99|DDh!D8#7&CehT!Ps;!k(VvIacz(3KM{-*E#r_Q2YBR9Hs(R1@9u(5~sv zaKt?RJ~J2d*$MlPJV5uuYi^0$Hsgn1H)Y!xju)i$#v>x69&$?fkna`9r-6vCc!Jqy z0QfQmGE;8baLx_-KZjNe?m2|>t1_vN!0kMBV5Apme*5xCC+y5lBnkwEi+*`@(k=?{ zdGEJk&e<`a74F@Um29JQUG-PX5}4&9^c*>9>g)`eemFPsYyu|#zL!0?^r@*N__o9W zVs(u3wffNIRjjIZXay}4-fjiwF2Lb(YH8|SRj;?P=&+6#Ng9GT5Zn`FkB8}h;0 z?)JDL%(T!VIz5Aft61Utfgg25<$Ws-oqUfX&=aS=nW9Ax#)mJ8ZKsz>?qTPXI+CyD z9LmMD_&%L>uNQaJTrs_<+JfaT7Vb&vb+EH@)Y|)Sg?yR|*ae}hzd!kLz6ndt;jrbq z^_;QQoUz56{4cfo%cgo6>vF2 Date: Wed, 7 May 2025 23:47:24 +0900 Subject: [PATCH 20/59] =?UTF-8?q?public=EA=B5=AC=EC=A1=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/fonts/Akira Expanded Demo.otf | Bin .../{src => public}/assets/img/arrowicon.png | Bin .../{src => public}/assets/img/arrowicon.svg | 0 frontend/{src => public}/assets/img/logo.svg | 0 .../{src => public}/assets/img/moneyicon.png | Bin .../{src => public}/assets/img/moneyicon.svg | 0 .../assets/img/tabler--boom.svg | 0 frontend/src/Home.jsx | 3 +-- frontend/src/components/Header.jsx | 18 +++++++++++++----- frontend/src/main.jsx | 4 ++-- frontend/src/{assets => }/reset.css | 0 frontend/src/{assets => }/root.css | 0 12 files changed, 16 insertions(+), 9 deletions(-) rename frontend/{src => public}/assets/fonts/Akira Expanded Demo.otf (100%) rename frontend/{src => public}/assets/img/arrowicon.png (100%) rename frontend/{src => public}/assets/img/arrowicon.svg (100%) rename frontend/{src => public}/assets/img/logo.svg (100%) rename frontend/{src => public}/assets/img/moneyicon.png (100%) rename frontend/{src => public}/assets/img/moneyicon.svg (100%) rename frontend/{src => public}/assets/img/tabler--boom.svg (100%) rename frontend/src/{assets => }/reset.css (100%) rename frontend/src/{assets => }/root.css (100%) diff --git a/frontend/src/assets/fonts/Akira Expanded Demo.otf b/frontend/public/assets/fonts/Akira Expanded Demo.otf similarity index 100% rename from frontend/src/assets/fonts/Akira Expanded Demo.otf rename to frontend/public/assets/fonts/Akira Expanded Demo.otf diff --git a/frontend/src/assets/img/arrowicon.png b/frontend/public/assets/img/arrowicon.png similarity index 100% rename from frontend/src/assets/img/arrowicon.png rename to frontend/public/assets/img/arrowicon.png diff --git a/frontend/src/assets/img/arrowicon.svg b/frontend/public/assets/img/arrowicon.svg similarity index 100% rename from frontend/src/assets/img/arrowicon.svg rename to frontend/public/assets/img/arrowicon.svg diff --git a/frontend/src/assets/img/logo.svg b/frontend/public/assets/img/logo.svg similarity index 100% rename from frontend/src/assets/img/logo.svg rename to frontend/public/assets/img/logo.svg diff --git a/frontend/src/assets/img/moneyicon.png b/frontend/public/assets/img/moneyicon.png similarity index 100% rename from frontend/src/assets/img/moneyicon.png rename to frontend/public/assets/img/moneyicon.png diff --git a/frontend/src/assets/img/moneyicon.svg b/frontend/public/assets/img/moneyicon.svg similarity index 100% rename from frontend/src/assets/img/moneyicon.svg rename to frontend/public/assets/img/moneyicon.svg diff --git a/frontend/src/assets/img/tabler--boom.svg b/frontend/public/assets/img/tabler--boom.svg similarity index 100% rename from frontend/src/assets/img/tabler--boom.svg rename to frontend/public/assets/img/tabler--boom.svg diff --git a/frontend/src/Home.jsx b/frontend/src/Home.jsx index d8b1c7c..f1fe4fa 100644 --- a/frontend/src/Home.jsx +++ b/frontend/src/Home.jsx @@ -1,7 +1,6 @@ import React from "react"; import { useNavigate } from "react-router-dom"; import styles from "./Home.module.css"; -import logo from "./assets/img/logo.svg"; const Home = () => { const navigate = useNavigate(); @@ -23,7 +22,7 @@ const Home = () => {

ATTENDANCE

CHECK

- 로고 + 로고
); diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx index c9ec60e..4ac3367 100644 --- a/frontend/src/components/Header.jsx +++ b/frontend/src/components/Header.jsx @@ -2,8 +2,6 @@ import React from "react"; import { useNavigate, useLocation } from "react-router-dom"; import { ArrowLeft, Wallet } from "lucide-react"; import "./componentsCss/Header.css"; -import arrowIcon from "../assets/img/arrowicon.svg"; -import moneyIcon from "../assets/img/moneyicon.svg"; const Header = () => { const navigate = useNavigate(); const location = useLocation(); @@ -23,7 +21,12 @@ const Header = () => { onClick={() => navigate(-1)} aria-label="뒤로가기" > - Back + Back

{title}

{showRightButton ? ( @@ -32,10 +35,15 @@ const Header = () => { onClick={() => navigate("/deposit")} aria-label="보증금 페이지 이동" > - Deposit + Deposit ) : ( -
// 오른쪽 공백 유지 +
)}
); diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 0b2945d..1725ce4 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,8 +1,8 @@ import { createRoot } from "react-dom/client"; import App from "./App.jsx"; -import "./assets/root.css"; +import "./root.css"; import { BrowserRouter } from "react-router-dom"; -import "./assets/reset.css"; +import "./reset.css"; import { StrictMode } from "react"; createRoot(document.getElementById("root")).render( diff --git a/frontend/src/assets/reset.css b/frontend/src/reset.css similarity index 100% rename from frontend/src/assets/reset.css rename to frontend/src/reset.css diff --git a/frontend/src/assets/root.css b/frontend/src/root.css similarity index 100% rename from frontend/src/assets/root.css rename to frontend/src/root.css From 1b6272b2b58d9eb4aadd99f26a1c32d638a4ba0c Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Wed, 7 May 2025 23:52:38 +0900 Subject: [PATCH 21/59] [Feat] Connect backend and frontend for Assignment section --- frontend/src/Assignment.jsx | 96 +++++++++++---------- frontend/src/api/assignment.js | 6 ++ frontend/src/components/WeeklyListBlock.jsx | 10 +-- frontend/src/utils/AssignmentStatus.js | 12 +++ 4 files changed, 74 insertions(+), 50 deletions(-) create mode 100644 frontend/src/api/assignment.js create mode 100644 frontend/src/utils/AssignmentStatus.js diff --git a/frontend/src/Assignment.jsx b/frontend/src/Assignment.jsx index bad9e46..6d9789f 100644 --- a/frontend/src/Assignment.jsx +++ b/frontend/src/Assignment.jsx @@ -1,61 +1,67 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; +import axios from "axios"; import WeeklyListBlock from "./components/WeeklyListBlock"; import Header from "./components/Header"; import AssignmentInfoBlock from "./components/AssignmentInfoBlock"; import styles from "./Assignment.module.css"; +import { mapStatus } from "./utils/AssignmentStatus.js"; const Assignment = () => { - const weeks = [ - { - label: "2주차 JS개론/웹개론", - details: [ - { - day: "화", - subject: "Git HTML CSS", - tasks: [ - { label: "제로초 인강", status: "done" }, - { label: "깃허브 클론 코딩", status: "progress" }, - ], - }, - { - day: "목", - subject: "Git HTML CSS", - tasks: [ - { label: "제로초 인강", status: "fail" }, - { label: "깃허브 클론 코딩", status: "progress" }, - ], - }, - ], - }, - { - label: "3주차 JS개론/웹개론", - details: [ - { - day: "화", - subject: "Git HTML CSS", - tasks: [], - }, - ], - }, - ]; - - //Assignment-Info-Block(형광 초록색카드 더미데이터) - const cardData = { - weekLabel: "3주차", - day: "화", - tasks: [{ label: "Django girls 과제" }, { label: "Django girls 과제" }], - }; + const [weeks, setWeeks] = useState([]); + const [highlightCard, setHighlightCard] = useState(null); + + useEffect(() => { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + + if (!userId) return; + + fetchAssignmentsByUser(userId) + .then((weekData) => { + const formatted = weekData.map((weekItem) => ({ + label: `${weekItem.week}주차 ${weekItem.title}`, + details: weekItem.days.map((dayItem) => ({ + day: dayItem.day, + subject: weekItem.title, + tasks: dayItem.details.map((task) => ({ + label: task.assignmentName, + status: mapStatus(task.status), + })), + })), + })); + + setWeeks(formatted); + + // 형광 카드용 하이라이트 카드 추출 (가장 최근 주차 + 첫 요일)=>운영진용 페이지 만든 후 수정필요 + // 운영진이 가장 최근 공개한 과제로. + if (formatted.length > 0 && formatted[0].details.length > 0) { + const first = formatted[0]; + const firstDay = first.details[0]; + + setHighlightCard({ + weekLabel: first.label, + day: firstDay.day, + tasks: firstDay.tasks, + }); + } + }) + .catch(() => { + alert("과제 정보를 불러오지 못했습니다."); + }); + }, []); return (
-
- -
- + {highlightCard && ( +
+ +
+ )}
); }; export default Assignment; + diff --git a/frontend/src/api/assignment.js b/frontend/src/api/assignment.js new file mode 100644 index 0000000..1887f5e --- /dev/null +++ b/frontend/src/api/assignment.js @@ -0,0 +1,6 @@ +import axios from "axios"; + +export const fetchAssignmentsByUser = async (userId) => { + const res = await axios.get(`/api/assignment/${userId}`); + return res.data; +}; diff --git a/frontend/src/components/WeeklyListBlock.jsx b/frontend/src/components/WeeklyListBlock.jsx index 8f8a7ee..52a7b92 100644 --- a/frontend/src/components/WeeklyListBlock.jsx +++ b/frontend/src/components/WeeklyListBlock.jsx @@ -12,7 +12,7 @@ const WeeklyListBlock = ({ weeks }) => { return (
{weeks.map((week, index) => ( -
+
+
+ + + + + +
); }; diff --git a/frontend/src/components/AttendanceWeekInfo.jsx b/frontend/src/components/AttendanceWeekInfo.jsx new file mode 100644 index 0000000..4f80431 --- /dev/null +++ b/frontend/src/components/AttendanceWeekInfo.jsx @@ -0,0 +1,12 @@ +import React from "react"; +import "./componentsCss/AttendanceWeekInfo.css"; + +const AttendanceWeekInfo = ({ week }) => { + return ( +
+

{week}주차

+
+ ); +}; + +export default AttendanceWeekInfo; diff --git a/frontend/src/components/componentsCss/AttendanceWeekInfo.css b/frontend/src/components/componentsCss/AttendanceWeekInfo.css new file mode 100644 index 0000000..23216da --- /dev/null +++ b/frontend/src/components/componentsCss/AttendanceWeekInfo.css @@ -0,0 +1,16 @@ +.eachWeekInfo { + width: 270px; + padding: 14px; + border-radius: 20px; + background-color: #6e6e6e; + border: 1px solid #d9d9d9; + margin-block: 20px; + display: flex; + align-items: center; +} +.weekInfo { + font-weight: 600; + font-size: 15px; + color: #ffffff; + font-family: "Inter", sans-serif; +} From a79c6f6f8e25bd25298ba74a8ae252f7cbb624b9 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Thu, 8 May 2025 00:02:34 +0900 Subject: [PATCH 24/59] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=90=98=EC=A7=80?= =?UTF-8?q?=EB=8A=94=20=EC=95=8A=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/index.html | 2 +- frontend/src/components/Header.jsx | 1 - frontend/src/main.jsx | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index 0c589ec..79c4701 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,4 +1,4 @@ - + diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx index 4ac3367..a4f62b1 100644 --- a/frontend/src/components/Header.jsx +++ b/frontend/src/components/Header.jsx @@ -1,6 +1,5 @@ import React from "react"; import { useNavigate, useLocation } from "react-router-dom"; -import { ArrowLeft, Wallet } from "lucide-react"; import "./componentsCss/Header.css"; const Header = () => { const navigate = useNavigate(); diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 1725ce4..b318f90 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,7 +1,6 @@ import { createRoot } from "react-dom/client"; import App from "./App.jsx"; import "./root.css"; -import { BrowserRouter } from "react-router-dom"; import "./reset.css"; import { StrictMode } from "react"; From 73090890d9cd5bd278df23d1071fe62a8dee6f56 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Thu, 8 May 2025 00:04:32 +0900 Subject: [PATCH 25/59] =?UTF-8?q?[fix]:=20public/img=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/{ => assets}/img/boom-filled-green.png | Bin .../public/{ => assets}/img/boom-filled-red.png | Bin frontend/public/{ => assets}/img/tabler--boom.png | Bin frontend/public/img/tabler--boom.svg | 1 - frontend/src/Attendance.jsx | 6 +++--- frontend/src/Attendance.module.css | 3 +++ 6 files changed, 6 insertions(+), 4 deletions(-) rename frontend/public/{ => assets}/img/boom-filled-green.png (100%) rename frontend/public/{ => assets}/img/boom-filled-red.png (100%) rename frontend/public/{ => assets}/img/tabler--boom.png (100%) delete mode 100644 frontend/public/img/tabler--boom.svg diff --git a/frontend/public/img/boom-filled-green.png b/frontend/public/assets/img/boom-filled-green.png similarity index 100% rename from frontend/public/img/boom-filled-green.png rename to frontend/public/assets/img/boom-filled-green.png diff --git a/frontend/public/img/boom-filled-red.png b/frontend/public/assets/img/boom-filled-red.png similarity index 100% rename from frontend/public/img/boom-filled-red.png rename to frontend/public/assets/img/boom-filled-red.png diff --git a/frontend/public/img/tabler--boom.png b/frontend/public/assets/img/tabler--boom.png similarity index 100% rename from frontend/public/img/tabler--boom.png rename to frontend/public/assets/img/tabler--boom.png diff --git a/frontend/public/img/tabler--boom.svg b/frontend/public/img/tabler--boom.svg deleted file mode 100644 index 8c6b2eb..0000000 --- a/frontend/public/img/tabler--boom.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index 7593b8c..36cff96 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -39,13 +39,13 @@ const Attendance = () => { )}
- +
- +
- +
diff --git a/frontend/src/Attendance.module.css b/frontend/src/Attendance.module.css index ea7f9d4..a6f3852 100644 --- a/frontend/src/Attendance.module.css +++ b/frontend/src/Attendance.module.css @@ -30,3 +30,6 @@ width: 100%; height: 100%; } +.attend_week_container { + margin-top: 20px; +} From 5a06c9dd5390cb91ab5354c9f1771fb2aaa495dd Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Thu, 8 May 2025 00:25:08 +0900 Subject: [PATCH 26/59] =?UTF-8?q?[add]:=20Attendance=20base=20tool=20?= =?UTF-8?q?=EC=99=84=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/public/assets/img/full_coin_green.png | Bin 0 -> 22100 bytes frontend/public/assets/img/one_coin_yellow.png | Bin 0 -> 15784 bytes frontend/public/assets/img/three_out_red.png | Bin 0 -> 18409 bytes frontend/public/assets/img/two_coin_yellow.png | Bin 0 -> 19564 bytes frontend/src/Attendance.jsx | 6 +++--- frontend/src/components/AttendanceWeekInfo.jsx | 9 +++++++++ .../componentsCss/AttendanceWeekInfo.css | 11 ++++++++++- 7 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 frontend/public/assets/img/full_coin_green.png create mode 100644 frontend/public/assets/img/one_coin_yellow.png create mode 100644 frontend/public/assets/img/three_out_red.png create mode 100644 frontend/public/assets/img/two_coin_yellow.png diff --git a/frontend/public/assets/img/full_coin_green.png b/frontend/public/assets/img/full_coin_green.png new file mode 100644 index 0000000000000000000000000000000000000000..7471e14f6b8199c90e04974ba1347dd5e4d91f43 GIT binary patch literal 22100 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 Tvv?N({!@}ye_AGM{`P+WJ)9~B literal 0 HcmV?d00001 diff --git a/frontend/public/assets/img/three_out_red.png b/frontend/public/assets/img/three_out_red.png new file mode 100644 index 0000000000000000000000000000000000000000..d2729d1de98fb8a4b241d4c03040119098130a01 GIT binary patch literal 18409 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 Oe;&xG$bz)Vi~k1{PB~`) literal 0 HcmV?d00001 diff --git a/frontend/public/assets/img/two_coin_yellow.png b/frontend/public/assets/img/two_coin_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..80650f25fa9f7ba562ab5894af616ad46328f92d GIT binary patch literal 19564 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 S1w9D-Q { )}
- +
- +
- +
diff --git a/frontend/src/components/AttendanceWeekInfo.jsx b/frontend/src/components/AttendanceWeekInfo.jsx index 4f80431..2bae09c 100644 --- a/frontend/src/components/AttendanceWeekInfo.jsx +++ b/frontend/src/components/AttendanceWeekInfo.jsx @@ -5,6 +5,15 @@ const AttendanceWeekInfo = ({ week }) => { return (

{week}주차

+
+ +
+
+ +
+
+ +
); }; diff --git a/frontend/src/components/componentsCss/AttendanceWeekInfo.css b/frontend/src/components/componentsCss/AttendanceWeekInfo.css index 23216da..458de9d 100644 --- a/frontend/src/components/componentsCss/AttendanceWeekInfo.css +++ b/frontend/src/components/componentsCss/AttendanceWeekInfo.css @@ -2,11 +2,12 @@ width: 270px; padding: 14px; border-radius: 20px; - background-color: #6e6e6e; + background-color: #434343; border: 1px solid #d9d9d9; margin-block: 20px; display: flex; align-items: center; + justify-content: space-around; } .weekInfo { font-weight: 600; @@ -14,3 +15,11 @@ color: #ffffff; font-family: "Inter", sans-serif; } +.coin_img_container { + width: 30px; + height: 30px; +} +.coin_img_container > img { + width: 100%; + height: 100%; +} From 4c29ddae538e52dcb8a432e991d549bb3877da22 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 00:28:15 +0900 Subject: [PATCH 27/59] [Fix] assignment api url --- .github/workflows/main.yml | 2 +- .gitignore | 1 - frontend/src/api/assignment.js | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 234cd69..69e3cdc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,7 @@ jobs: - name: Send Discord notification env: - DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK }} run: | curl -H "Content-Type: application/json" \ -X POST \ diff --git a/.gitignore b/.gitignore index bf54333..53d4561 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,3 @@ .env *.pem .idea/ - diff --git a/frontend/src/api/assignment.js b/frontend/src/api/assignment.js index 1887f5e..4102105 100644 --- a/frontend/src/api/assignment.js +++ b/frontend/src/api/assignment.js @@ -1,6 +1,5 @@ import axios from "axios"; export const fetchAssignmentsByUser = async (userId) => { - const res = await axios.get(`/api/assignment/${userId}`); - return res.data; + const res = await axios.get(`/api/assignment/grouped/${userId}`); return res.data; }; From ecfb7b290683f0061f17f3e5a3a16bc06bc50f9f Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 00:34:56 +0900 Subject: [PATCH 28/59] install npm --- frontend/package-lock.json | 1096 +++++++++++------------------------- frontend/yarn.lock | 296 ++-------- 2 files changed, 381 insertions(+), 1011 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b2c7481..be39542 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,7 @@ "name": "frontend", "version": "0.0.0", "dependencies": { + "axios": "^1.9.0", "lucide-react": "^0.507.0", "react": "^19.0.0", "react-dom": "^19.0.0", @@ -321,414 +322,6 @@ "node": ">=6.9.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", - "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", - "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", - "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", - "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", - "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", - "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", - "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", - "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", - "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", - "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", - "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", - "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", - "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", - "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", - "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", - "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", - "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", - "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", - "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", - "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", - "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", - "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", - "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", - "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@esbuild/win32-x64": { "version": "0.25.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", @@ -929,358 +522,92 @@ "license": "Apache-2.0", "engines": { "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", - "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", - "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", - "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", - "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", - "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", - "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", - "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", - "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", - "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", - "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", - "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", - "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", - "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", - "cpu": [ - "riscv64" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", - "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", - "cpu": [ - "riscv64" - ], + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", - "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", - "cpu": [ - "s390x" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", - "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", - "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", - "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", - "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", - "cpu": [ - "ia32" - ], + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.40.1", @@ -1458,6 +785,23 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1509,6 +853,19 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1577,6 +934,18 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1647,6 +1016,29 @@ "dev": true, "license": "MIT" }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.148", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz", @@ -1654,6 +1046,51 @@ "dev": true, "license": "ISC" }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.25.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", @@ -1983,19 +1420,48 @@ "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { @@ -2008,6 +1474,43 @@ "node": ">=6.9.0" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2034,6 +1537,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2044,6 +1559,45 @@ "node": ">=8" } }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -2244,6 +1798,36 @@ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2439,6 +2023,12 @@ "node": ">= 0.8.0" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index f287a33..3ef54d8 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -24,7 +24,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz" integrity sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A== -"@babel/core@^7.26.10": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.26.10": version "7.27.1" resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz" integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== @@ -163,129 +163,9 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" -"@esbuild/aix-ppc64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz#014180d9a149cffd95aaeead37179433f5ea5437" - integrity sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ== - -"@esbuild/android-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz#649e47e04ddb24a27dc05c395724bc5f4c55cbfe" - integrity sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ== - -"@esbuild/android-arm@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.3.tgz#8a0f719c8dc28a4a6567ef7328c36ea85f568ff4" - integrity sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== - -"@esbuild/android-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.3.tgz#e2ab182d1fd06da9bef0784a13c28a7602d78009" - integrity sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ== - -"@esbuild/darwin-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz" - integrity sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w== - -"@esbuild/darwin-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz#d8c5342ec1a4bf4b1915643dfe031ba4b173a87a" - integrity sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A== - -"@esbuild/freebsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz#9f7d789e2eb7747d4868817417cc968ffa84f35b" - integrity sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw== - -"@esbuild/freebsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz#8ad35c51d084184a8e9e76bb4356e95350a64709" - integrity sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q== - -"@esbuild/linux-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz#3af0da3d9186092a9edd4e28fa342f57d9e3cd30" - integrity sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A== - -"@esbuild/linux-arm@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz#e91cafa95e4474b3ae3d54da12e006b782e57225" - integrity sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== - -"@esbuild/linux-ia32@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz#81025732d85b68ee510161b94acdf7e3007ea177" - integrity sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw== - -"@esbuild/linux-loong64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz#3c744e4c8d5e1148cbe60a71a11b58ed8ee5deb8" - integrity sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g== - -"@esbuild/linux-mips64el@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz#1dfe2a5d63702db9034cc6b10b3087cc0424ec26" - integrity sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag== - -"@esbuild/linux-ppc64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz#2e85d9764c04a1ebb346dc0813ea05952c9a5c56" - integrity sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg== - -"@esbuild/linux-riscv64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz#a9ea3334556b09f85ccbfead58c803d305092415" - integrity sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA== - -"@esbuild/linux-s390x@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz#f6a7cb67969222b200974de58f105dfe8e99448d" - integrity sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ== - -"@esbuild/linux-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz#a237d3578ecdd184a3066b1f425e314ade0f8033" - integrity sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA== - -"@esbuild/netbsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz#4c15c68d8149614ddb6a56f9c85ae62ccca08259" - integrity sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA== - -"@esbuild/netbsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz#12f6856f8c54c2d7d0a8a64a9711c01a743878d5" - integrity sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g== - -"@esbuild/openbsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz#ca078dad4a34df192c60233b058db2ca3d94bc5c" - integrity sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ== - -"@esbuild/openbsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz#c9178adb60e140e03a881d0791248489c79f95b2" - integrity sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w== - -"@esbuild/sunos-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz#03765eb6d4214ff27e5230af779e80790d1ee09f" - integrity sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA== - -"@esbuild/win32-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz#f1c867bd1730a9b8dfc461785ec6462e349411ea" - integrity sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ== - -"@esbuild/win32-ia32@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz#77491f59ef6c9ddf41df70670d5678beb3acc322" - integrity sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew== - "@esbuild/win32-x64@0.25.3": version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz#b17a2171f9074df9e91bfb07ef99a892ac06412a" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz" integrity sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== "@eslint-community/eslint-utils@^4.2.0": @@ -336,7 +216,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.25.1", "@eslint/js@^9.22.0": +"@eslint/js@^9.22.0", "@eslint/js@9.25.1": version "9.25.1" resolved "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz" integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== @@ -414,104 +294,9 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@rollup/rollup-android-arm-eabi@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz#e1562d360bca73c7bef6feef86098de3a2f1d442" - integrity sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw== - -"@rollup/rollup-android-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz#37ba63940211673e15dcc5f469a78e34276dbca7" - integrity sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw== - -"@rollup/rollup-darwin-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz" - integrity sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA== - -"@rollup/rollup-darwin-x64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz#5e22dab3232b1e575d930ce891abb18fe19c58c9" - integrity sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw== - -"@rollup/rollup-freebsd-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz#04c892d9ff864d66e31419634726ab0bebb33707" - integrity sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw== - -"@rollup/rollup-freebsd-x64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz#f4b1e091f7cf5afc9e3a029d70128ad56409ecfb" - integrity sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q== - -"@rollup/rollup-linux-arm-gnueabihf@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz#c8814bb5ce047a81b1fe4a33628dfd4ac52bd864" - integrity sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg== - -"@rollup/rollup-linux-arm-musleabihf@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz#5b4e7bd83cbebbf5ffe958802dcfd4ee34bf73a3" - integrity sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg== - -"@rollup/rollup-linux-arm64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz#141c848e53cee011e82a11777b8a51f1b3e8d77c" - integrity sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg== - -"@rollup/rollup-linux-arm64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz#22ebeaf2fa301aa4aa6c84b760e6cd1d1ac7eb1e" - integrity sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ== - -"@rollup/rollup-linux-loongarch64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz#20b77dc78e622f5814ff8e90c14c938ceb8043bc" - integrity sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ== - -"@rollup/rollup-linux-powerpc64le-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz#2c90f99c987ef1198d4f8d15d754c286e1f07b13" - integrity sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg== - -"@rollup/rollup-linux-riscv64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz#9336fd5e47d7f4760d02aa85f76976176eef53ca" - integrity sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ== - -"@rollup/rollup-linux-riscv64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz#d75b4d54d46439bb5c6c13762788f57e798f5670" - integrity sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA== - -"@rollup/rollup-linux-s390x-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz#e9f09b802f1291839247399028beaef9ce034c81" - integrity sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg== - -"@rollup/rollup-linux-x64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz#0413169dc00470667dea8575c1129d4e7a73eb29" - integrity sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ== - -"@rollup/rollup-linux-x64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz#c76fd593323c60ea219439a00da6c6d33ffd0ea6" - integrity sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ== - -"@rollup/rollup-win32-arm64-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz#c7724c386eed0bda5ae7143e4081c1910cab349b" - integrity sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg== - -"@rollup/rollup-win32-ia32-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz#7749e1b65cb64fe6d41ad1ad9e970a0ccc8ac350" - integrity sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA== - "@rollup/rollup-win32-x64-msvc@4.40.1": version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz#8078b71fe0d5825dcbf83d52a7dc858b39da165c" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz" integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== "@types/babel__core@^7.20.5": @@ -547,7 +332,7 @@ dependencies: "@babel/types" "^7.20.7" -"@types/estree@1.0.7", "@types/estree@^1.0.6": +"@types/estree@^1.0.6", "@types/estree@1.0.7": version "1.0.7" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz" integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== @@ -562,7 +347,7 @@ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz" integrity sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg== -"@types/react@^19.0.10": +"@types/react@^19.0.0", "@types/react@^19.0.10": version "19.1.2" resolved "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz" integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw== @@ -585,7 +370,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.14.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -614,12 +399,12 @@ argparse@^2.0.1: asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== axios@^1.9.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" + resolved "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz" integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== dependencies: follow-redirects "^1.15.6" @@ -639,7 +424,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -browserslist@^4.24.0: +browserslist@^4.24.0, "browserslist@>= 4.21.0": version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -651,7 +436,7 @@ browserslist@^4.24.0: call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" @@ -689,7 +474,7 @@ color-name@~1.1.4: combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" @@ -737,12 +522,12 @@ deep-is@^0.1.3: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -756,24 +541,24 @@ electron-to-chromium@^1.5.73: es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: es-errors "^1.3.0" @@ -850,7 +635,7 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@^9.22.0: +"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^9.22.0, eslint@>=8.40: version "9.25.1" resolved "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz" integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== @@ -974,12 +759,12 @@ flatted@^3.2.9: follow-redirects@^1.15.6: version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz" integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== form-data@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz" integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== dependencies: asynckit "^0.4.0" @@ -987,14 +772,9 @@ form-data@^4.0.0: es-set-tostringtag "^2.1.0" mime-types "^2.1.12" -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: @@ -1004,7 +784,7 @@ gensync@^1.0.0-beta.2: get-intrinsic@^1.2.6: version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -1020,7 +800,7 @@ get-intrinsic@^1.2.6: get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -1050,7 +830,7 @@ globals@^16.0.0: gopd@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== has-flag@^4.0.0: @@ -1060,19 +840,19 @@ has-flag@^4.0.0: has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" hasown@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -1185,22 +965,22 @@ lru-cache@^5.1.1: lucide-react@^0.507.0: version "0.507.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.507.0.tgz#d93a75ed130bd530a368fe1dd4ea009ea90a772b" + resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz" integrity sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ== math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" @@ -1280,7 +1060,7 @@ picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^4.0.2: +"picomatch@^3 || ^4", picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -1301,7 +1081,7 @@ prelude-ls@^1.2.1: proxy-from-env@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== punycode@^2.1.0: @@ -1309,7 +1089,7 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -react-dom@^19.0.0: +react-dom@^19.0.0, react-dom@>=18: version "19.1.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz" integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== @@ -1323,7 +1103,7 @@ react-refresh@^0.17.0: react-router-dom@^7.5.3: version "7.5.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.5.3.tgz#496e9f6d90f731703c7772668b41747028e0a2d5" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.3.tgz" integrity sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A== dependencies: react-router "7.5.3" @@ -1337,7 +1117,7 @@ react-router@7.5.3: set-cookie-parser "^2.6.0" turbo-stream "2.4.0" -react@^19.0.0: +"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", react@^19.0.0, react@^19.1.0, react@>=18: version "19.1.0" resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== @@ -1455,7 +1235,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -vite@^6.3.1: +"vite@^4.2.0 || ^5.0.0 || ^6.0.0", vite@^6.3.1: version "6.3.4" resolved "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz" integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw== From 10a5d959a9571c0444024b76f35134877365950d Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 00:36:44 +0900 Subject: [PATCH 29/59] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b89f01f..2659ed4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # 🏫 PiroCheck -피로그래밍 과제/출석/보증금 관리 서비스 +피로그래밍 과제/출석/보증금 관리 서비스!! From 4ce8b8c1ab4cb6a19ac2924a1f7a8b0cbf74b4ad Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Thu, 8 May 2025 00:43:37 +0900 Subject: [PATCH 30/59] =?UTF-8?q?npm=EC=9E=AC=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 1724 ++++++++++-------------------------- frontend/package.json | 27 +- frontend/yarn.lock | 1492 ------------------------------- 3 files changed, 455 insertions(+), 2788 deletions(-) delete mode 100644 frontend/yarn.lock diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b2c7481..221b29a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,28 +1,22 @@ { "name": "frontend", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "frontend", - "version": "0.0.0", + "version": "1.0.0", + "license": "ISC", "dependencies": { - "lucide-react": "^0.507.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "axios": "^1.9.0", + "react": "^19.1.0", + "react-dom": "^19.1.0", "react-router-dom": "^7.5.3" }, "devDependencies": { - "@eslint/js": "^9.22.0", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.22.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", - "globals": "^16.0.0", - "vite": "^6.3.1" + "@vitejs/plugin-react": "^4.4.1", + "vite": "^6.3.5" } }, "node_modules/@ampproject/remapping": { @@ -55,9 +49,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz", - "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", + "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", "dev": true, "license": "MIT", "engines": { @@ -113,13 +107,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", - "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.1", + "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -216,9 +210,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", + "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", "dev": true, "license": "MIT", "dependencies": { @@ -264,14 +258,14 @@ } }, "node_modules/@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", + "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" }, "engines": { @@ -297,16 +291,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/types": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", @@ -322,9 +306,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", - "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], @@ -339,9 +323,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", - "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], @@ -356,9 +340,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", - "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], @@ -373,9 +357,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", - "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], @@ -390,9 +374,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", - "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], @@ -407,9 +391,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", - "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], @@ -424,9 +408,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", - "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], @@ -441,9 +425,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", - "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], @@ -458,9 +442,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", - "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], @@ -475,9 +459,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", - "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], @@ -492,9 +476,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", - "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], @@ -509,9 +493,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", - "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], @@ -526,9 +510,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", - "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], @@ -543,9 +527,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", - "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], @@ -560,9 +544,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", - "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], @@ -577,9 +561,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", - "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], @@ -594,9 +578,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", - "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], @@ -611,9 +595,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", - "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], @@ -628,9 +612,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", - "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], @@ -645,9 +629,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", - "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], @@ -662,9 +646,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", - "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], @@ -679,9 +663,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", - "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], @@ -696,9 +680,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", - "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], @@ -713,9 +697,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", - "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], @@ -730,9 +714,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", - "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], @@ -746,223 +730,6 @@ "node": ">=18" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", - "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", - "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.25.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", - "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", @@ -1017,9 +784,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", - "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", + "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", "cpu": [ "arm" ], @@ -1031,9 +798,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", - "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", + "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", "cpu": [ "arm64" ], @@ -1045,9 +812,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", - "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", + "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", "cpu": [ "arm64" ], @@ -1059,9 +826,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", - "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", + "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", "cpu": [ "x64" ], @@ -1073,9 +840,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", - "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", + "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", "cpu": [ "arm64" ], @@ -1087,9 +854,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", - "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", + "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", "cpu": [ "x64" ], @@ -1101,9 +868,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", - "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", + "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", "cpu": [ "arm" ], @@ -1115,9 +882,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", - "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", + "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", "cpu": [ "arm" ], @@ -1129,9 +896,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", - "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", + "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", "cpu": [ "arm64" ], @@ -1143,9 +910,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", - "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", + "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", "cpu": [ "arm64" ], @@ -1157,9 +924,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", - "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", + "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", "cpu": [ "loong64" ], @@ -1171,9 +938,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", - "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", + "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", "cpu": [ "ppc64" ], @@ -1185,9 +952,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", - "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", + "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", "cpu": [ "riscv64" ], @@ -1199,9 +966,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", - "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", + "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", "cpu": [ "riscv64" ], @@ -1213,9 +980,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", - "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", + "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", "cpu": [ "s390x" ], @@ -1227,9 +994,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", - "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", + "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", "cpu": [ "x64" ], @@ -1241,9 +1008,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", - "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", + "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", "cpu": [ "x64" ], @@ -1255,9 +1022,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", - "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", + "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", "cpu": [ "arm64" ], @@ -1269,9 +1036,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", - "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", + "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", "cpu": [ "ia32" ], @@ -1283,9 +1050,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", - "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", + "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", "cpu": [ "x64" ], @@ -1348,33 +1115,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.1.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz", - "integrity": "sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, "node_modules/@vitejs/plugin-react": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", @@ -1395,91 +1135,27 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", "dev": true, "funding": [ { @@ -1497,10 +1173,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -1509,20 +1185,23 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", + "version": "1.0.30001717", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", + "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", "dev": true, "funding": [ { @@ -1540,50 +1219,18 @@ ], "license": "CC-BY-4.0" }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1600,28 +1247,6 @@ "node": ">=18" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -1640,24 +1265,85 @@ } } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/electron-to-chromium": { - "version": "1.5.148", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz", - "integrity": "sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A==", + "version": "1.5.150", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.150.tgz", + "integrity": "sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==", "dev": true, "license": "ISC" }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", - "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1668,31 +1354,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.3", - "@esbuild/android-arm": "0.25.3", - "@esbuild/android-arm64": "0.25.3", - "@esbuild/android-x64": "0.25.3", - "@esbuild/darwin-arm64": "0.25.3", - "@esbuild/darwin-x64": "0.25.3", - "@esbuild/freebsd-arm64": "0.25.3", - "@esbuild/freebsd-x64": "0.25.3", - "@esbuild/linux-arm": "0.25.3", - "@esbuild/linux-arm64": "0.25.3", - "@esbuild/linux-ia32": "0.25.3", - "@esbuild/linux-loong64": "0.25.3", - "@esbuild/linux-mips64el": "0.25.3", - "@esbuild/linux-ppc64": "0.25.3", - "@esbuild/linux-riscv64": "0.25.3", - "@esbuild/linux-s390x": "0.25.3", - "@esbuild/linux-x64": "0.25.3", - "@esbuild/netbsd-arm64": "0.25.3", - "@esbuild/netbsd-x64": "0.25.3", - "@esbuild/openbsd-arm64": "0.25.3", - "@esbuild/openbsd-x64": "0.25.3", - "@esbuild/sunos-x64": "0.25.3", - "@esbuild/win32-arm64": "0.25.3", - "@esbuild/win32-ia32": "0.25.3", - "@esbuild/win32-x64": "0.25.3" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/escalade": { @@ -1705,284 +1391,56 @@ "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/eslint": { - "version": "9.25.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz", - "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.25.1", - "@eslint/plugin-kit": "^0.2.8", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", - "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", - "dev": true, + ], "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, "engines": { "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" }, "peerDependenciesMeta": { - "picomatch": { + "debug": { "optional": true } } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=16" + "node": ">= 6" } }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1998,6 +1456,15 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -2008,109 +1475,104 @@ "node": ">=6.9.0" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", - "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=4" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2118,19 +1580,6 @@ "dev": true, "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -2144,27 +1593,6 @@ "node": ">=6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -2178,53 +1606,6 @@ "node": ">=6" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -2235,26 +1616,34 @@ "yallist": "^3.0.2" } }, - "node_modules/lucide-react": { - "version": "0.507.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz", - "integrity": "sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "mime-db": "1.52.0" }, "engines": { - "node": "*" + "node": ">= 0.6" } }, "node_modules/ms": { @@ -2283,13 +1672,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -2297,89 +1679,6 @@ "dev": true, "license": "MIT" }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -2429,25 +1728,11 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/react": { "version": "19.1.0", @@ -2519,20 +1804,10 @@ "react-dom": ">=18" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/rollup": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", - "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", + "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", "dev": true, "license": "MIT", "dependencies": { @@ -2546,26 +1821,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.1", - "@rollup/rollup-android-arm64": "4.40.1", - "@rollup/rollup-darwin-arm64": "4.40.1", - "@rollup/rollup-darwin-x64": "4.40.1", - "@rollup/rollup-freebsd-arm64": "4.40.1", - "@rollup/rollup-freebsd-x64": "4.40.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", - "@rollup/rollup-linux-arm-musleabihf": "4.40.1", - "@rollup/rollup-linux-arm64-gnu": "4.40.1", - "@rollup/rollup-linux-arm64-musl": "4.40.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-musl": "4.40.1", - "@rollup/rollup-linux-s390x-gnu": "4.40.1", - "@rollup/rollup-linux-x64-gnu": "4.40.1", - "@rollup/rollup-linux-x64-musl": "4.40.1", - "@rollup/rollup-win32-arm64-msvc": "4.40.1", - "@rollup/rollup-win32-ia32-msvc": "4.40.1", - "@rollup/rollup-win32-x64-msvc": "4.40.1", + "@rollup/rollup-android-arm-eabi": "4.40.2", + "@rollup/rollup-android-arm64": "4.40.2", + "@rollup/rollup-darwin-arm64": "4.40.2", + "@rollup/rollup-darwin-x64": "4.40.2", + "@rollup/rollup-freebsd-arm64": "4.40.2", + "@rollup/rollup-freebsd-x64": "4.40.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", + "@rollup/rollup-linux-arm-musleabihf": "4.40.2", + "@rollup/rollup-linux-arm64-gnu": "4.40.2", + "@rollup/rollup-linux-arm64-musl": "4.40.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-musl": "4.40.2", + "@rollup/rollup-linux-s390x-gnu": "4.40.2", + "@rollup/rollup-linux-x64-gnu": "4.40.2", + "@rollup/rollup-linux-x64-musl": "4.40.2", + "@rollup/rollup-win32-arm64-msvc": "4.40.2", + "@rollup/rollup-win32-ia32-msvc": "4.40.2", + "@rollup/rollup-win32-x64-msvc": "4.40.2", "fsevents": "~2.3.2" } }, @@ -2591,29 +1866,6 @@ "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", "license": "MIT" }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -2624,32 +1876,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tinyglobby": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", @@ -2673,19 +1899,6 @@ "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", "license": "ISC" }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -2717,20 +1930,10 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/vite": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", - "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2802,51 +2005,12 @@ } } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/frontend/package.json b/frontend/package.json index aac2c62..b16cbdb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,30 +1,25 @@ { "name": "frontend", - "private": true, - "version": "0.0.0", - "type": "module", + "version": "1.0.0", + "description": "This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.", + "main": "eslint.config.js", "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", "dev": "vite", "build": "vite build", - "lint": "eslint .", "preview": "vite preview" }, + "keywords": [], + "author": "", + "license": "ISC", "dependencies": { "axios": "^1.9.0", - "lucide-react": "^0.507.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "react": "^19.1.0", + "react-dom": "^19.1.0", "react-router-dom": "^7.5.3" }, "devDependencies": { - "@eslint/js": "^9.22.0", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.22.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", - "globals": "^16.0.0", - "vite": "^6.3.1" + "@vitejs/plugin-react": "^4.4.1", + "vite": "^6.3.5" } } diff --git a/frontend/yarn.lock b/frontend/yarn.lock deleted file mode 100644 index f287a33..0000000 --- a/frontend/yarn.lock +++ /dev/null @@ -1,1492 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz" - integrity sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A== - -"@babel/core@^7.26.10": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz" - integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helpers" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz" - integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== - dependencies: - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz" - integrity sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g== - dependencies: - "@babel/compat-data" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-transforms@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz" - integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/helper-plugin-utils@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz" - integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== - dependencies: - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz" - integrity sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ== - dependencies: - "@babel/types" "^7.27.1" - -"@babel/plugin-transform-react-jsx-self@^7.25.9": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz" - integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-jsx-source@^7.25.9": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz" - integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/template@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz" - integrity sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz" - integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz" - integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@esbuild/aix-ppc64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz#014180d9a149cffd95aaeead37179433f5ea5437" - integrity sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ== - -"@esbuild/android-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz#649e47e04ddb24a27dc05c395724bc5f4c55cbfe" - integrity sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ== - -"@esbuild/android-arm@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.3.tgz#8a0f719c8dc28a4a6567ef7328c36ea85f568ff4" - integrity sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== - -"@esbuild/android-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.3.tgz#e2ab182d1fd06da9bef0784a13c28a7602d78009" - integrity sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ== - -"@esbuild/darwin-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz" - integrity sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w== - -"@esbuild/darwin-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz#d8c5342ec1a4bf4b1915643dfe031ba4b173a87a" - integrity sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A== - -"@esbuild/freebsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz#9f7d789e2eb7747d4868817417cc968ffa84f35b" - integrity sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw== - -"@esbuild/freebsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz#8ad35c51d084184a8e9e76bb4356e95350a64709" - integrity sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q== - -"@esbuild/linux-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz#3af0da3d9186092a9edd4e28fa342f57d9e3cd30" - integrity sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A== - -"@esbuild/linux-arm@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz#e91cafa95e4474b3ae3d54da12e006b782e57225" - integrity sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== - -"@esbuild/linux-ia32@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz#81025732d85b68ee510161b94acdf7e3007ea177" - integrity sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw== - -"@esbuild/linux-loong64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz#3c744e4c8d5e1148cbe60a71a11b58ed8ee5deb8" - integrity sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g== - -"@esbuild/linux-mips64el@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz#1dfe2a5d63702db9034cc6b10b3087cc0424ec26" - integrity sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag== - -"@esbuild/linux-ppc64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz#2e85d9764c04a1ebb346dc0813ea05952c9a5c56" - integrity sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg== - -"@esbuild/linux-riscv64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz#a9ea3334556b09f85ccbfead58c803d305092415" - integrity sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA== - -"@esbuild/linux-s390x@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz#f6a7cb67969222b200974de58f105dfe8e99448d" - integrity sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ== - -"@esbuild/linux-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz#a237d3578ecdd184a3066b1f425e314ade0f8033" - integrity sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA== - -"@esbuild/netbsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz#4c15c68d8149614ddb6a56f9c85ae62ccca08259" - integrity sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA== - -"@esbuild/netbsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz#12f6856f8c54c2d7d0a8a64a9711c01a743878d5" - integrity sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g== - -"@esbuild/openbsd-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz#ca078dad4a34df192c60233b058db2ca3d94bc5c" - integrity sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ== - -"@esbuild/openbsd-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz#c9178adb60e140e03a881d0791248489c79f95b2" - integrity sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w== - -"@esbuild/sunos-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz#03765eb6d4214ff27e5230af779e80790d1ee09f" - integrity sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA== - -"@esbuild/win32-arm64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz#f1c867bd1730a9b8dfc461785ec6462e349411ea" - integrity sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ== - -"@esbuild/win32-ia32@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz#77491f59ef6c9ddf41df70670d5678beb3acc322" - integrity sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew== - -"@esbuild/win32-x64@0.25.3": - version "0.25.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz#b17a2171f9074df9e91bfb07ef99a892ac06412a" - integrity sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.6.1" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz" - integrity sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.12.1": - version "4.12.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/config-array@^0.20.0": - version "0.20.0" - resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz" - integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ== - dependencies: - "@eslint/object-schema" "^2.1.6" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/config-helpers@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz" - integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== - -"@eslint/core@^0.13.0": - version "0.13.0" - resolved "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz" - integrity sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/eslintrc@^3.3.1": - version "3.3.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz" - integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.25.1", "@eslint/js@^9.22.0": - version "9.25.1" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz" - integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== - -"@eslint/object-schema@^2.1.6": - version "2.1.6" - resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz" - integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== - -"@eslint/plugin-kit@^0.2.8": - version "0.2.8" - resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz" - integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== - dependencies: - "@eslint/core" "^0.13.0" - levn "^0.4.1" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz" - integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== - -"@humanwhocodes/retry@^0.4.2": - version "0.4.2" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz" - integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.8" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@rollup/rollup-android-arm-eabi@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz#e1562d360bca73c7bef6feef86098de3a2f1d442" - integrity sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw== - -"@rollup/rollup-android-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz#37ba63940211673e15dcc5f469a78e34276dbca7" - integrity sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw== - -"@rollup/rollup-darwin-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz" - integrity sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA== - -"@rollup/rollup-darwin-x64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz#5e22dab3232b1e575d930ce891abb18fe19c58c9" - integrity sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw== - -"@rollup/rollup-freebsd-arm64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz#04c892d9ff864d66e31419634726ab0bebb33707" - integrity sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw== - -"@rollup/rollup-freebsd-x64@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz#f4b1e091f7cf5afc9e3a029d70128ad56409ecfb" - integrity sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q== - -"@rollup/rollup-linux-arm-gnueabihf@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz#c8814bb5ce047a81b1fe4a33628dfd4ac52bd864" - integrity sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg== - -"@rollup/rollup-linux-arm-musleabihf@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz#5b4e7bd83cbebbf5ffe958802dcfd4ee34bf73a3" - integrity sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg== - -"@rollup/rollup-linux-arm64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz#141c848e53cee011e82a11777b8a51f1b3e8d77c" - integrity sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg== - -"@rollup/rollup-linux-arm64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz#22ebeaf2fa301aa4aa6c84b760e6cd1d1ac7eb1e" - integrity sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ== - -"@rollup/rollup-linux-loongarch64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz#20b77dc78e622f5814ff8e90c14c938ceb8043bc" - integrity sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ== - -"@rollup/rollup-linux-powerpc64le-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz#2c90f99c987ef1198d4f8d15d754c286e1f07b13" - integrity sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg== - -"@rollup/rollup-linux-riscv64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz#9336fd5e47d7f4760d02aa85f76976176eef53ca" - integrity sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ== - -"@rollup/rollup-linux-riscv64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz#d75b4d54d46439bb5c6c13762788f57e798f5670" - integrity sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA== - -"@rollup/rollup-linux-s390x-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz#e9f09b802f1291839247399028beaef9ce034c81" - integrity sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg== - -"@rollup/rollup-linux-x64-gnu@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz#0413169dc00470667dea8575c1129d4e7a73eb29" - integrity sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ== - -"@rollup/rollup-linux-x64-musl@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz#c76fd593323c60ea219439a00da6c6d33ffd0ea6" - integrity sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ== - -"@rollup/rollup-win32-arm64-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz#c7724c386eed0bda5ae7143e4081c1910cab349b" - integrity sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg== - -"@rollup/rollup-win32-ia32-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz#7749e1b65cb64fe6d41ad1ad9e970a0ccc8ac350" - integrity sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA== - -"@rollup/rollup-win32-x64-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz#8078b71fe0d5825dcbf83d52a7dc858b39da165c" - integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== - -"@types/babel__core@^7.20.5": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.27.0" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.20.7" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz" - integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== - dependencies: - "@babel/types" "^7.20.7" - -"@types/estree@1.0.7", "@types/estree@^1.0.6": - version "1.0.7" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz" - integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/react-dom@^19.0.4": - version "19.1.3" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz" - integrity sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg== - -"@types/react@^19.0.10": - version "19.1.2" - resolved "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz" - integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw== - dependencies: - csstype "^3.0.2" - -"@vitejs/plugin-react@^4.3.4": - version "4.4.1" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz" - integrity sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w== - dependencies: - "@babel/core" "^7.26.10" - "@babel/plugin-transform-react-jsx-self" "^7.25.9" - "@babel/plugin-transform-react-jsx-source" "^7.25.9" - "@types/babel__core" "^7.20.5" - react-refresh "^0.17.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.14.0: - version "8.14.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" - integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browserslist@^4.24.0: - version "4.24.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001688: - version "1.0.30001716" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz" - integrity sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz" - integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== - -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -debug@^4.1.0, debug@^4.3.1, debug@^4.3.2: - version "4.4.0" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -electron-to-chromium@^1.5.73: - version "1.5.148" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz" - integrity sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A== - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -esbuild@^0.25.0: - version "0.25.3" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz" - integrity sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.3" - "@esbuild/android-arm" "0.25.3" - "@esbuild/android-arm64" "0.25.3" - "@esbuild/android-x64" "0.25.3" - "@esbuild/darwin-arm64" "0.25.3" - "@esbuild/darwin-x64" "0.25.3" - "@esbuild/freebsd-arm64" "0.25.3" - "@esbuild/freebsd-x64" "0.25.3" - "@esbuild/linux-arm" "0.25.3" - "@esbuild/linux-arm64" "0.25.3" - "@esbuild/linux-ia32" "0.25.3" - "@esbuild/linux-loong64" "0.25.3" - "@esbuild/linux-mips64el" "0.25.3" - "@esbuild/linux-ppc64" "0.25.3" - "@esbuild/linux-riscv64" "0.25.3" - "@esbuild/linux-s390x" "0.25.3" - "@esbuild/linux-x64" "0.25.3" - "@esbuild/netbsd-arm64" "0.25.3" - "@esbuild/netbsd-x64" "0.25.3" - "@esbuild/openbsd-arm64" "0.25.3" - "@esbuild/openbsd-x64" "0.25.3" - "@esbuild/sunos-x64" "0.25.3" - "@esbuild/win32-arm64" "0.25.3" - "@esbuild/win32-ia32" "0.25.3" - "@esbuild/win32-x64" "0.25.3" - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-react-hooks@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz" - integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== - -eslint-plugin-react-refresh@^0.4.19: - version "0.4.20" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz" - integrity sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA== - -eslint-scope@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz" - integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== - -eslint@^9.22.0: - version "9.25.1" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz" - integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.20.0" - "@eslint/config-helpers" "^0.2.1" - "@eslint/core" "^0.13.0" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.25.1" - "@eslint/plugin-kit" "^0.2.8" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.3.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^10.0.1, espree@^10.3.0: - version "10.3.0" - resolved "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fdir@^6.4.4: - version "6.4.4" - resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz" - integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== - -follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.12" - -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globals@^16.0.0: - version "16.0.0" - resolved "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz" - integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== - -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.0, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lucide-react@^0.507.0: - version "0.507.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.507.0.tgz#d93a75ed130bd530a368fe1dd4ea009ea90a772b" - integrity sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -postcss@^8.5.3: - version "8.5.3" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -react-dom@^19.0.0: - version "19.1.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz" - integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== - dependencies: - scheduler "^0.26.0" - -react-refresh@^0.17.0: - version "0.17.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" - integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== - -react-router-dom@^7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.5.3.tgz#496e9f6d90f731703c7772668b41747028e0a2d5" - integrity sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A== - dependencies: - react-router "7.5.3" - -react-router@7.5.3: - version "7.5.3" - resolved "https://registry.npmjs.org/react-router/-/react-router-7.5.3.tgz" - integrity sha512-3iUDM4/fZCQ89SXlDa+Ph3MevBrozBAI655OAfWQlTm9nBR0IKlrmNwFow5lPHttbwvITZfkeeeZFP6zt3F7pw== - dependencies: - cookie "^1.0.1" - set-cookie-parser "^2.6.0" - turbo-stream "2.4.0" - -react@^19.0.0: - version "19.1.0" - resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" - integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -rollup@^4.34.9: - version "4.40.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz" - integrity sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw== - dependencies: - "@types/estree" "1.0.7" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.40.1" - "@rollup/rollup-android-arm64" "4.40.1" - "@rollup/rollup-darwin-arm64" "4.40.1" - "@rollup/rollup-darwin-x64" "4.40.1" - "@rollup/rollup-freebsd-arm64" "4.40.1" - "@rollup/rollup-freebsd-x64" "4.40.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.40.1" - "@rollup/rollup-linux-arm-musleabihf" "4.40.1" - "@rollup/rollup-linux-arm64-gnu" "4.40.1" - "@rollup/rollup-linux-arm64-musl" "4.40.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.40.1" - "@rollup/rollup-linux-powerpc64le-gnu" "4.40.1" - "@rollup/rollup-linux-riscv64-gnu" "4.40.1" - "@rollup/rollup-linux-riscv64-musl" "4.40.1" - "@rollup/rollup-linux-s390x-gnu" "4.40.1" - "@rollup/rollup-linux-x64-gnu" "4.40.1" - "@rollup/rollup-linux-x64-musl" "4.40.1" - "@rollup/rollup-win32-arm64-msvc" "4.40.1" - "@rollup/rollup-win32-ia32-msvc" "4.40.1" - "@rollup/rollup-win32-x64-msvc" "4.40.1" - fsevents "~2.3.2" - -scheduler@^0.26.0: - version "0.26.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz" - integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -set-cookie-parser@^2.6.0: - version "2.7.1" - resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz" - integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -tinyglobby@^0.2.13: - version "0.2.13" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz" - integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== - dependencies: - fdir "^6.4.4" - picomatch "^4.0.2" - -turbo-stream@2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz" - integrity sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -update-browserslist-db@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -vite@^6.3.1: - version "6.3.4" - resolved "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz" - integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw== - dependencies: - esbuild "^0.25.0" - fdir "^6.4.4" - picomatch "^4.0.2" - postcss "^8.5.3" - rollup "^4.34.9" - tinyglobby "^0.2.13" - optionalDependencies: - fsevents "~2.3.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From c049062abaf9b22a7830f3c54885f0007661cf5c Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 00:55:56 +0900 Subject: [PATCH 31/59] Update README.md --- README.md | 2 +- frontend/package-lock.json | 2442 ------------------------------------ frontend/package.json | 30 - frontend/yarn.lock | 1272 ------------------- 4 files changed, 1 insertion(+), 3745 deletions(-) delete mode 100644 frontend/package-lock.json delete mode 100644 frontend/package.json delete mode 100644 frontend/yarn.lock diff --git a/README.md b/README.md index 2659ed4..980518b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # 🏫 PiroCheck -피로그래밍 과제/출석/보증금 관리 서비스!! +피로그래밍 과제/출석/보증금 관리 서비스! diff --git a/frontend/package-lock.json b/frontend/package-lock.json deleted file mode 100644 index be39542..0000000 --- a/frontend/package-lock.json +++ /dev/null @@ -1,2442 +0,0 @@ -{ - "name": "frontend", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "frontend", - "version": "0.0.0", - "dependencies": { - "axios": "^1.9.0", - "lucide-react": "^0.507.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-router-dom": "^7.5.3" - }, - "devDependencies": { - "@eslint/js": "^9.22.0", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.22.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", - "globals": "^16.0.0", - "vite": "^6.3.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz", - "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", - "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helpers": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", - "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", - "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", - "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", - "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.25.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", - "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", - "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", - "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.1.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz", - "integrity": "sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", - "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.10", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.148", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz", - "integrity": "sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A==", - "dev": true, - "license": "ISC" - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", - "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.3", - "@esbuild/android-arm": "0.25.3", - "@esbuild/android-arm64": "0.25.3", - "@esbuild/android-x64": "0.25.3", - "@esbuild/darwin-arm64": "0.25.3", - "@esbuild/darwin-x64": "0.25.3", - "@esbuild/freebsd-arm64": "0.25.3", - "@esbuild/freebsd-x64": "0.25.3", - "@esbuild/linux-arm": "0.25.3", - "@esbuild/linux-arm64": "0.25.3", - "@esbuild/linux-ia32": "0.25.3", - "@esbuild/linux-loong64": "0.25.3", - "@esbuild/linux-mips64el": "0.25.3", - "@esbuild/linux-ppc64": "0.25.3", - "@esbuild/linux-riscv64": "0.25.3", - "@esbuild/linux-s390x": "0.25.3", - "@esbuild/linux-x64": "0.25.3", - "@esbuild/netbsd-arm64": "0.25.3", - "@esbuild/netbsd-x64": "0.25.3", - "@esbuild/openbsd-arm64": "0.25.3", - "@esbuild/openbsd-x64": "0.25.3", - "@esbuild/sunos-x64": "0.25.3", - "@esbuild/win32-arm64": "0.25.3", - "@esbuild/win32-ia32": "0.25.3", - "@esbuild/win32-x64": "0.25.3" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.25.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz", - "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.25.1", - "@eslint/plugin-kit": "^0.2.8", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", - "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", - "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lucide-react": { - "version": "0.507.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz", - "integrity": "sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.26.0" - }, - "peerDependencies": { - "react": "^19.1.0" - } - }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.5.3.tgz", - "integrity": "sha512-3iUDM4/fZCQ89SXlDa+Ph3MevBrozBAI655OAfWQlTm9nBR0IKlrmNwFow5lPHttbwvITZfkeeeZFP6zt3F7pw==", - "license": "MIT", - "dependencies": { - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0", - "turbo-stream": "2.4.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-router-dom": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.3.tgz", - "integrity": "sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A==", - "license": "MIT", - "dependencies": { - "react-router": "7.5.3" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/rollup": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", - "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.1", - "@rollup/rollup-android-arm64": "4.40.1", - "@rollup/rollup-darwin-arm64": "4.40.1", - "@rollup/rollup-darwin-x64": "4.40.1", - "@rollup/rollup-freebsd-arm64": "4.40.1", - "@rollup/rollup-freebsd-x64": "4.40.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", - "@rollup/rollup-linux-arm-musleabihf": "4.40.1", - "@rollup/rollup-linux-arm64-gnu": "4.40.1", - "@rollup/rollup-linux-arm64-musl": "4.40.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-musl": "4.40.1", - "@rollup/rollup-linux-s390x-gnu": "4.40.1", - "@rollup/rollup-linux-x64-gnu": "4.40.1", - "@rollup/rollup-linux-x64-musl": "4.40.1", - "@rollup/rollup-win32-arm64-msvc": "4.40.1", - "@rollup/rollup-win32-ia32-msvc": "4.40.1", - "@rollup/rollup-win32-x64-msvc": "4.40.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/turbo-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", - "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/vite": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", - "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/frontend/package.json b/frontend/package.json deleted file mode 100644 index aac2c62..0000000 --- a/frontend/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "frontend", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "axios": "^1.9.0", - "lucide-react": "^0.507.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-router-dom": "^7.5.3" - }, - "devDependencies": { - "@eslint/js": "^9.22.0", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.22.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", - "globals": "^16.0.0", - "vite": "^6.3.1" - } -} diff --git a/frontend/yarn.lock b/frontend/yarn.lock deleted file mode 100644 index 3ef54d8..0000000 --- a/frontend/yarn.lock +++ /dev/null @@ -1,1272 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz" - integrity sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.26.10": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz" - integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helpers" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz" - integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== - dependencies: - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz" - integrity sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g== - dependencies: - "@babel/compat-data" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-transforms@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz" - integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.1" - -"@babel/helper-plugin-utils@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz" - integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== - dependencies: - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz" - integrity sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ== - dependencies: - "@babel/types" "^7.27.1" - -"@babel/plugin-transform-react-jsx-self@^7.25.9": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz" - integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-jsx-source@^7.25.9": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz" - integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/template@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz" - integrity sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz" - integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz" - integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@esbuild/win32-x64@0.25.3": - version "0.25.3" - resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz" - integrity sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.6.1" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz" - integrity sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.12.1": - version "4.12.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/config-array@^0.20.0": - version "0.20.0" - resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz" - integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ== - dependencies: - "@eslint/object-schema" "^2.1.6" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/config-helpers@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz" - integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw== - -"@eslint/core@^0.13.0": - version "0.13.0" - resolved "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz" - integrity sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/eslintrc@^3.3.1": - version "3.3.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz" - integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@^9.22.0", "@eslint/js@9.25.1": - version "9.25.1" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz" - integrity sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg== - -"@eslint/object-schema@^2.1.6": - version "2.1.6" - resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz" - integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== - -"@eslint/plugin-kit@^0.2.8": - version "0.2.8" - resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz" - integrity sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA== - dependencies: - "@eslint/core" "^0.13.0" - levn "^0.4.1" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz" - integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== - -"@humanwhocodes/retry@^0.4.2": - version "0.4.2" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz" - integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.8" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@rollup/rollup-win32-x64-msvc@4.40.1": - version "4.40.1" - resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz" - integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== - -"@types/babel__core@^7.20.5": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.27.0" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.20.7" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz" - integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== - dependencies: - "@babel/types" "^7.20.7" - -"@types/estree@^1.0.6", "@types/estree@1.0.7": - version "1.0.7" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz" - integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/react-dom@^19.0.4": - version "19.1.3" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz" - integrity sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg== - -"@types/react@^19.0.0", "@types/react@^19.0.10": - version "19.1.2" - resolved "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz" - integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw== - dependencies: - csstype "^3.0.2" - -"@vitejs/plugin-react@^4.3.4": - version "4.4.1" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz" - integrity sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w== - dependencies: - "@babel/core" "^7.26.10" - "@babel/plugin-transform-react-jsx-self" "^7.25.9" - "@babel/plugin-transform-react-jsx-source" "^7.25.9" - "@types/babel__core" "^7.20.5" - react-refresh "^0.17.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0: - version "8.14.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz" - integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browserslist@^4.24.0, "browserslist@>= 4.21.0": - version "4.24.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" - node-releases "^2.0.19" - update-browserslist-db "^1.1.1" - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001688: - version "1.0.30001716" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz" - integrity sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz" - integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== - -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -debug@^4.1.0, debug@^4.3.1, debug@^4.3.2: - version "4.4.0" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -electron-to-chromium@^1.5.73: - version "1.5.148" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz" - integrity sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A== - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -esbuild@^0.25.0: - version "0.25.3" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz" - integrity sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.3" - "@esbuild/android-arm" "0.25.3" - "@esbuild/android-arm64" "0.25.3" - "@esbuild/android-x64" "0.25.3" - "@esbuild/darwin-arm64" "0.25.3" - "@esbuild/darwin-x64" "0.25.3" - "@esbuild/freebsd-arm64" "0.25.3" - "@esbuild/freebsd-x64" "0.25.3" - "@esbuild/linux-arm" "0.25.3" - "@esbuild/linux-arm64" "0.25.3" - "@esbuild/linux-ia32" "0.25.3" - "@esbuild/linux-loong64" "0.25.3" - "@esbuild/linux-mips64el" "0.25.3" - "@esbuild/linux-ppc64" "0.25.3" - "@esbuild/linux-riscv64" "0.25.3" - "@esbuild/linux-s390x" "0.25.3" - "@esbuild/linux-x64" "0.25.3" - "@esbuild/netbsd-arm64" "0.25.3" - "@esbuild/netbsd-x64" "0.25.3" - "@esbuild/openbsd-arm64" "0.25.3" - "@esbuild/openbsd-x64" "0.25.3" - "@esbuild/sunos-x64" "0.25.3" - "@esbuild/win32-arm64" "0.25.3" - "@esbuild/win32-ia32" "0.25.3" - "@esbuild/win32-x64" "0.25.3" - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-react-hooks@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz" - integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== - -eslint-plugin-react-refresh@^0.4.19: - version "0.4.20" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz" - integrity sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA== - -eslint-scope@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz" - integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== - -"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^9.22.0, eslint@>=8.40: - version "9.25.1" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz" - integrity sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.20.0" - "@eslint/config-helpers" "^0.2.1" - "@eslint/core" "^0.13.0" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.25.1" - "@eslint/plugin-kit" "^0.2.8" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.3.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^10.0.1, espree@^10.3.0: - version "10.3.0" - resolved "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fdir@^6.4.4: - version "6.4.4" - resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz" - integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== - -follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.12" - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.2.6: - version "1.3.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globals@^16.0.0: - version "16.0.0" - resolved "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz" - integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== - -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.0, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lucide-react@^0.507.0: - version "0.507.0" - resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz" - integrity sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -"picomatch@^3 || ^4", picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -postcss@^8.5.3: - version "8.5.3" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -react-dom@^19.0.0, react-dom@>=18: - version "19.1.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz" - integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== - dependencies: - scheduler "^0.26.0" - -react-refresh@^0.17.0: - version "0.17.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" - integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== - -react-router-dom@^7.5.3: - version "7.5.3" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.3.tgz" - integrity sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A== - dependencies: - react-router "7.5.3" - -react-router@7.5.3: - version "7.5.3" - resolved "https://registry.npmjs.org/react-router/-/react-router-7.5.3.tgz" - integrity sha512-3iUDM4/fZCQ89SXlDa+Ph3MevBrozBAI655OAfWQlTm9nBR0IKlrmNwFow5lPHttbwvITZfkeeeZFP6zt3F7pw== - dependencies: - cookie "^1.0.1" - set-cookie-parser "^2.6.0" - turbo-stream "2.4.0" - -"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", react@^19.0.0, react@^19.1.0, react@>=18: - version "19.1.0" - resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" - integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -rollup@^4.34.9: - version "4.40.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz" - integrity sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw== - dependencies: - "@types/estree" "1.0.7" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.40.1" - "@rollup/rollup-android-arm64" "4.40.1" - "@rollup/rollup-darwin-arm64" "4.40.1" - "@rollup/rollup-darwin-x64" "4.40.1" - "@rollup/rollup-freebsd-arm64" "4.40.1" - "@rollup/rollup-freebsd-x64" "4.40.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.40.1" - "@rollup/rollup-linux-arm-musleabihf" "4.40.1" - "@rollup/rollup-linux-arm64-gnu" "4.40.1" - "@rollup/rollup-linux-arm64-musl" "4.40.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.40.1" - "@rollup/rollup-linux-powerpc64le-gnu" "4.40.1" - "@rollup/rollup-linux-riscv64-gnu" "4.40.1" - "@rollup/rollup-linux-riscv64-musl" "4.40.1" - "@rollup/rollup-linux-s390x-gnu" "4.40.1" - "@rollup/rollup-linux-x64-gnu" "4.40.1" - "@rollup/rollup-linux-x64-musl" "4.40.1" - "@rollup/rollup-win32-arm64-msvc" "4.40.1" - "@rollup/rollup-win32-ia32-msvc" "4.40.1" - "@rollup/rollup-win32-x64-msvc" "4.40.1" - fsevents "~2.3.2" - -scheduler@^0.26.0: - version "0.26.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz" - integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -set-cookie-parser@^2.6.0: - version "2.7.1" - resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz" - integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -tinyglobby@^0.2.13: - version "0.2.13" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz" - integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== - dependencies: - fdir "^6.4.4" - picomatch "^4.0.2" - -turbo-stream@2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz" - integrity sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -update-browserslist-db@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -"vite@^4.2.0 || ^5.0.0 || ^6.0.0", vite@^6.3.1: - version "6.3.4" - resolved "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz" - integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw== - dependencies: - esbuild "^0.25.0" - fdir "^6.4.4" - picomatch "^4.0.2" - postcss "^8.5.3" - rollup "^4.34.9" - tinyglobby "^0.2.13" - optionalDependencies: - fsevents "~2.3.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 1708459ae11ba7da26bab1bbc8a4f335bb970794 Mon Sep 17 00:00:00 2001 From: qkrxogmla Date: Thu, 8 May 2025 01:03:12 +0900 Subject: [PATCH 32/59] =?UTF-8?q?npm=EC=9E=AC=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 1365 ++++++++++++++++++++++++++++++++++++ frontend/package.json | 79 +++ 2 files changed, 1444 insertions(+) create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..edc0453 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,1365 @@ +{ + "name": "frontend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "asynckit": "^0.4.0", + "axios": "^1.9.0", + "browserslist": "^4.24.5", + "call-bind-apply-helpers": "^1.0.2", + "caniuse-lite": "^1.0.30001717", + "combined-stream": "^1.0.8", + "convert-source-map": "^2.0.0", + "cookie": "^1.0.2", + "debug": "^4.4.0", + "delayed-stream": "^1.0.0", + "dunder-proto": "^1.0.1", + "electron-to-chromium": "^1.5.150", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "esbuild": "^0.25.4", + "escalade": "^3.2.0", + "fdir": "^6.4.4", + "follow-redirects": "^1.15.9", + "form-data": "^4.0.2", + "fsevents": "^2.3.3", + "function-bind": "^1.1.2", + "gensync": "^1.0.0-beta.2", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "globals": "^11.12.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2", + "js-tokens": "^4.0.0", + "jsesc": "^3.1.0", + "json5": "^2.2.3", + "lru-cache": "^5.1.1", + "math-intrinsics": "^1.1.0", + "mime-db": "^1.52.0", + "mime-types": "^2.1.35", + "ms": "^2.1.3", + "nanoid": "^3.3.11", + "node-releases": "^2.0.19", + "picocolors": "^1.1.1", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "proxy-from-env": "^1.1.0", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-refresh": "^0.17.0", + "react-router": "^7.5.3", + "react-router-dom": "^7.5.3", + "rollup": "^4.40.2", + "scheduler": "^0.26.0", + "semver": "^6.3.1", + "set-cookie-parser": "^2.7.1", + "source-map-js": "^1.2.1", + "tinyglobby": "^0.2.13", + "turbo-stream": "^2.4.0", + "update-browserslist-db": "^1.1.3", + "yallist": "^3.1.1" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.4.1", + "vite": "^6.3.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", + "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", + "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", + "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", + "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", + "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", + "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", + "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.10", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/browserslist": { + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001717", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", + "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.150", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.150.tgz", + "integrity": "sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==", + "license": "ISC" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.5.3.tgz", + "integrity": "sha512-3iUDM4/fZCQ89SXlDa+Ph3MevBrozBAI655OAfWQlTm9nBR0IKlrmNwFow5lPHttbwvITZfkeeeZFP6zt3F7pw==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.3.tgz", + "integrity": "sha512-cK0jSaTyW4jV9SRKAItMIQfWZ/D6WEZafgHuuCb9g+SjhLolY78qc+De4w/Cz9ybjvLzShAmaIMEXt8iF1Cm+A==", + "license": "MIT", + "dependencies": { + "react-router": "7.5.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/rollup": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", + "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.2", + "@rollup/rollup-android-arm64": "4.40.2", + "@rollup/rollup-darwin-arm64": "4.40.2", + "@rollup/rollup-darwin-x64": "4.40.2", + "@rollup/rollup-freebsd-arm64": "4.40.2", + "@rollup/rollup-freebsd-x64": "4.40.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", + "@rollup/rollup-linux-arm-musleabihf": "4.40.2", + "@rollup/rollup-linux-arm64-gnu": "4.40.2", + "@rollup/rollup-linux-arm64-musl": "4.40.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-musl": "4.40.2", + "@rollup/rollup-linux-s390x-gnu": "4.40.2", + "@rollup/rollup-linux-x64-gnu": "4.40.2", + "@rollup/rollup-linux-x64-musl": "4.40.2", + "@rollup/rollup-win32-arm64-msvc": "4.40.2", + "@rollup/rollup-win32-ia32-msvc": "4.40.2", + "@rollup/rollup-win32-x64-msvc": "4.40.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..25d8207 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,79 @@ +{ + "name": "frontend", + "version": "1.0.0", + "description": "This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.", + "main": "eslint.config.js", + "dependencies": { + "asynckit": "^0.4.0", + "axios": "^1.9.0", + "browserslist": "^4.24.5", + "call-bind-apply-helpers": "^1.0.2", + "caniuse-lite": "^1.0.30001717", + "combined-stream": "^1.0.8", + "convert-source-map": "^2.0.0", + "cookie": "^1.0.2", + "debug": "^4.4.0", + "delayed-stream": "^1.0.0", + "dunder-proto": "^1.0.1", + "electron-to-chromium": "^1.5.150", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "esbuild": "^0.25.4", + "escalade": "^3.2.0", + "fdir": "^6.4.4", + "follow-redirects": "^1.15.9", + "form-data": "^4.0.2", + "fsevents": "^2.3.3", + "function-bind": "^1.1.2", + "gensync": "^1.0.0-beta.2", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "globals": "^11.12.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2", + "js-tokens": "^4.0.0", + "jsesc": "^3.1.0", + "json5": "^2.2.3", + "lru-cache": "^5.1.1", + "math-intrinsics": "^1.1.0", + "mime-db": "^1.52.0", + "mime-types": "^2.1.35", + "ms": "^2.1.3", + "nanoid": "^3.3.11", + "node-releases": "^2.0.19", + "picocolors": "^1.1.1", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "proxy-from-env": "^1.1.0", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-refresh": "^0.17.0", + "react-router": "^7.5.3", + "react-router-dom": "^7.5.3", + "rollup": "^4.40.2", + "scheduler": "^0.26.0", + "semver": "^6.3.1", + "set-cookie-parser": "^2.7.1", + "source-map-js": "^1.2.1", + "tinyglobby": "^0.2.13", + "turbo-stream": "^2.4.0", + "update-browserslist-db": "^1.1.3", + "yallist": "^3.1.1" + }, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@vitejs/plugin-react": "^4.4.1", + "vite": "^6.3.5" + } +} From cd00a30a7e78bd077dbe4b3f98af44e257465b91 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:05:14 +0900 Subject: [PATCH 33/59] [Fix] export mapStatus --- frontend/src/utils/AssignmentStatus.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/utils/AssignmentStatus.js b/frontend/src/utils/AssignmentStatus.js index 247ed2e..908d02b 100644 --- a/frontend/src/utils/AssignmentStatus.js +++ b/frontend/src/utils/AssignmentStatus.js @@ -1,4 +1,4 @@ -const mapStatus = (status) => { +export const mapStatus = (status) => { switch (status) { case "SUCCESS": return "done"; From 859a2389071eddd14fd32fa3a6a684db4d3b8b36 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:11:27 +0900 Subject: [PATCH 34/59] re-install npm --- frontend/package-lock.json | 1319 ++++++++++++++++++++++++++++++++---- frontend/package.json | 96 ++- 2 files changed, 1278 insertions(+), 137 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index edc0453..c6c28b3 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,70 +9,137 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "acorn": "^8.14.1", + "acorn-jsx": "^5.3.2", + "ajv": "^6.12.6", + "ansi-styles": "^4.3.0", + "argparse": "^2.0.1", "asynckit": "^0.4.0", "axios": "^1.9.0", - "browserslist": "^4.24.5", + "balanced-match": "^1.0.2", + "brace-expansion": "^1.1.11", + "browserslist": "^4.24.4", "call-bind-apply-helpers": "^1.0.2", - "caniuse-lite": "^1.0.30001717", + "callsites": "^3.1.0", + "caniuse-lite": "^1.0.30001716", + "chalk": "^4.1.2", + "color-convert": "^2.0.1", + "color-name": "^1.1.4", "combined-stream": "^1.0.8", + "concat-map": "^0.0.1", "convert-source-map": "^2.0.0", "cookie": "^1.0.2", + "cross-spawn": "^7.0.6", + "csstype": "^3.1.3", "debug": "^4.4.0", + "deep-is": "^0.1.4", "delayed-stream": "^1.0.0", "dunder-proto": "^1.0.1", - "electron-to-chromium": "^1.5.150", + "electron-to-chromium": "^1.5.148", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", - "esbuild": "^0.25.4", + "esbuild": "^0.25.3", "escalade": "^3.2.0", + "escape-string-regexp": "^4.0.0", + "eslint": "^9.25.1", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.20", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "esrecurse": "^4.3.0", + "estraverse": "^5.3.0", + "esutils": "^2.0.3", + "fast-deep-equal": "^3.1.3", + "fast-json-stable-stringify": "^2.1.0", + "fast-levenshtein": "^2.0.6", "fdir": "^6.4.4", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "flat-cache": "^4.0.1", + "flatted": "^3.3.3", "follow-redirects": "^1.15.9", "form-data": "^4.0.2", - "fsevents": "^2.3.3", "function-bind": "^1.1.2", "gensync": "^1.0.0-beta.2", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", - "globals": "^11.12.0", + "glob-parent": "^6.0.2", + "globals": "^16.0.0", "gopd": "^1.2.0", + "has-flag": "^4.0.0", "has-symbols": "^1.1.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2", + "ignore": "^5.3.2", + "import-fresh": "^3.3.1", + "imurmurhash": "^0.1.4", + "is-extglob": "^2.1.1", + "is-glob": "^4.0.3", + "isexe": "^2.0.0", "js-tokens": "^4.0.0", + "js-yaml": "^4.1.0", "jsesc": "^3.1.0", + "json-buffer": "^3.0.1", + "json-schema-traverse": "^0.4.1", + "json-stable-stringify-without-jsonify": "^1.0.1", "json5": "^2.2.3", + "keyv": "^4.5.4", + "levn": "^0.4.1", + "locate-path": "^6.0.0", + "lodash.merge": "^4.6.2", "lru-cache": "^5.1.1", + "lucide-react": "^0.507.0", "math-intrinsics": "^1.1.0", "mime-db": "^1.52.0", "mime-types": "^2.1.35", + "minimatch": "^3.1.2", "ms": "^2.1.3", "nanoid": "^3.3.11", + "natural-compare": "^1.4.0", "node-releases": "^2.0.19", + "optionator": "^0.9.4", + "p-limit": "^3.1.0", + "p-locate": "^5.0.0", + "parent-module": "^1.0.1", + "path-exists": "^4.0.0", + "path-key": "^3.1.1", "picocolors": "^1.1.1", "picomatch": "^4.0.2", "postcss": "^8.5.3", + "prelude-ls": "^1.2.1", "proxy-from-env": "^1.1.0", + "punycode": "^2.3.1", "react": "^19.1.0", "react-dom": "^19.1.0", "react-refresh": "^0.17.0", "react-router": "^7.5.3", "react-router-dom": "^7.5.3", - "rollup": "^4.40.2", + "resolve-from": "^4.0.0", + "rollup": "^4.40.1", "scheduler": "^0.26.0", "semver": "^6.3.1", "set-cookie-parser": "^2.7.1", + "shebang-command": "^2.0.0", + "shebang-regex": "^3.0.0", "source-map-js": "^1.2.1", + "strip-json-comments": "^3.1.1", + "supports-color": "^7.2.0", "tinyglobby": "^0.2.13", "turbo-stream": "^2.4.0", + "type-check": "^0.4.0", "update-browserslist-db": "^1.1.3", - "yallist": "^3.1.1" + "uri-js": "^4.4.1", + "vite": "^6.3.4", + "which": "^2.0.2", + "word-wrap": "^1.2.5", + "yallist": "^3.1.1", + "yocto-queue": "^0.1.0" }, - "devDependencies": { - "@vitejs/plugin-react": "^4.4.1", - "vite": "^6.3.5" - } + "devDependencies": {} }, "node_modules/@ampproject/remapping": { "version": "2.3.0", @@ -104,9 +171,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", - "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz", + "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", "dev": true, "license": "MIT", "engines": { @@ -162,13 +229,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", + "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -265,9 +332,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", + "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -313,14 +380,14 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", + "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", + "@babel/parser": "^7.27.1", "@babel/types": "^7.27.1" }, "engines": { @@ -346,6 +413,16 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", @@ -360,22 +437,223 @@ "node": ">=6.9.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "node_modules/@esbuild/win32-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", "cpu": [ - "arm64" + "x64" ], "license": "MIT", "optional": true, "os": [ - "darwin" + "win32" ], "engines": { "node": ">=18" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", + "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.25.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", + "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", @@ -429,17 +707,17 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", - "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", + "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", "cpu": [ - "arm64" + "x64" ], "license": "MIT", "optional": true, "os": [ - "darwin" + "win32" ] }, "node_modules/@types/babel__core": { @@ -493,6 +771,32 @@ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "license": "MIT" }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.1.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", + "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz", + "integrity": "sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, "node_modules/@vitejs/plugin-react": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", @@ -513,6 +817,64 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -530,10 +892,26 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -550,10 +928,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -575,10 +953,19 @@ "node": ">= 0.4" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001717", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", - "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "version": "1.0.30001716", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", + "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", "funding": [ { "type": "opencollective", @@ -595,6 +982,40 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -607,6 +1028,12 @@ "node": ">= 0.8" } }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -622,6 +1049,26 @@ "node": ">=18" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -639,6 +1086,12 @@ } } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -663,9 +1116,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.150", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.150.tgz", - "integrity": "sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==", + "version": "1.5.148", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz", + "integrity": "sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A==", "license": "ISC" }, "node_modules/es-define-property": { @@ -714,9 +1167,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", + "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -726,31 +1179,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" + "@esbuild/aix-ppc64": "0.25.3", + "@esbuild/android-arm": "0.25.3", + "@esbuild/android-arm64": "0.25.3", + "@esbuild/android-x64": "0.25.3", + "@esbuild/darwin-arm64": "0.25.3", + "@esbuild/darwin-x64": "0.25.3", + "@esbuild/freebsd-arm64": "0.25.3", + "@esbuild/freebsd-x64": "0.25.3", + "@esbuild/linux-arm": "0.25.3", + "@esbuild/linux-arm64": "0.25.3", + "@esbuild/linux-ia32": "0.25.3", + "@esbuild/linux-loong64": "0.25.3", + "@esbuild/linux-mips64el": "0.25.3", + "@esbuild/linux-ppc64": "0.25.3", + "@esbuild/linux-riscv64": "0.25.3", + "@esbuild/linux-s390x": "0.25.3", + "@esbuild/linux-x64": "0.25.3", + "@esbuild/netbsd-arm64": "0.25.3", + "@esbuild/netbsd-x64": "0.25.3", + "@esbuild/openbsd-arm64": "0.25.3", + "@esbuild/openbsd-x64": "0.25.3", + "@esbuild/sunos-x64": "0.25.3", + "@esbuild/win32-arm64": "0.25.3", + "@esbuild/win32-ia32": "0.25.3", + "@esbuild/win32-x64": "0.25.3" } }, "node_modules/escalade": { @@ -762,6 +1215,204 @@ "node": ">=6" } }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.25.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz", + "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.13.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.25.1", + "@eslint/plugin-kit": "^0.2.8", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", + "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, "node_modules/fdir": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", @@ -776,6 +1427,53 @@ } } }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -811,19 +1509,6 @@ "node": ">= 6" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -879,13 +1564,28 @@ "node": ">= 0.4" } }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", + "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gopd": { @@ -900,6 +1600,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -939,12 +1648,85 @@ "node": ">= 0.4" } }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -957,6 +1739,24 @@ "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -969,6 +1769,49 @@ "node": ">=6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -978,6 +1821,15 @@ "yallist": "^3.0.2" } }, + "node_modules/lucide-react": { + "version": "0.507.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.507.0.tgz", + "integrity": "sha512-XfgE6gvAHwAtnbUvWiTTHx4S3VGR+cUJHEc0vrh9Ogu672I1Tue2+Cp/8JJqpytgcBHAB1FVI297W4XGNwc2dQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -1008,6 +1860,18 @@ "node": ">= 0.6" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -1032,12 +1896,95 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "license": "MIT" }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -1084,12 +2031,30 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/react": { "version": "19.1.0", "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", @@ -1159,10 +2124,19 @@ "react-dom": ">=18" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/rollup": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", - "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", + "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", "license": "MIT", "dependencies": { "@types/estree": "1.0.7" @@ -1175,26 +2149,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.2", - "@rollup/rollup-android-arm64": "4.40.2", - "@rollup/rollup-darwin-arm64": "4.40.2", - "@rollup/rollup-darwin-x64": "4.40.2", - "@rollup/rollup-freebsd-arm64": "4.40.2", - "@rollup/rollup-freebsd-x64": "4.40.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", - "@rollup/rollup-linux-arm-musleabihf": "4.40.2", - "@rollup/rollup-linux-arm64-gnu": "4.40.2", - "@rollup/rollup-linux-arm64-musl": "4.40.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-musl": "4.40.2", - "@rollup/rollup-linux-s390x-gnu": "4.40.2", - "@rollup/rollup-linux-x64-gnu": "4.40.2", - "@rollup/rollup-linux-x64-musl": "4.40.2", - "@rollup/rollup-win32-arm64-msvc": "4.40.2", - "@rollup/rollup-win32-ia32-msvc": "4.40.2", - "@rollup/rollup-win32-x64-msvc": "4.40.2", + "@rollup/rollup-android-arm-eabi": "4.40.1", + "@rollup/rollup-android-arm64": "4.40.1", + "@rollup/rollup-darwin-arm64": "4.40.1", + "@rollup/rollup-darwin-x64": "4.40.1", + "@rollup/rollup-freebsd-arm64": "4.40.1", + "@rollup/rollup-freebsd-x64": "4.40.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", + "@rollup/rollup-linux-arm-musleabihf": "4.40.1", + "@rollup/rollup-linux-arm64-gnu": "4.40.1", + "@rollup/rollup-linux-arm64-musl": "4.40.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-musl": "4.40.1", + "@rollup/rollup-linux-s390x-gnu": "4.40.1", + "@rollup/rollup-linux-x64-gnu": "4.40.1", + "@rollup/rollup-linux-x64-musl": "4.40.1", + "@rollup/rollup-win32-arm64-msvc": "4.40.1", + "@rollup/rollup-win32-ia32-msvc": "4.40.1", + "@rollup/rollup-win32-x64-msvc": "4.40.1", "fsevents": "~2.3.2" } }, @@ -1219,6 +2193,27 @@ "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", "license": "MIT" }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -1228,6 +2223,30 @@ "node": ">=0.10.0" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tinyglobby": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", @@ -1250,6 +2269,18 @@ "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", "license": "ISC" }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -1280,11 +2311,19 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", + "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", "license": "MIT", "dependencies": { "esbuild": "^0.25.0", @@ -1355,11 +2394,47 @@ } } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/frontend/package.json b/frontend/package.json index 25d8207..d561dbb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,76 +4,142 @@ "description": "This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.", "main": "eslint.config.js", "dependencies": { + "acorn": "^8.14.1", + "acorn-jsx": "^5.3.2", + "ajv": "^6.12.6", + "ansi-styles": "^4.3.0", + "argparse": "^2.0.1", "asynckit": "^0.4.0", "axios": "^1.9.0", - "browserslist": "^4.24.5", + "balanced-match": "^1.0.2", + "brace-expansion": "^1.1.11", + "browserslist": "^4.24.4", "call-bind-apply-helpers": "^1.0.2", - "caniuse-lite": "^1.0.30001717", + "callsites": "^3.1.0", + "caniuse-lite": "^1.0.30001716", + "chalk": "^4.1.2", + "color-convert": "^2.0.1", + "color-name": "^1.1.4", "combined-stream": "^1.0.8", + "concat-map": "^0.0.1", "convert-source-map": "^2.0.0", "cookie": "^1.0.2", + "cross-spawn": "^7.0.6", + "csstype": "^3.1.3", "debug": "^4.4.0", + "deep-is": "^0.1.4", "delayed-stream": "^1.0.0", "dunder-proto": "^1.0.1", - "electron-to-chromium": "^1.5.150", + "electron-to-chromium": "^1.5.148", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", - "esbuild": "^0.25.4", + "esbuild": "^0.25.3", "escalade": "^3.2.0", + "escape-string-regexp": "^4.0.0", + "eslint": "^9.25.1", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.20", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "esrecurse": "^4.3.0", + "estraverse": "^5.3.0", + "esutils": "^2.0.3", + "fast-deep-equal": "^3.1.3", + "fast-json-stable-stringify": "^2.1.0", + "fast-levenshtein": "^2.0.6", "fdir": "^6.4.4", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "flat-cache": "^4.0.1", + "flatted": "^3.3.3", "follow-redirects": "^1.15.9", "form-data": "^4.0.2", - "fsevents": "^2.3.3", "function-bind": "^1.1.2", "gensync": "^1.0.0-beta.2", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", - "globals": "^11.12.0", + "glob-parent": "^6.0.2", + "globals": "^16.0.0", "gopd": "^1.2.0", + "has-flag": "^4.0.0", "has-symbols": "^1.1.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2", + "ignore": "^5.3.2", + "import-fresh": "^3.3.1", + "imurmurhash": "^0.1.4", + "is-extglob": "^2.1.1", + "is-glob": "^4.0.3", + "isexe": "^2.0.0", "js-tokens": "^4.0.0", + "js-yaml": "^4.1.0", "jsesc": "^3.1.0", + "json-buffer": "^3.0.1", + "json-schema-traverse": "^0.4.1", + "json-stable-stringify-without-jsonify": "^1.0.1", "json5": "^2.2.3", + "keyv": "^4.5.4", + "levn": "^0.4.1", + "locate-path": "^6.0.0", + "lodash.merge": "^4.6.2", "lru-cache": "^5.1.1", + "lucide-react": "^0.507.0", "math-intrinsics": "^1.1.0", "mime-db": "^1.52.0", "mime-types": "^2.1.35", + "minimatch": "^3.1.2", "ms": "^2.1.3", "nanoid": "^3.3.11", + "natural-compare": "^1.4.0", "node-releases": "^2.0.19", + "optionator": "^0.9.4", + "p-limit": "^3.1.0", + "p-locate": "^5.0.0", + "parent-module": "^1.0.1", + "path-exists": "^4.0.0", + "path-key": "^3.1.1", "picocolors": "^1.1.1", "picomatch": "^4.0.2", "postcss": "^8.5.3", + "prelude-ls": "^1.2.1", "proxy-from-env": "^1.1.0", + "punycode": "^2.3.1", "react": "^19.1.0", "react-dom": "^19.1.0", "react-refresh": "^0.17.0", "react-router": "^7.5.3", "react-router-dom": "^7.5.3", - "rollup": "^4.40.2", + "resolve-from": "^4.0.0", + "rollup": "^4.40.1", "scheduler": "^0.26.0", "semver": "^6.3.1", "set-cookie-parser": "^2.7.1", + "shebang-command": "^2.0.0", + "shebang-regex": "^3.0.0", "source-map-js": "^1.2.1", + "strip-json-comments": "^3.1.1", + "supports-color": "^7.2.0", "tinyglobby": "^0.2.13", "turbo-stream": "^2.4.0", + "type-check": "^0.4.0", "update-browserslist-db": "^1.1.3", - "yallist": "^3.1.1" + "uri-js": "^4.4.1", + "vite": "^6.3.4", + "which": "^2.0.2", + "word-wrap": "^1.2.5", + "yallist": "^3.1.1", + "yocto-queue": "^0.1.0" }, + "devDependencies": {}, "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" + "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", - "devDependencies": { - "@vitejs/plugin-react": "^4.4.1", - "vite": "^6.3.5" - } + "type": "commonjs" } From 95d13c3b0d9b71a60806eb195b08dc04a9fd9157 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:13:43 +0900 Subject: [PATCH 35/59] [Fix]package.json --- frontend/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/package.json b/frontend/package.json index d561dbb..887de16 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -136,7 +136,9 @@ }, "devDependencies": {}, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "dev": "vite", + "build": "vite build", + "preview": "vite preview" }, "keywords": [], "author": "", From 08df23e402220e36e8ff2aa26c6e76cc5bcb7128 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:18:47 +0900 Subject: [PATCH 36/59] [Fix] deploy.yml --- .github/workflows/deploy.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f51066a..611c54e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,7 +21,8 @@ jobs: - name: Install dependencies run: | cd frontend - npm ci + rm -rf node_modules package-lock.json + npm install --no-optional - name: Build frontend run: | From f6f42be6a22ec0768d2286baf175fabc3cbefc6d Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:24:10 +0900 Subject: [PATCH 37/59] [Fix] package.json --- frontend/package-lock.json | 1478 +++++++++++++++++++++++------------- frontend/package.json | 163 +--- 2 files changed, 968 insertions(+), 673 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index c6c28b3..2fc533c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,145 +1,29 @@ { "name": "frontend", - "version": "1.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "frontend", - "version": "1.0.0", - "license": "ISC", + "version": "0.0.0", "dependencies": { - "acorn": "^8.14.1", - "acorn-jsx": "^5.3.2", - "ajv": "^6.12.6", - "ansi-styles": "^4.3.0", - "argparse": "^2.0.1", - "asynckit": "^0.4.0", - "axios": "^1.9.0", - "balanced-match": "^1.0.2", - "brace-expansion": "^1.1.11", - "browserslist": "^4.24.4", - "call-bind-apply-helpers": "^1.0.2", - "callsites": "^3.1.0", - "caniuse-lite": "^1.0.30001716", - "chalk": "^4.1.2", - "color-convert": "^2.0.1", - "color-name": "^1.1.4", - "combined-stream": "^1.0.8", - "concat-map": "^0.0.1", - "convert-source-map": "^2.0.0", - "cookie": "^1.0.2", - "cross-spawn": "^7.0.6", - "csstype": "^3.1.3", - "debug": "^4.4.0", - "deep-is": "^0.1.4", - "delayed-stream": "^1.0.0", - "dunder-proto": "^1.0.1", - "electron-to-chromium": "^1.5.148", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "esbuild": "^0.25.3", - "escalade": "^3.2.0", - "escape-string-regexp": "^4.0.0", - "eslint": "^9.25.1", + "lucide-react": "^0.507.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-router-dom": "^7.5.3" + }, + "devDependencies": { + "@eslint/js": "^9.22.0", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.22.0", "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.20", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.6.0", - "esrecurse": "^4.3.0", - "estraverse": "^5.3.0", - "esutils": "^2.0.3", - "fast-deep-equal": "^3.1.3", - "fast-json-stable-stringify": "^2.1.0", - "fast-levenshtein": "^2.0.6", - "fdir": "^6.4.4", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "flat-cache": "^4.0.1", - "flatted": "^3.3.3", - "follow-redirects": "^1.15.9", - "form-data": "^4.0.2", - "function-bind": "^1.1.2", - "gensync": "^1.0.0-beta.2", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "glob-parent": "^6.0.2", + "eslint-plugin-react-refresh": "^0.4.19", "globals": "^16.0.0", - "gopd": "^1.2.0", - "has-flag": "^4.0.0", - "has-symbols": "^1.1.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2", - "ignore": "^5.3.2", - "import-fresh": "^3.3.1", - "imurmurhash": "^0.1.4", - "is-extglob": "^2.1.1", - "is-glob": "^4.0.3", - "isexe": "^2.0.0", - "js-tokens": "^4.0.0", - "js-yaml": "^4.1.0", - "jsesc": "^3.1.0", - "json-buffer": "^3.0.1", - "json-schema-traverse": "^0.4.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "json5": "^2.2.3", - "keyv": "^4.5.4", - "levn": "^0.4.1", - "locate-path": "^6.0.0", - "lodash.merge": "^4.6.2", - "lru-cache": "^5.1.1", - "lucide-react": "^0.507.0", - "math-intrinsics": "^1.1.0", - "mime-db": "^1.52.0", - "mime-types": "^2.1.35", - "minimatch": "^3.1.2", - "ms": "^2.1.3", - "nanoid": "^3.3.11", - "natural-compare": "^1.4.0", - "node-releases": "^2.0.19", - "optionator": "^0.9.4", - "p-limit": "^3.1.0", - "p-locate": "^5.0.0", - "parent-module": "^1.0.1", - "path-exists": "^4.0.0", - "path-key": "^3.1.1", - "picocolors": "^1.1.1", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "prelude-ls": "^1.2.1", - "proxy-from-env": "^1.1.0", - "punycode": "^2.3.1", - "react": "^19.1.0", - "react-dom": "^19.1.0", - "react-refresh": "^0.17.0", - "react-router": "^7.5.3", - "react-router-dom": "^7.5.3", - "resolve-from": "^4.0.0", - "rollup": "^4.40.1", - "scheduler": "^0.26.0", - "semver": "^6.3.1", - "set-cookie-parser": "^2.7.1", - "shebang-command": "^2.0.0", - "shebang-regex": "^3.0.0", - "source-map-js": "^1.2.1", - "strip-json-comments": "^3.1.1", - "supports-color": "^7.2.0", - "tinyglobby": "^0.2.13", - "turbo-stream": "^2.4.0", - "type-check": "^0.4.0", - "update-browserslist-db": "^1.1.3", - "uri-js": "^4.4.1", - "vite": "^6.3.4", - "which": "^2.0.2", - "word-wrap": "^1.2.5", - "yallist": "^3.1.1", - "yocto-queue": "^0.1.0" - }, - "devDependencies": {} + "vite": "^6.3.1" + } }, "node_modules/@ampproject/remapping": { "version": "2.3.0", @@ -437,175 +321,597 @@ "node": ">=6.9.0" } }, - "node_modules/@esbuild/win32-x64": { + "node_modules/@esbuild/aix-ppc64": { "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", - "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", + "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", "cpu": [ - "x64" + "ppc64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "aix" ], "engines": { "node": ">=18" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", - "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", + "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "license": "Apache-2.0", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", + "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=18" } }, - "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", + "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", - "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", - "license": "Apache-2.0", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", + "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", + "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", + "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", + "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/js": { - "version": "9.25.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", - "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", + "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "license": "Apache-2.0", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", + "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", + "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "license": "Apache-2.0", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", + "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", + "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", + "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", + "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", + "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", + "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", + "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", + "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", + "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", + "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", + "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", + "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", + "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", + "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.25.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", + "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", @@ -619,6 +925,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18.18" @@ -632,6 +939,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=12.22" @@ -645,6 +953,7 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18.18" @@ -696,16 +1005,282 @@ "dev": true, "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", + "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", + "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", + "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", + "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", + "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", + "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", + "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", + "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", + "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", + "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", + "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", + "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", + "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", + "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", + "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", + "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", + "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", + "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", + "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.40.1", @@ -714,6 +1289,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -769,12 +1345,14 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, "license": "MIT" }, "node_modules/@types/react": { @@ -821,6 +1399,7 @@ "version": "8.14.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -833,6 +1412,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -842,6 +1422,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -858,6 +1439,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -873,35 +1455,21 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, "license": "Python-2.0" }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -912,6 +1480,7 @@ "version": "4.24.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, "funding": [ { "type": "opencollective", @@ -940,23 +1509,11 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -966,6 +1523,7 @@ "version": "1.0.30001716", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -986,6 +1544,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -1002,6 +1561,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -1014,30 +1574,21 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, "license": "MIT" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, "license": "MIT" }, "node_modules/cookie": { @@ -1053,6 +1604,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -1067,12 +1619,14 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, "license": "MIT" }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -1090,86 +1644,21 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, "license": "MIT" }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/electron-to-chromium": { "version": "1.5.148", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.148.tgz", "integrity": "sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A==", + "dev": true, "license": "ISC" }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/esbuild": { "version": "0.25.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", + "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -1210,6 +1699,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -1219,6 +1709,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -1231,6 +1722,7 @@ "version": "9.25.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz", "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", + "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -1291,6 +1783,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -1303,6 +1796,7 @@ "version": "0.4.20", "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "dev": true, "license": "MIT", "peerDependencies": { "eslint": ">=8.40" @@ -1312,6 +1806,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -1328,6 +1823,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1340,6 +1836,7 @@ "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.14.0", @@ -1357,6 +1854,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" @@ -1369,6 +1867,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -1381,6 +1880,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -1390,6 +1890,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -1399,24 +1900,28 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, "license": "MIT" }, "node_modules/fdir": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -1431,6 +1936,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" @@ -1443,6 +1949,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^6.0.0", @@ -1459,6 +1966,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", @@ -1472,102 +1980,39 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.3" @@ -1580,6 +2025,7 @@ "version": "16.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", + "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -1588,70 +2034,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -1661,6 +2058,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -1677,6 +2075,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -1686,6 +2085,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -1695,6 +2095,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -1707,18 +2108,21 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, "license": "ISC" }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -1731,6 +2135,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -1743,24 +2148,28 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -1773,6 +2182,7 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -1782,6 +2192,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", @@ -1795,6 +2206,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^5.0.0" @@ -1810,12 +2222,14 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -1830,40 +2244,11 @@ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -1876,12 +2261,14 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, "funding": [ { "type": "github", @@ -1900,18 +2287,21 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, "license": "MIT" }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, "license": "MIT", "dependencies": { "deep-is": "^0.1.3", @@ -1929,6 +2319,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" @@ -1944,6 +2335,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^3.0.2" @@ -1959,6 +2351,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -1971,6 +2364,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1980,6 +2374,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1989,12 +2384,14 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -2007,6 +2404,7 @@ "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2035,21 +2433,17 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.8.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -2080,6 +2474,7 @@ "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2128,6 +2523,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -2137,6 +2533,7 @@ "version": "4.40.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", + "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.7" @@ -2182,6 +2579,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -2197,6 +2595,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -2209,6 +2608,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2218,6 +2618,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -2227,6 +2628,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2239,6 +2641,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -2251,6 +2654,7 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -2273,6 +2677,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" @@ -2285,6 +2690,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2315,6 +2721,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -2324,6 +2731,7 @@ "version": "6.3.4", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", + "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", @@ -2398,6 +2806,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -2413,6 +2822,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2422,12 +2832,14 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -2437,4 +2849,4 @@ } } } -} +} \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 887de16..aac2c62 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,147 +1,30 @@ { "name": "frontend", - "version": "1.0.0", - "description": "This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.", - "main": "eslint.config.js", - "dependencies": { - "acorn": "^8.14.1", - "acorn-jsx": "^5.3.2", - "ajv": "^6.12.6", - "ansi-styles": "^4.3.0", - "argparse": "^2.0.1", - "asynckit": "^0.4.0", - "axios": "^1.9.0", - "balanced-match": "^1.0.2", - "brace-expansion": "^1.1.11", - "browserslist": "^4.24.4", - "call-bind-apply-helpers": "^1.0.2", - "callsites": "^3.1.0", - "caniuse-lite": "^1.0.30001716", - "chalk": "^4.1.2", - "color-convert": "^2.0.1", - "color-name": "^1.1.4", - "combined-stream": "^1.0.8", - "concat-map": "^0.0.1", - "convert-source-map": "^2.0.0", - "cookie": "^1.0.2", - "cross-spawn": "^7.0.6", - "csstype": "^3.1.3", - "debug": "^4.4.0", - "deep-is": "^0.1.4", - "delayed-stream": "^1.0.0", - "dunder-proto": "^1.0.1", - "electron-to-chromium": "^1.5.148", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "esbuild": "^0.25.3", - "escalade": "^3.2.0", - "escape-string-regexp": "^4.0.0", - "eslint": "^9.25.1", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.20", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.6.0", - "esrecurse": "^4.3.0", - "estraverse": "^5.3.0", - "esutils": "^2.0.3", - "fast-deep-equal": "^3.1.3", - "fast-json-stable-stringify": "^2.1.0", - "fast-levenshtein": "^2.0.6", - "fdir": "^6.4.4", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "flat-cache": "^4.0.1", - "flatted": "^3.3.3", - "follow-redirects": "^1.15.9", - "form-data": "^4.0.2", - "function-bind": "^1.1.2", - "gensync": "^1.0.0-beta.2", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "glob-parent": "^6.0.2", - "globals": "^16.0.0", - "gopd": "^1.2.0", - "has-flag": "^4.0.0", - "has-symbols": "^1.1.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2", - "ignore": "^5.3.2", - "import-fresh": "^3.3.1", - "imurmurhash": "^0.1.4", - "is-extglob": "^2.1.1", - "is-glob": "^4.0.3", - "isexe": "^2.0.0", - "js-tokens": "^4.0.0", - "js-yaml": "^4.1.0", - "jsesc": "^3.1.0", - "json-buffer": "^3.0.1", - "json-schema-traverse": "^0.4.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "json5": "^2.2.3", - "keyv": "^4.5.4", - "levn": "^0.4.1", - "locate-path": "^6.0.0", - "lodash.merge": "^4.6.2", - "lru-cache": "^5.1.1", - "lucide-react": "^0.507.0", - "math-intrinsics": "^1.1.0", - "mime-db": "^1.52.0", - "mime-types": "^2.1.35", - "minimatch": "^3.1.2", - "ms": "^2.1.3", - "nanoid": "^3.3.11", - "natural-compare": "^1.4.0", - "node-releases": "^2.0.19", - "optionator": "^0.9.4", - "p-limit": "^3.1.0", - "p-locate": "^5.0.0", - "parent-module": "^1.0.1", - "path-exists": "^4.0.0", - "path-key": "^3.1.1", - "picocolors": "^1.1.1", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "prelude-ls": "^1.2.1", - "proxy-from-env": "^1.1.0", - "punycode": "^2.3.1", - "react": "^19.1.0", - "react-dom": "^19.1.0", - "react-refresh": "^0.17.0", - "react-router": "^7.5.3", - "react-router-dom": "^7.5.3", - "resolve-from": "^4.0.0", - "rollup": "^4.40.1", - "scheduler": "^0.26.0", - "semver": "^6.3.1", - "set-cookie-parser": "^2.7.1", - "shebang-command": "^2.0.0", - "shebang-regex": "^3.0.0", - "source-map-js": "^1.2.1", - "strip-json-comments": "^3.1.1", - "supports-color": "^7.2.0", - "tinyglobby": "^0.2.13", - "turbo-stream": "^2.4.0", - "type-check": "^0.4.0", - "update-browserslist-db": "^1.1.3", - "uri-js": "^4.4.1", - "vite": "^6.3.4", - "which": "^2.0.2", - "word-wrap": "^1.2.5", - "yallist": "^3.1.1", - "yocto-queue": "^0.1.0" - }, - "devDependencies": {}, + "private": true, + "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", - "build": "vite build", + "build": "vite build", + "lint": "eslint .", "preview": "vite preview" }, - "keywords": [], - "author": "", - "license": "ISC", - "type": "commonjs" + "dependencies": { + "axios": "^1.9.0", + "lucide-react": "^0.507.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-router-dom": "^7.5.3" + }, + "devDependencies": { + "@eslint/js": "^9.22.0", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.22.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "vite": "^6.3.1" + } } From 9c9b58518c27080de30f5eba1756d4d38732759f Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:26:41 +0900 Subject: [PATCH 38/59] [Fix] deploy.yml --- .github/workflows/deploy.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 611c54e..5826925 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,7 +22,8 @@ jobs: run: | cd frontend rm -rf node_modules package-lock.json - npm install --no-optional + npm install + npm install --save-dev vite rollup - name: Build frontend run: | From ba635a662968ea463e442d31b8c80eade87ed815 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:33:14 +0900 Subject: [PATCH 39/59] =?UTF-8?q?frontend=20=EB=B0=B0=ED=8F=AC=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5826925..987afce 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -57,7 +57,7 @@ jobs: - name: Build backend run: | - cd backend + cd backend/pirocheck ./gradlew build --no-daemon - name: Restore PEM file From e0a5702f64eafe35171457bfc16ccab918a581b3 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:37:45 +0900 Subject: [PATCH 40/59] give permission gradlew --- backend/pirocheck/gradlew | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/pirocheck/gradlew b/backend/pirocheck/gradlew index faf9300..2a7b10c 100644 --- a/backend/pirocheck/gradlew +++ b/backend/pirocheck/gradlew @@ -81,7 +81,7 @@ do *) app_path=$APP_HOME$link ;; esac done - + # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} From 1c4fb217bfa6ed6f0f254ff99996435b92a02757 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:41:14 +0900 Subject: [PATCH 41/59] grant permission --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 987afce..6cebb69 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -55,9 +55,11 @@ jobs: distribution: 'temurin' java-version: '17' + - name: Build backend run: | cd backend/pirocheck + chmod +x backend/pirocheck/gradlew ./gradlew build --no-daemon - name: Restore PEM file From 409b387876c7c47abf0b7048fa5312cc725fd7da Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:43:03 +0900 Subject: [PATCH 42/59] [Fix] deploy.yml for backend --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6cebb69..036bcfe 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -59,7 +59,7 @@ jobs: - name: Build backend run: | cd backend/pirocheck - chmod +x backend/pirocheck/gradlew + chmod +x gradlew ./gradlew build --no-daemon - name: Restore PEM file From b7b508037cc9e1eb9e4b22a8e889625d07fa8dc9 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:53:27 +0900 Subject: [PATCH 43/59] deploy.yml:Create .env file --- .github/workflows/deploy.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 036bcfe..d612ea9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -54,7 +54,15 @@ jobs: with: distribution: 'temurin' java-version: '17' - + + - name: Create .env file + run: | + echo DB_HOST=${{ secrets.DB_HOST }} >> .env + echo DB_PORT=${{ secrets.DB_PORT }} >> .env + echo DB_NAME=${{ secrets.DB_NAME }} >> .env + echo DB_USER=${{ secrets.DB_USER }} >> .env + echo DB_PASSWORD=${{ secrets.DB_PASSWORD }} >> .env + working-directory: backend/pirocheck - name: Build backend run: | @@ -62,6 +70,7 @@ jobs: chmod +x gradlew ./gradlew build --no-daemon + - name: Restore PEM file run: | echo "${{ secrets.EC2_SSH_KEY }}" | base64 -d > pirocheck.pem From 4a19d0da65b1b1a708715eb0916599892cfb3272 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 01:54:27 +0900 Subject: [PATCH 44/59] =?UTF-8?q?=EB=B0=B0=ED=8F=AC=20=EC=88=9C=EC=84=9C?= =?UTF-8?q?=20=EB=B0=94=EA=BE=B8=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 72 ++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d612ea9..d2d53aa 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -5,41 +5,6 @@ on: branches: [deploy] jobs: - frontend: - name: Deploy Frontend to S3 - runs-on: ubuntu-22.04 - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Set up Node.js - uses: actions/setup-node@v3 - with: - node-version: '22' - - - name: Install dependencies - run: | - cd frontend - rm -rf node_modules package-lock.json - npm install - npm install --save-dev vite rollup - - - name: Build frontend - run: | - cd frontend - npm run build - - - name: Deploy to S3 - uses: jakejarvis/s3-sync-action@master - with: - args: --delete - env: - AWS_S3_BUCKET: www.pirocheck.org - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - SOURCE_DIR: frontend/dist - backend: name: Deploy Backend to EC2 needs: frontend @@ -54,7 +19,7 @@ jobs: with: distribution: 'temurin' java-version: '17' - + - name: Create .env file run: | echo DB_HOST=${{ secrets.DB_HOST }} >> .env @@ -110,3 +75,38 @@ jobs: "color": 16711680 }] }' ${{ secrets.DISCORD_WEBHOOK }} + + frontend: + name: Deploy Frontend to S3 + runs-on: ubuntu-22.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '22' + + - name: Install dependencies + run: | + cd frontend + rm -rf node_modules package-lock.json + npm install + npm install --save-dev vite rollup + + - name: Build frontend + run: | + cd frontend + npm run build + + - name: Deploy to S3 + uses: jakejarvis/s3-sync-action@master + with: + args: --delete + env: + AWS_S3_BUCKET: www.pirocheck.org + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + SOURCE_DIR: frontend/dist \ No newline at end of file From 52a7c50b14bec8eacdefacc43e89fb2a7e037b1e Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 02:00:38 +0900 Subject: [PATCH 45/59] =?UTF-8?q?build&=20env=20=EC=83=9D=EC=84=B1=20?= =?UTF-8?q?=ED=95=A9=EC=B9=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d2d53aa..255a536 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,8 +7,7 @@ on: jobs: backend: name: Deploy Backend to EC2 - needs: frontend - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout repository @@ -20,18 +19,15 @@ jobs: distribution: 'temurin' java-version: '17' - - name: Create .env file + - name: Create .env file& Build backend run: | + cd backend/pirocheck echo DB_HOST=${{ secrets.DB_HOST }} >> .env echo DB_PORT=${{ secrets.DB_PORT }} >> .env echo DB_NAME=${{ secrets.DB_NAME }} >> .env echo DB_USER=${{ secrets.DB_USER }} >> .env echo DB_PASSWORD=${{ secrets.DB_PASSWORD }} >> .env - working-directory: backend/pirocheck - - name: Build backend - run: | - cd backend/pirocheck chmod +x gradlew ./gradlew build --no-daemon @@ -78,6 +74,7 @@ jobs: frontend: name: Deploy Frontend to S3 + needs: backend runs-on: ubuntu-22.04 steps: From 58e1c087508549f83c901db5dcd1850bf98d1f5e Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 02:03:13 +0900 Subject: [PATCH 46/59] =?UTF-8?q?test=20=EC=83=9D=EB=9E=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 255a536..735fa9c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,7 +29,7 @@ jobs: echo DB_PASSWORD=${{ secrets.DB_PASSWORD }} >> .env chmod +x gradlew - ./gradlew build --no-daemon + ./gradlew build -x test --no-daemon - name: Restore PEM file From 4465362cb3a2a22498afbf5aee5cfcbb45fcd7af Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 02:12:52 +0900 Subject: [PATCH 47/59] =?UTF-8?q?=EC=B0=90=EB=A7=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 735fa9c..179b19c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,7 +39,7 @@ jobs: - name: Copy JAR to EC2 run: | - scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/app.jar + scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/pirocheck/build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/app.jar - name: Restart Spring Boot on EC2 run: | From 6f26bcc611f207f503a27b27ffaabbaa49bc7ee9 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 02:33:07 +0900 Subject: [PATCH 48/59] =?UTF-8?q?=EC=9E=A5=EC=9E=AC=ED=9B=88=20=EC=B2=9C?= =?UTF-8?q?=EC=9E=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 179b19c..f0b620f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,7 +39,7 @@ jobs: - name: Copy JAR to EC2 run: | - scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/pirocheck/build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/app.jar + scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/pirocheck/build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/ - name: Restart Spring Boot on EC2 run: | From 6a5364c18fc298d20c50e833932eb2b0b41f468f Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 03:23:25 +0900 Subject: [PATCH 49/59] =?UTF-8?q?[HotFix]Deploy=20=EC=84=B1=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 980518b..b89f01f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # 🏫 PiroCheck -피로그래밍 과제/출석/보증금 관리 서비스! +피로그래밍 과제/출석/보증금 관리 서비스 From ff4c525d53c61886d062b61fd6fcdfb510c90233 Mon Sep 17 00:00:00 2001 From: Imggaggu Date: Thu, 8 May 2025 14:10:39 +0900 Subject: [PATCH 50/59] [Fix] intro page font --- frontend/src/Intro.module.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/Intro.module.css b/frontend/src/Intro.module.css index 9fc44ae..491aef3 100644 --- a/frontend/src/Intro.module.css +++ b/frontend/src/Intro.module.css @@ -27,7 +27,7 @@ .intro_container { background-color: var(--background-black); color: var(--main-green); - font-family: "Cafe24Moyamoya-Regular-v1.0", sans-serif; + font-family: 'Akira Expanded'; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); display: flex; justify-content: center; From 6fc3aa0f39bb7f29bb99b0ca18e61dd3494b4919 Mon Sep 17 00:00:00 2001 From: seonjuuu Date: Thu, 8 May 2025 16:11:04 +0900 Subject: [PATCH 51/59] =?UTF-8?q?[feat]=20=EB=B3=B4=EC=A6=9D=EA=B8=88=20?= =?UTF-8?q?=EC=B0=A8=EA=B0=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/pirocheck/.gitignore | 2 +- backend/pirocheck/gradlew | 0 .../pirocheck/Deposit/service/DepositService.java | 10 +++++----- 3 files changed, 6 insertions(+), 6 deletions(-) mode change 100644 => 100755 backend/pirocheck/gradlew diff --git a/backend/pirocheck/.gitignore b/backend/pirocheck/.gitignore index 3fac0c4..a122e8b 100644 --- a/backend/pirocheck/.gitignore +++ b/backend/pirocheck/.gitignore @@ -40,4 +40,4 @@ out/ ### 환경 변수 ### ../../.env -.env \ No newline at end of file +../../.env \ No newline at end of file diff --git a/backend/pirocheck/gradlew b/backend/pirocheck/gradlew old mode 100644 new mode 100755 diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Deposit/service/DepositService.java b/backend/pirocheck/src/main/java/backend/pirocheck/Deposit/service/DepositService.java index f8cd876..ce3da5f 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Deposit/service/DepositService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Deposit/service/DepositService.java @@ -20,7 +20,7 @@ public class DepositService { private final DepositRepository depositRepository; private final UserRepository userRepository; private final AttendanceRepository attendanceRepository; - private final AssignmentRepository assignmentRepository; // 확인 + private final AssignmentRepository assignmentRepository; @Transactional public DepositResDto getDeposit(Long userId) { @@ -31,12 +31,12 @@ public DepositResDto getDeposit(Long userId) { // 출석 실패 int failAttendanceCount = attendanceRepository.countByUserAndStatusFalse(user); - int descentAttendance = failAttendanceCount * 10000; + int descentAttendance = failAttendanceCount * 10_000; // 과제 실패 - int failAssignmentCount = assignmentRepository.countByUserAndSubmitted(user, AssignmentStatus.FAILURE); // 확인 - int weakAssignmentCount = assignmentRepository.countByUserAndSubmitted(user, AssignmentStatus.INSUFFICIENT); // 확인 - int descentAssignment = failAssignmentCount * 10_000 + weakAssignmentCount * 5_000; + int failAssignmentCount = assignmentRepository.countByUserAndSubmitted(user, AssignmentStatus.FAILURE); + int weakAssignmentCount = assignmentRepository.countByUserAndSubmitted(user, AssignmentStatus.INSUFFICIENT); + int descentAssignment = failAssignmentCount * 20_000 + weakAssignmentCount * 10_000; // 방어권 int ascentDefence = deposit.getAscentDefence(); From 8bf9a7cfadb57a900762ca16d49d2ca80710807d Mon Sep 17 00:00:00 2001 From: seonjuuu Date: Thu, 8 May 2025 16:38:00 +0900 Subject: [PATCH 52/59] [feat] login exception --- .../User/exception/GlobalExceptionHandler.java | 18 ++++++++++++++++++ .../User/exception/InvalidLoginException.java | 7 +++++++ .../pirocheck/User/service/UserService.java | 12 +++++++++--- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java create mode 100644 backend/pirocheck/src/main/java/backend/pirocheck/User/exception/InvalidLoginException.java diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..a135034 --- /dev/null +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java @@ -0,0 +1,18 @@ +package backend.pirocheck.User.exception; + +import backend.pirocheck.Attendance.dto.response.ApiResponse; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(InvalidLoginException.class) + public ResponseEntity> handleInvalidLoginException(InvalidLoginException e) { + return ResponseEntity + .status(HttpStatus.UNAUTHORIZED) // 401 상태 코드 + .body(ApiResponse.error(e.getMessage())); // 에러 메시지 전달 + } +} diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/InvalidLoginException.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/InvalidLoginException.java new file mode 100644 index 0000000..0ee5021 --- /dev/null +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/InvalidLoginException.java @@ -0,0 +1,7 @@ +package backend.pirocheck.User.exception; + +public class InvalidLoginException extends RuntimeException{ + public InvalidLoginException(String message) { + super(message); + } +} diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java index 304edd8..a26d18f 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java @@ -1,6 +1,7 @@ package backend.pirocheck.User.service; import backend.pirocheck.User.entity.User; +import backend.pirocheck.User.exception.InvalidLoginException; import backend.pirocheck.User.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -12,8 +13,13 @@ public class UserService { private final UserRepository userRepository; public User login(String name, String password) { - return userRepository.findByName(name) - .filter(user -> user.getPassword().equals(password)) - .orElseThrow(() -> new IllegalArgumentException("이름 또는 비밀번호가 일치하지 않습니다.")); + User user = userRepository.findByName(name) + .orElseThrow(() -> new InvalidLoginException("해당 사용자가 존재하지 않습니다.")); + + if (!user.getPassword().equals(password)) { + throw new InvalidLoginException("비밀번호가 일치하지 않습니다."); + } + + return user; } } From 0cb5077ca22844dfd17ece7642d6d80b435b383d Mon Sep 17 00:00:00 2001 From: seonjuuu Date: Thu, 8 May 2025 16:53:37 +0900 Subject: [PATCH 53/59] [feat] login exception --- backend/pirocheck/.gitignore | 2 +- .../main/java/backend/pirocheck/User/service/UserService.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/pirocheck/.gitignore b/backend/pirocheck/.gitignore index a122e8b..3fac0c4 100644 --- a/backend/pirocheck/.gitignore +++ b/backend/pirocheck/.gitignore @@ -40,4 +40,4 @@ out/ ### 환경 변수 ### ../../.env -../../.env \ No newline at end of file +.env \ No newline at end of file diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java index a26d18f..04231cf 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java @@ -23,3 +23,4 @@ public User login(String name, String password) { return user; } } + From 5f6a5668c4904c869f81968a26e7a4eeebc83e97 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Sat, 10 May 2025 11:05:08 +0900 Subject: [PATCH 54/59] =?UTF-8?q?[fix]:=20InputBlock=20=EC=9E=85=EB=A0=A5?= =?UTF-8?q?=20=EA=B8=80=EC=9E=90=20=EC=95=88=EB=B3=B4=EC=9D=B4=EB=8A=94=20?= =?UTF-8?q?=EC=9D=B4=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 2 +- frontend/src/Login.jsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b6e69ec..221b29a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -2013,4 +2013,4 @@ "license": "ISC" } } -} \ No newline at end of file +} diff --git a/frontend/src/Login.jsx b/frontend/src/Login.jsx index e74413a..58f63b1 100644 --- a/frontend/src/Login.jsx +++ b/frontend/src/Login.jsx @@ -71,6 +71,7 @@ const Login = () => { placeholder: "비밀번호", }, ]} + values={[name, password]} // InputBlock props 수정에 따라 추가 onChange={handleChange} />
From d546d17ba4ac2658d5e35746fc5532a6a63e52e9 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Sat, 10 May 2025 12:05:55 +0900 Subject: [PATCH 55/59] =?UTF-8?q?[add]:=20=EC=B6=9C=EC=84=9D=EC=B2=B4?= =?UTF-8?q?=ED=81=AC=20=ED=98=84=ED=99=A9=20=EA=B0=80=EC=A0=B8=EC=98=A4?= =?UTF-8?q?=EA=B8=B0+=EC=B6=9C=EC=84=9D=EC=B2=B4=ED=81=AC=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/Attendance.jsx | 115 ++++++++++++++++-- .../src/components/AttendanceWeekInfo.jsx | 12 +- 2 files changed, 110 insertions(+), 17 deletions(-) diff --git a/frontend/src/Attendance.jsx b/frontend/src/Attendance.jsx index 79650f7..4f1cbef 100644 --- a/frontend/src/Attendance.jsx +++ b/frontend/src/Attendance.jsx @@ -1,11 +1,91 @@ -import { useState } from "react"; +import { useEffect, useState } from "react"; import Header from "./components/Header"; import InputBlock from "./components/InputBlock"; import AttendanceWeekInfo from "./components/AttendanceWeekInfo"; import styles from "./Attendance.module.css"; +import axios from "axios"; const Attendance = () => { const [attendanceCode, setAttendanceCode] = useState([""]); + const [attendanceData, setAttendanceData] = useState([]); + + const getSubImage = (count) => { + switch (count) { + case 3: + return "/assets/img/full_coin_green.png"; + case 2: + return "/assets/img/two_coin_yellow.png"; + case 1: + return "/assets/img/one_coin_yellow.png"; + default: + return "/assets/img/three_out_red.png"; + } + }; + + // 날짜 기반 주차 계산 + const getWeekFromDate = (dateStr) => { + const startDate = new Date("2025-06-24"); // 세션 시작일 + const currentDate = new Date(dateStr); + + // 두 날짜 사이 일수 차이 계산 + const diffTime = currentDate.getTime() - startDate.getTime(); + const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24)); + + // 0~6일 사이: 1주차, 7~13일 사이: 2주차 + return Math.floor(diffDays / 7) + 1; + }; + + const processWeeklyAttendance = (rawData) => { + const weekSlotMap = new Map(); + // { weekNum: [boolean, boolean, ...] } + + rawData.forEach(({ date, slots }) => { + const week = getWeekFromDate(date); // 날짜 기준 주차 계산 + const presentSlots = slots.map((slot) => slot.status); // T/F 목록 생성 + const existing = weekSlotMap.get(week) || []; + weekSlotMap.set(week, [...existing, ...presentSlots]); + }); + + return Array.from({ length: 5 }, (_, i) => { + const week = i + 1; + const all9 = weekSlotMap.get(week) || []; // 총 9개의 출석 슬롯 (3번의 출석체크*주차당 3번의 세션) + + const classes = [0, 1, 2].map((classIdx) => { + // 0,1,2 -> 세션당 3번의 출석체크 + const slice = all9.slice(classIdx * 3, classIdx * 3 + 3); + const count = slice.filter(Boolean).length; // 출석 성공(True) 카운트 + return { + image: getSubImage(count), + count, + }; + }); + + return { week, classes }; // week: 1, classes: [ {image, count}, ... ] + }); + }; + + useEffect(() => { + const fetchAttendance = async () => { + try { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + + if (!userId) return; + + const res = await axios.get(`/api/attendance/user`, { + params: { userId }, + }); + + const rawData = res.data.data; + const weekly = processWeeklyAttendance(rawData); + setAttendanceData(weekly); + } catch (error) { + console.error("출석 정보 가져오기 실패:", error); + } + }; + fetchAttendance(); + }, []); + const handleChange = (index, value) => { // 숫자만 입력 허용 if (/^\d*$/.test(value)) { @@ -14,9 +94,28 @@ const Attendance = () => { setAttendanceCode(userCodes); } }; - const handleSubmit = () => { - console.log("제출된 출석 코드: ", attendanceCode[0]); - // 서버 요청 등 추가 작업 + const handleSubmit = async () => { + try { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + if (!userId) return; + + // 출석체크 서버에 반영 + const res = await axios.post("/api/attendance/mark", { + userId, + code: attendanceCode[0], + }); + + if (res.data.success) { + alert("출석이 성공적으로 처리되었습니다!"); + fetchAttendance(); // 서버 출석체크 전달 후 UI 반영 + } else { + alert(res.data.message); + } + } catch (error) { + console.error("출석 제출 실패:", error); + alert("출석 제출 중 오류 발생!"); + } }; return ( @@ -49,11 +148,9 @@ const Attendance = () => {
- - - - - + {attendanceData.map(({ week, classes }) => ( + + ))}
); diff --git a/frontend/src/components/AttendanceWeekInfo.jsx b/frontend/src/components/AttendanceWeekInfo.jsx index 2bae09c..10f1b3b 100644 --- a/frontend/src/components/AttendanceWeekInfo.jsx +++ b/frontend/src/components/AttendanceWeekInfo.jsx @@ -1,18 +1,14 @@ import React from "react"; import "./componentsCss/AttendanceWeekInfo.css"; -const AttendanceWeekInfo = ({ week }) => { +const AttendanceWeekInfo = ({ week, classes }) => { return (

{week}주차

- -
-
- -
-
- + {classes.map((cls, idx) => ( + {`${idx + ))}
); From 739a87fc3ea7c3007eb7807b34251883b63ce351 Mon Sep 17 00:00:00 2001 From: NamKyeongMin Date: Sat, 10 May 2025 19:57:38 +0900 Subject: [PATCH 56/59] =?UTF-8?q?[add]:=20boom-img-container=20=EB=8F=99?= =?UTF-8?q?=EC=A0=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/assets/img/boom-fill-green.png | Bin 0 -> 16289 bytes frontend/public/assets/img/boom-fill-red.png | Bin 0 -> 16879 bytes frontend/src/Attendance.jsx | 101 +++++++++++++----- 3 files changed, 73 insertions(+), 28 deletions(-) create mode 100644 frontend/public/assets/img/boom-fill-green.png create mode 100644 frontend/public/assets/img/boom-fill-red.png diff --git a/frontend/public/assets/img/boom-fill-green.png b/frontend/public/assets/img/boom-fill-green.png new file mode 100644 index 0000000000000000000000000000000000000000..6416093059824996f574981553f5705819c56466 GIT binary patch literal 16289 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 A#sB~S literal 0 HcmV?d00001 diff --git a/frontend/public/assets/img/boom-fill-red.png b/frontend/public/assets/img/boom-fill-red.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5bb3b1d467a98c48a0b7990526fe5f0b75af1b GIT binary patch literal 16879 zcmeIaWmuG5*EfF75Dp?R0)hg7bo-XJr^(XDi8yY{=%cl zq13O1p6G10-Mpm12>X_8#x$a%`>PS6)HqExU9fohr5WwZ(~Z!izj4r+1`L(;thaMG zZq#HV272I#h>N^3kfO_M$s6!9_y-uq z{@*W=Qy?HJ+N7A%qz|AV7aG#@sEAYuhWh%U>l*2KI63s?-_7V5QP9PkPYmynK7fI6 z!o=^RFfz~JV7QBR+{o=?e6{V zT{2;G{Kgmt6z>$!Mj@HIF)X#1d_y-L$Kh?pN@=CegBk3nz1W_)_g0oWhh8bIR78yq z0R|+%VwGsL_UhG0_X1XK4tvvK!3sA^xB4RKhcbAUP7=` z&gZFbSWkK;kI8lJL^=t}CcZ-lK3AyVFyaLEQA&k`>^@ol7NGKs$%_~mOb8sc;?x!t zT_u`~p@0lzv+4QUzQbc=(|ypXTC-ESTNgWUPdBEyyG)vuXkc7GquxOA0=vws5=YO{ znz#I$euhc>l-+LoscUUcq|yqwj&?G$y#)%1R=}Z$aKoSS$No`n)nm?zl2HLf*=YmW zX{a$7W#SeS4~OwdI}V3QOjS+D4)Gz`erv=+(M8}1G^znJTc;)l1P#o zASr2gQIdaL{!!rY*r+}&p(}65v7VKIRpquh5Pk{}er9(qo z^qO0bqLPZ4;fNAI^3Tq%O`S2!jU!WsU5I(?{Ra=|%BZhwKO!&Hya4DeP= BCl?m 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 { const [attendanceCode, setAttendanceCode] = useState([""]); const [attendanceData, setAttendanceData] = useState([]); + const [todayStatuses, setTodayStatuses] = useState([ + "not_started", + "not_started", + "not_started", + ]); const getSubImage = (count) => { switch (count) { @@ -22,6 +27,18 @@ const Attendance = () => { } }; + // 세션별 상단 이미지 handling + const getBoomImage = (status) => { + switch (status) { + case "success": + return "/assets/img/boom-fill-green.png"; + case "fail": + return "/assets/img/boom-fill-red.png"; + default: + return "/assets/img/tabler--boom.png"; + } + }; + // 날짜 기반 주차 계산 const getWeekFromDate = (dateStr) => { const startDate = new Date("2025-06-24"); // 세션 시작일 @@ -64,26 +81,57 @@ const Attendance = () => { }); }; - useEffect(() => { - const fetchAttendance = async () => { - try { - const user = JSON.parse(localStorage.getItem("user")); - const userId = user?.id; - - if (!userId) return; - - const res = await axios.get(`/api/attendance/user`, { - params: { userId }, - }); - - const rawData = res.data.data; - const weekly = processWeeklyAttendance(rawData); - setAttendanceData(weekly); - } catch (error) { - console.error("출석 정보 가져오기 실패:", error); + const fetchAttendance = async () => { + try { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + if (!userId) return; + + // 유저 전체 출석 데이터 불러오기 + const res = await axios.get(`/api/attendance/user`, { + params: { userId }, + }); + const rawData = res.data.data; + const weekly = processWeeklyAttendance(rawData); + setAttendanceData(weekly); + } catch (error) { + console.error("출석 정보 가져오기 실패:", error); + } + }; + + // 세션별 출석체크(총 3번) 진행 정보 불러오기 + const fetchTodayAttendance = async () => { + try { + const user = JSON.parse(localStorage.getItem("user")); + const userId = user?.id; + if (!userId) return; + + const today = new Date().toISOString().split("T")[0]; // YYYY-MM-DD + const res = await axios.get(`/api/attendance/user/date`, { + params: { userId, date: today }, + }); + + const slots = res.data.data?.[0]?.slots || []; + + const statuses = slots.map((slot) => { + if (slot.status === true) return "success"; + else return "fail"; + }); + + // 출석체크 진행안된 것 처리 + while (statuses.length < 3) { + statuses.push("not_started"); } - }; + + setTodayStatuses(statuses); + } catch (error) { + console.error("오늘 출석 정보 가져오기 실패:", error); + } + }; + + useEffect(() => { fetchAttendance(); + fetchTodayAttendance(); }, []); const handleChange = (index, value) => { @@ -100,7 +148,7 @@ const Attendance = () => { const userId = user?.id; if (!userId) return; - // 출석체크 서버에 반영 + // 유저가 입력한 출석 코드 서버에 전달(서버에서 출석코드 체크) const res = await axios.post("/api/attendance/mark", { userId, code: attendanceCode[0], @@ -109,6 +157,7 @@ const Attendance = () => { if (res.data.success) { alert("출석이 성공적으로 처리되었습니다!"); fetchAttendance(); // 서버 출석체크 전달 후 UI 반영 + fetchTodayAttendance(); // 세션별 상단 이미지 UI 반영 } else { alert(res.data.message); } @@ -137,15 +186,11 @@ const Attendance = () => { )}
-
- -
-
- -
-
- -
+ {todayStatuses.map((status, idx) => ( +
+ {`attendance-${idx}`} +
+ ))}
{attendanceData.map(({ week, classes }) => ( From 41b405f091a9496efdcc25aa3b85d32d5bf3a815 Mon Sep 17 00:00:00 2001 From: seonjuuu Date: Sun, 11 May 2025 02:22:47 +0900 Subject: [PATCH 57/59] =?UTF-8?q?[feat]=20feat:=20=EC=84=B8=EC=85=98=20?= =?UTF-8?q?=EB=B3=B4=EC=95=88=20=EA=B0=95=ED=99=94=20=EB=B0=8F=20=EB=A7=8C?= =?UTF-8?q?=EB=A3=8C=20=EC=8B=9C=20401=20=EC=9D=91=EB=8B=B5=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../User/config/SessionCheckFilterConfig.java | 19 +++++++++ .../exception/GlobalExceptionHandler.java | 1 + .../User/filter/SessionCheckFilter.java | 40 +++++++++++++++++++ .../pirocheck/User/service/UserService.java | 4 +- .../src/main/resources/application.yml | 10 ++++- 5 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java create mode 100644 backend/pirocheck/src/main/java/backend/pirocheck/User/filter/SessionCheckFilter.java diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java new file mode 100644 index 0000000..e5a2556 --- /dev/null +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java @@ -0,0 +1,19 @@ +package backend.pirocheck.User.config; + +import backend.pirocheck.User.filter.SessionCheckFilter; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class SessionCheckFilterConfig { + + @Bean + public FilterRegistrationBean sessionCheckFilter() { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + registrationBean.setFilter(new SessionCheckFilter()); + registrationBean.addUrlPatterns("/api/*"); + registrationBean.setOrder(1); + return registrationBean; + } +} diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java index a135034..4fd3755 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/exception/GlobalExceptionHandler.java @@ -9,6 +9,7 @@ @RestControllerAdvice public class GlobalExceptionHandler { + // InvalidLoginException (로그인 실패) @ExceptionHandler(InvalidLoginException.class) public ResponseEntity> handleInvalidLoginException(InvalidLoginException e) { return ResponseEntity diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/filter/SessionCheckFilter.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/filter/SessionCheckFilter.java new file mode 100644 index 0000000..61a09c4 --- /dev/null +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/filter/SessionCheckFilter.java @@ -0,0 +1,40 @@ +package backend.pirocheck.User.filter; + +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; +import org.springframework.web.filter.OncePerRequestFilter; + +import java.io.IOException; + +public class SessionCheckFilter extends OncePerRequestFilter { + + @Override + protected void doFilterInternal(HttpServletRequest request, + HttpServletResponse response, + FilterChain filterChain) + throws ServletException, IOException { + + String path = request.getRequestURI(); + + // 로그인/로그아웃 요청은 세션 체크 제외 + if (path.startsWith("/api/login") || path.startsWith("/api/logout")) { + filterChain.doFilter(request, response); // 다음 필터나 컨트롤러로 넘기는 명령어 + return; // 세션 검사 안함 + } + + HttpSession session = request.getSession(false); // 세션이 없으면 새로 만들지 않고 null을 리턴 (true : 새로 생성) + + if (session == null || session.getAttribute("loginUser") == null) { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 401 설정 + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write("{\"success\":false,\"message\":\"세션이 만료되었습니다.\",\"data\":null}"); + return; + } + + filterChain.doFilter(request, response); + + } +} diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java index 04231cf..ff5fb5d 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/service/UserService.java @@ -14,10 +14,10 @@ public class UserService { public User login(String name, String password) { User user = userRepository.findByName(name) - .orElseThrow(() -> new InvalidLoginException("해당 사용자가 존재하지 않습니다.")); + .orElseThrow(() -> new InvalidLoginException("해당 사용자가 존재하지 않습니다.")); //401 if (!user.getPassword().equals(password)) { - throw new InvalidLoginException("비밀번호가 일치하지 않습니다."); + throw new InvalidLoginException("비밀번호가 일치하지 않습니다."); //401 } return user; diff --git a/backend/pirocheck/src/main/resources/application.yml b/backend/pirocheck/src/main/resources/application.yml index 1416bb4..11c027f 100644 --- a/backend/pirocheck/src/main/resources/application.yml +++ b/backend/pirocheck/src/main/resources/application.yml @@ -11,4 +11,12 @@ spring: properties: hibernate: format_sql: true - open-in-view: false \ No newline at end of file + open-in-view: false +server: + servlet: + session: + cookie: + http-only: true # 세션 쿠키를 HttpOnly로 설정 (JS에서 접근 불가) + secure: false # HTTPS 전용 전송 (Https -> true로 바꿔야 함) + same-site: Lax # CSRF 방지 + timeout: 30m # 세션 타임아웃 30분 (30 minutes) \ No newline at end of file From 807cf52324ffd6d46be5f83426d4559daf730839 Mon Sep 17 00:00:00 2001 From: seonjuuu Date: Sun, 11 May 2025 22:43:12 +0900 Subject: [PATCH 58/59] [feat] WebConfig --- .../pirocheck/User/config/WebConfig.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java b/backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java new file mode 100644 index 0000000..c183098 --- /dev/null +++ b/backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java @@ -0,0 +1,17 @@ +package backend.pirocheck.User.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/api/**") // 백엔드 API 요청에만 CORS 허용 + .allowedOrigins("http://pirocheck.org") // 프론트 배포 URL + .allowedMethods("GET", "POST", "PUT", "DELETE") // 허용할 HTTP 메서드 + .allowCredentials(true); // 세션 쿠키 주고받기 허용 + } +} From 8c246912ca756f3584444f3e71ed705bfe9949b6 Mon Sep 17 00:00:00 2001 From: l-wanderer01 Date: Sun, 11 May 2025 22:59:11 +0900 Subject: [PATCH 59/59] =?UTF-8?q?[fix]=20React=EC=99=80=20=EC=97=B0?= =?UTF-8?q?=EA=B2=B0=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pirocheck/{User => }/config/SessionCheckFilterConfig.java | 2 +- .../java/backend/pirocheck/{User => }/config/WebConfig.java | 4 ++-- backend/pirocheck/src/main/resources/application.yml | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) rename backend/pirocheck/src/main/java/backend/pirocheck/{User => }/config/SessionCheckFilterConfig.java (94%) rename backend/pirocheck/src/main/java/backend/pirocheck/{User => }/config/WebConfig.java (83%) diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java b/backend/pirocheck/src/main/java/backend/pirocheck/config/SessionCheckFilterConfig.java similarity index 94% rename from backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java rename to backend/pirocheck/src/main/java/backend/pirocheck/config/SessionCheckFilterConfig.java index e5a2556..06e1edf 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/SessionCheckFilterConfig.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/config/SessionCheckFilterConfig.java @@ -1,4 +1,4 @@ -package backend.pirocheck.User.config; +package backend.pirocheck.config; import backend.pirocheck.User.filter.SessionCheckFilter; import org.springframework.boot.web.servlet.FilterRegistrationBean; diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java b/backend/pirocheck/src/main/java/backend/pirocheck/config/WebConfig.java similarity index 83% rename from backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java rename to backend/pirocheck/src/main/java/backend/pirocheck/config/WebConfig.java index c183098..a6ae980 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/User/config/WebConfig.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/config/WebConfig.java @@ -1,4 +1,4 @@ -package backend.pirocheck.User.config; +package backend.pirocheck.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; @@ -10,7 +10,7 @@ public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**") // 백엔드 API 요청에만 CORS 허용 - .allowedOrigins("http://pirocheck.org") // 프론트 배포 URL + .allowedOrigins("http://pirocheck.org:3000") // 프론트 배포 URL .allowedMethods("GET", "POST", "PUT", "DELETE") // 허용할 HTTP 메서드 .allowCredentials(true); // 세션 쿠키 주고받기 허용 } diff --git a/backend/pirocheck/src/main/resources/application.yml b/backend/pirocheck/src/main/resources/application.yml index 11c027f..b8b7096 100644 --- a/backend/pirocheck/src/main/resources/application.yml +++ b/backend/pirocheck/src/main/resources/application.yml @@ -19,4 +19,5 @@ server: http-only: true # 세션 쿠키를 HttpOnly로 설정 (JS에서 접근 불가) secure: false # HTTPS 전용 전송 (Https -> true로 바꿔야 함) same-site: Lax # CSRF 방지 - timeout: 30m # 세션 타임아웃 30분 (30 minutes) \ No newline at end of file + timeout: 30m # 세션 타임아웃 30분 (30 minutes) + address: 0.0.0.0 \ No newline at end of file