From 646504cfa81cd88e62b52c8e54d56e8f2f71f2fe Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Mon, 13 Apr 2026 02:39:21 -0500 Subject: [PATCH 1/3] feat: add OAuth 2.0 PKCE authentication flow Implement full OAuth PKCE flow with OAuthPkce module (startAuth, exchangeCode), AuthContext provider, ProtectedRoute component, LoginPage, and CallbackPage. Mock server gets OAuth authorize/token endpoints. NavBar shows authenticated user name. Posts page is protected behind auth. Closes #39 --- mock-server/index.js | 75 +++++++++++- src/App.res | 40 +++---- src/Router.res | 6 +- src/bindings/OAuthPkce.res | 107 ++++++++++++++++++ src/components/NavBar/NavBar.res | 23 +++- .../ProtectedRoute/ProtectedRoute.res | 14 +++ src/context/AuthContext.res | 76 +++++++++++++ src/pages/CallbackPage.res | 41 +++++++ src/pages/LoginPage.res | 55 +++++++-- 9 files changed, 403 insertions(+), 34 deletions(-) create mode 100644 src/bindings/OAuthPkce.res create mode 100644 src/components/ProtectedRoute/ProtectedRoute.res create mode 100644 src/context/AuthContext.res create mode 100644 src/pages/CallbackPage.res diff --git a/mock-server/index.js b/mock-server/index.js index 2ca1c0c..ac44238 100644 --- a/mock-server/index.js +++ b/mock-server/index.js @@ -87,8 +87,81 @@ const yoga = createYoga({ }, }); -const server = createServer(yoga); +// Store pending auth codes for the mock OAuth flow +const pendingCodes = new Map(); + +const server = createServer((req, res) => { + const url = new URL(req.url, `http://${req.headers.host}`); + + // Mock OAuth authorize endpoint + if (url.pathname === "/oauth/authorize") { + const redirectUri = url.searchParams.get("redirect_uri"); + const state = url.searchParams.get("state"); + const code = `mock-code-${Date.now()}`; + + // Store the code verifier expectation + pendingCodes.set(code, { + codeChallenge: url.searchParams.get("code_challenge"), + clientId: url.searchParams.get("client_id"), + }); + + // Redirect back with code and state (simulates user approving) + const callbackUrl = `${redirectUri}?code=${code}&state=${state}`; + res.writeHead(302, { Location: callbackUrl }); + res.end(); + return; + } + + // Mock OAuth token endpoint + if (url.pathname === "/oauth/token" && req.method === "POST") { + let body = ""; + req.on("data", (chunk) => { + body += chunk; + }); + req.on("end", () => { + const params = new URLSearchParams(body); + const code = params.get("code"); + + if (code && pendingCodes.has(code)) { + pendingCodes.delete(code); + res.writeHead(200, { + "Content-Type": "application/json", + "Access-Control-Allow-Origin": "http://localhost:8080", + }); + res.end( + JSON.stringify({ + access_token: `mock-token-${Date.now()}`, + token_type: "Bearer", + expires_in: 3600, + }), + ); + } else { + res.writeHead(400, { + "Content-Type": "application/json", + "Access-Control-Allow-Origin": "http://localhost:8080", + }); + res.end(JSON.stringify({ error: "invalid_grant" })); + } + }); + return; + } + + // CORS preflight for token endpoint + if (url.pathname === "/oauth/token" && req.method === "OPTIONS") { + res.writeHead(204, { + "Access-Control-Allow-Origin": "http://localhost:8080", + "Access-Control-Allow-Methods": "POST, OPTIONS", + "Access-Control-Allow-Headers": "Content-Type", + }); + res.end(); + return; + } + + // Pass everything else to GraphQL yoga + yoga(req, res); +}); server.listen(4000, () => { console.log("GraphQL server running at http://localhost:4000/graphql"); + console.log("OAuth endpoints at http://localhost:4000/oauth/authorize and /oauth/token"); }); diff --git a/src/App.res b/src/App.res index 0b5b344..4642169 100644 --- a/src/App.res +++ b/src/App.res @@ -60,24 +60,26 @@ Emotion.Css.injectGlobal(` module App = { @react.component let make = () => { - -
- -
- -
- -
-
+ + +
+ +
+ +
+ +
+
+
} } diff --git a/src/Router.res b/src/Router.res index d76e11a..6ca3e5d 100644 --- a/src/Router.res +++ b/src/Router.res @@ -36,8 +36,12 @@ let make = () => { switch url.path { | list{} => | list{"components"} => - | list{"posts"} => + | list{"posts"} => + + + | list{"login"} => + | list{"callback"} => | _ => } } diff --git a/src/bindings/OAuthPkce.res b/src/bindings/OAuthPkce.res new file mode 100644 index 0000000..24e6888 --- /dev/null +++ b/src/bindings/OAuthPkce.res @@ -0,0 +1,107 @@ +// OAuth 2.0 PKCE implementation +// Mirrors the API pattern of @cosmonexus/oauth-client for future swap-in + +type config = { + clientId: string, + redirectUri: string, + authorizeUrl: string, + tokenUrl: string, + scopes: array, +} + +type tokenSet = { + accessToken: string, + tokenType: string, + expiresIn: int, +} + +@val external encodeURIComponent: string => string = "encodeURIComponent" + +let generateRandomString: int => string = %raw(` + function(length) { + var array = new Uint8Array(length); + crypto.getRandomValues(array); + var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; + var result = ""; + for (var i = 0; i < length; i++) { + result += chars[array[i] % chars.length]; + } + return result; + } +`) + +let generateCodeChallenge: string => promise = %raw(` + async function(verifier) { + var encoder = new TextEncoder(); + var data = encoder.encode(verifier); + var hash = await crypto.subtle.digest("SHA-256", data); + var bytes = new Uint8Array(hash); + var str = ""; + for (var i = 0; i < bytes.length; i++) { + str += String.fromCharCode(bytes[i]); + } + return btoa(str).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); + } +`) + +let startAuth = async (config: config) => { + let codeVerifier = generateRandomString(64) + let codeChallenge = await generateCodeChallenge(codeVerifier) + let state = generateRandomString(32) + + ignore(%raw(`sessionStorage.setItem("pkce_code_verifier", codeVerifier)`)) + ignore(%raw(`sessionStorage.setItem("pkce_state", state)`)) + + let params = [ + ("client_id", config.clientId), + ("redirect_uri", config.redirectUri), + ("response_type", "code"), + ("code_challenge", codeChallenge), + ("code_challenge_method", "S256"), + ("state", state), + ("scope", config.scopes->Array.join(" ")), + ] + + let queryString = + params->Array.map(((k, v)) => `${k}=${encodeURIComponent(v)}`)->Array.join("&") + + `${config.authorizeUrl}?${queryString}` +} + +@val external fetchRaw: (string, {..}) => promise<{..}> = "fetch" + +let exchangeCode = async (config: config, code: string) => { + let codeVerifier: string = %raw(`sessionStorage.getItem("pkce_code_verifier") || ""`) + + let body = + [ + ("grant_type", "authorization_code"), + ("client_id", config.clientId), + ("code", code), + ("redirect_uri", config.redirectUri), + ("code_verifier", codeVerifier), + ] + ->Array.map(((k, v)) => `${k}=${encodeURIComponent(v)}`) + ->Array.join("&") + + let response = await fetchRaw( + config.tokenUrl, + { + "method": "POST", + "headers": { + "content-type": "application/x-www-form-urlencoded", + }, + "body": body, + }, + ) + let json = await response["json"]() + + ignore(%raw(`sessionStorage.removeItem("pkce_code_verifier")`)) + ignore(%raw(`sessionStorage.removeItem("pkce_state")`)) + + { + accessToken: json["access_token"], + tokenType: json["token_type"], + expiresIn: json["expires_in"], + } +} diff --git a/src/components/NavBar/NavBar.res b/src/components/NavBar/NavBar.res index dd4cece..743803d 100644 --- a/src/components/NavBar/NavBar.res +++ b/src/components/NavBar/NavBar.res @@ -4,6 +4,7 @@ open Emotion.Utils module NavBar = { @react.component let make = () => { + let auth = AuthContext.useAuth() let url = RescriptReactRouter.useUrl() let currentPath = switch url.path { | list{} => "/" @@ -76,12 +77,22 @@ module NavBar = { onClick={evt => handleNav("/posts", evt)}> {React.string("Posts")} - handleNav("/login", evt)}> - {React.string("Sign In")} - + {switch auth.state { + | AuthContext.LoggedIn(user) => + handleNav("/login", evt)}> + {React.string(user.name)} + + | AuthContext.LoggedOut => + handleNav("/login", evt)}> + {React.string("Sign In")} + + }} } diff --git a/src/components/ProtectedRoute/ProtectedRoute.res b/src/components/ProtectedRoute/ProtectedRoute.res new file mode 100644 index 0000000..cfbafd8 --- /dev/null +++ b/src/components/ProtectedRoute/ProtectedRoute.res @@ -0,0 +1,14 @@ +module ProtectedRoute = { + @react.component + let make = (~children) => { + let auth = AuthContext.useAuth() + + switch auth.state { + | AuthContext.LoggedOut => { + RescriptReactRouter.push("/login") + React.null + } + | AuthContext.LoggedIn(_) => children + } + } +} diff --git a/src/context/AuthContext.res b/src/context/AuthContext.res new file mode 100644 index 0000000..f97e97f --- /dev/null +++ b/src/context/AuthContext.res @@ -0,0 +1,76 @@ +type user = { + id: string, + name: string, + email: string, +} + +type authState = + | LoggedOut + | LoggedIn(user) + +type authContext = { + state: authState, + login: unit => promise, + logout: unit => unit, + handleCallback: string => promise, +} + +let oauthConfig: OAuthPkce.config = { + clientId: "rspack-rescript-template", + redirectUri: "http://localhost:8080/callback", + authorizeUrl: "http://localhost:4000/oauth/authorize", + tokenUrl: "http://localhost:4000/oauth/token", + scopes: ["openid", "profile", "email"], +} + +let context = React.createContext({ + state: LoggedOut, + login: async () => (), + logout: () => (), + handleCallback: async (_) => (), +}) + +module ContextProvider = { + let make = React.Context.provider(context) +} + +module Provider = { + @react.component + let make = (~children) => { + let (state, setState) = React.useState(() => LoggedOut) + + let setWindowLocation: string => unit = %raw(`function(url) { window.location.href = url }`) + + let login = async () => { + let url = await OAuthPkce.startAuth(oauthConfig) + setWindowLocation(url) + } + + let logout = () => { + setState(_ => LoggedOut) + } + + let handleCallback = async (code: string) => { + let tokenSet = await OAuthPkce.exchangeCode(oauthConfig, code) + // For the template demo, create a user from the token + // In production, you'd decode the JWT or call a /userinfo endpoint + ignore(tokenSet) + setState(_ => LoggedIn({ + id: "user-1", + name: "Alice Chen", + email: "alice@example.com", + })) + } + + let value = { + state, + login, + logout, + handleCallback, + } + + {children} + } +} + +let useAuth = () => React.useContext(context) diff --git a/src/pages/CallbackPage.res b/src/pages/CallbackPage.res new file mode 100644 index 0000000..06e0a0c --- /dev/null +++ b/src/pages/CallbackPage.res @@ -0,0 +1,41 @@ +open Emotion.Css + +module Typography = Typography.Typography + +@react.component +let make = () => { + let auth = AuthContext.useAuth() + + React.useEffect0(() => { + let url = %raw(`new URL(window.location.href)`) + let code: option = url["searchParams"]["get"]("code")->Nullable.toOption + + switch code { + | Some(c) => + auth.handleCallback(c) + ->Promise.then(_ => { + RescriptReactRouter.push("/login") + Promise.resolve() + }) + ->ignore + | None => RescriptReactRouter.push("/login") + } + + None + }) + + let containerStyles = css({ + "padding": "4rem 1rem", + "maxWidth": "400px", + "margin": "0 auto", + "textAlign": "center", + }) + +
+ {React.string("Signing in...")} + + {React.string("Completing authentication.")} + +
+} diff --git a/src/pages/LoginPage.res b/src/pages/LoginPage.res index f9abdc2..e4b4c4e 100644 --- a/src/pages/LoginPage.res +++ b/src/pages/LoginPage.res @@ -1,9 +1,13 @@ open Emotion.Css +open Emotion.Utils module Typography = Typography.Typography +module Button = Button.Button @react.component let make = () => { + let auth = AuthContext.useAuth() + let containerStyles = css({ "padding": "4rem 1rem", "maxWidth": "400px", @@ -11,11 +15,48 @@ let make = () => { "textAlign": "center", }) -
- {React.string("Sign In")} - - {React.string("Authentication with OAuth PKCE will be added here.")} - -
+ let cardStyles = css({ + "backgroundColor": Color.bgElevated, + "border": `1px solid ${Color.border}`, + "borderRadius": "0.5rem", + "padding": "2rem", + "marginTop": "2rem", + }) + + switch auth.state { + | AuthContext.LoggedIn(user) => +
+ {React.string("Welcome back")} +
+ {React.string(user.name)} + + {React.string(user.email)} + +
+ +
+
+
+ | AuthContext.LoggedOut => +
+ {React.string("Sign In")} + + {React.string("Authenticate using OAuth 2.0 with PKCE.")} + +
+ + {React.string("This template demonstrates the OAuth 2.0 Authorization Code flow with PKCE, using the mock server for local development.")} + + +
+
+ } } From e6b7a78de961a2a2ff77209e0b3c1520c745f1c2 Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Mon, 13 Apr 2026 18:51:48 -0500 Subject: [PATCH 2/3] feat: integrate @cosmonexus/oauth-* packages from Verdaccio Replace custom PKCE implementation with @cosmonexus/oauth-client, oauth-react, oauth-tokens, and oauth-core from local Verdaccio registry. Add ReScript bindings for OAuthClient and AuthProvider. AuthContext wraps oauth-react's AuthProvider and useAuth hook. Add .npmrc for @cosmonexus scoped registry. Fix Rspack ESM module resolution for extensionless imports. --- .npmrc | 1 + biome.json | 16 +- bun.lockb | Bin 382636 -> 384436 bytes mock-server/index.js | 6 +- mock-server/schema.graphql | 28 +- package-lock.json | 11829 ++++++++++++++++++++++++++++++++++ package.json | 136 +- rspack.config.js | 6 + src/App.res | 40 +- src/bindings/OAuthPkce.res | 135 +- src/bindings/OAuthReact.res | 47 + src/context/AuthContext.res | 59 +- src/pages/CallbackPage.res | 14 +- tsconfig.json | 34 +- 14 files changed, 12111 insertions(+), 240 deletions(-) create mode 100644 .npmrc create mode 100644 package-lock.json create mode 100644 src/bindings/OAuthReact.res diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..12d45d3 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@cosmonexus:registry=http://localhost:4873 diff --git a/biome.json b/biome.json index 20b4762..32e4a23 100644 --- a/biome.json +++ b/biome.json @@ -6,10 +6,22 @@ "rules": { "recommended": true }, - "includes": ["**", "!**/dist", "!**/*.bs.js", "!**/lib", "!**/__generated__"] + "includes": [ + "**", + "!**/dist", + "!**/*.bs.js", + "!**/lib", + "!**/__generated__" + ] }, "formatter": { "enabled": true, - "includes": ["**", "!**/dist", "!**/*.bs.js", "!**/lib", "!**/__generated__"] + "includes": [ + "**", + "!**/dist", + "!**/*.bs.js", + "!**/lib", + "!**/__generated__" + ] } } diff --git a/bun.lockb b/bun.lockb index b339a3caa8e7522bb17782f93c83a108f627b223..bffb2e0ca27d38547770bd97bf9f83a363cfbc69 100755 GIT binary patch delta 73916 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

=bwsd|545#gYwUt;QWcG;wPcKRFbnCn2f6C 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 diff --git a/mock-server/index.js b/mock-server/index.js index ac44238..6aa9cec 100644 --- a/mock-server/index.js +++ b/mock-server/index.js @@ -22,7 +22,7 @@ const users = [ }, ]; -let posts = [ +const posts = [ { id: "post-1", title: "Getting Started with ReScript", @@ -163,5 +163,7 @@ const server = createServer((req, res) => { server.listen(4000, () => { console.log("GraphQL server running at http://localhost:4000/graphql"); - console.log("OAuth endpoints at http://localhost:4000/oauth/authorize and /oauth/token"); + console.log( + "OAuth endpoints at http://localhost:4000/oauth/authorize and /oauth/token", + ); }); diff --git a/mock-server/schema.graphql b/mock-server/schema.graphql index 2939c32..463b29f 100644 --- a/mock-server/schema.graphql +++ b/mock-server/schema.graphql @@ -1,28 +1,28 @@ type Query { - posts: [Post!]! - post(id: ID!): Post - me: User + posts: [Post!]! + post(id: ID!): Post + me: User } type Mutation { - createPost(title: String!, body: String!): Post! + createPost(title: String!, body: String!): Post! } type User implements Node { - id: ID! - name: String! - email: String! - avatarUrl: String + id: ID! + name: String! + email: String! + avatarUrl: String } type Post implements Node { - id: ID! - title: String! - body: String! - createdAt: String! - author: User! + id: ID! + title: String! + body: String! + createdAt: String! + author: User! } interface Node { - id: ID! + id: ID! } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1df7b05 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,11829 @@ +{ + "name": "rspack-rescript-react", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rspack-rescript-react", + "version": "1.0.0", + "dependencies": { + "@cosmonexus/oauth-client": "^1.0.0", + "@cosmonexus/oauth-core": "1.0.0", + "@cosmonexus/oauth-react": "^1.0.0", + "@cosmonexus/oauth-tokens": "^1.0.0", + "@emotion/css": "^11.13.5", + "@emotion/server": "^11.11.0", + "@rescript/core": "1.6.1", + "@rescript/react": "0.14.2", + "react": "^19.2.5", + "react-dom": "^19.2.5", + "react-relay": "20.1.1", + "relay-runtime": "20.1.1", + "rescript": "12.2.0", + "rescript-relay": "4.4.1" + }, + "devDependencies": { + "@biomejs/biome": "^2.4.11", + "@commitlint/cli": "^20.5.0", + "@commitlint/config-conventional": "^20.5.0", + "@commitlint/cz-commitlint": "^20.5.1", + "@rspack/cli": "1.7.11", + "@rspack/core": "^1.7.11", + "@rspack/plugin-react-refresh": "1.6.2", + "@svgr/webpack": "^8.1.0", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "commitizen": "^4.3.1", + "concurrently": "^9.2.1", + "cross-env": "^10.1.0", + "graphql": "16.11.0", + "graphql-yoga": "5.12.0", + "husky": "^9.1.7", + "inquirer": "^13.4.1", + "jsdom": "^29.0.2", + "typescript": "^6.0.2", + "vitest": "^4.1.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^3.1.1", + "@csstools/css-color-parser": "^4.0.2", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "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.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.23.1", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@biomejs/biome": { + "version": "2.4.11", + "dev": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "2.4.11", + "@biomejs/cli-darwin-x64": "2.4.11", + "@biomejs/cli-linux-arm64": "2.4.11", + "@biomejs/cli-linux-arm64-musl": "2.4.11", + "@biomejs/cli-linux-x64": "2.4.11", + "@biomejs/cli-linux-x64-musl": "2.4.11", + "@biomejs/cli-win32-arm64": "2.4.11", + "@biomejs/cli-win32-x64": "2.4.11" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.11.tgz", + "integrity": "sha512-wOt+ed+L2dgZanWyL6i29qlXMc088N11optzpo10peayObBaAshbTcxKUchzEMp9QSY8rh5h6VfAFE3WTS1rqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.11.tgz", + "integrity": "sha512-gZ6zR8XmZlExfi/Pz/PffmdpWOQ8Qhy7oBztgkR8/ylSRyLwfRPSadmiVCV8WQ8PoJ2MWUy2fgID9zmtgUUJmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.11.tgz", + "integrity": "sha512-avdJaEElXrKceK0va9FkJ4P5ci3N01TGkc6ni3P8l3BElqbOz42Wg2IyX3gbh0ZLEd4HVKEIrmuVu/AMuSeFFA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.11.tgz", + "integrity": "sha512-+Sbo1OAmlegtdwqFE8iOxFIWLh1B3OEgsuZfBpyyN/kWuqZ8dx9ZEes6zVnDMo+zRHF2wLynRVhoQmV7ohxl2Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "2.4.11", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "2.4.11", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.11.tgz", + "integrity": "sha512-RJhaTnY8byzxDt4bDVb7AFPHkPcjOPK3xBip4ZRTrN3TEfyhjLRm3r3mqknqydgVTB74XG8l4jMLwEACEeihVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "2.4.11", + "resolved": "http://localhost:4873/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.11.tgz", + "integrity": "sha512-A8D3JM/00C2KQgUV3oj8Ba15EHEYwebAGCy5Sf9GAjr5Y3+kJIYOiESoqRDeuRZueuMdCsbLZIUqmPhpYXJE9A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@commitlint/cli": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/format": "^20.5.0", + "@commitlint/lint": "^20.5.0", + "@commitlint/load": "^20.5.0", + "@commitlint/read": "^20.5.0", + "@commitlint/types": "^20.5.0", + "tinyexec": "^1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "conventional-changelog-conventionalcommits": "^9.2.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/cz-commitlint": { + "version": "20.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^20.5.0", + "@commitlint/load": "^20.5.0", + "@commitlint/types": "^20.5.0", + "is-plain-obj": "^4.1.0", + "picocolors": "^1.1.1", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "commitizen": "^4.0.3", + "inquirer": "^9.0.0" + } + }, + "node_modules/@commitlint/ensure": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "20.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^20.5.0", + "@commitlint/parse": "^20.5.0", + "@commitlint/rules": "^20.5.0", + "@commitlint/types": "^20.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^20.5.0", + "@commitlint/execute-rule": "^20.0.0", + "@commitlint/resolve-extends": "^20.5.0", + "@commitlint/types": "^20.5.0", + "cosmiconfig": "^9.0.1", + "cosmiconfig-typescript-loader": "^6.1.0", + "is-plain-obj": "^4.1.0", + "lodash.mergewith": "^4.6.2", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/message": { + "version": "20.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^20.5.0", + "conventional-changelog-angular": "^8.2.0", + "conventional-commits-parser": "^6.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^20.4.3", + "@commitlint/types": "^20.5.0", + "git-raw-commits": "^5.0.0", + "minimist": "^1.2.8", + "tinyexec": "^1.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^20.5.0", + "@commitlint/types": "^20.5.0", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^20.5.0", + "@commitlint/message": "^20.4.3", + "@commitlint/to-lines": "^20.0.0", + "@commitlint/types": "^20.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "20.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level": { + "version": "20.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level/node_modules/escalade": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@commitlint/types": { + "version": "20.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-parser": "^6.3.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@conventional-changelog/git-client": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@simple-libs/child-process-utils": "^1.0.0", + "@simple-libs/stream-utils": "^1.2.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.4.0" + }, + "peerDependenciesMeta": { + "conventional-commits-filter": { + "optional": true + }, + "conventional-commits-parser": { + "optional": true + } + } + }, + "node_modules/@conventional-changelog/git-client/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@cosmonexus/oauth-client": { + "version": "1.0.0", + "resolved": "http://localhost:4873/@cosmonexus/oauth-client/-/oauth-client-1.0.0.tgz", + "integrity": "sha512-ztu4DkwquvtEIthe9OSrSm6QNmnicHPNPvWqdJ7ATDRQGZpMXC17omhc3ChIysPm5/pGsa67W74k6ZXCjXIoxg==", + "license": "ISC", + "dependencies": { + "@cosmonexus/oauth-core": "1.0.0" + } + }, + "node_modules/@cosmonexus/oauth-core": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/@cosmonexus/oauth-react": { + "version": "1.0.0", + "resolved": "http://localhost:4873/@cosmonexus/oauth-react/-/oauth-react-1.0.0.tgz", + "integrity": "sha512-BsDFKylP8AKdUE5x7JwibbXZoSEyrwOFMA+dTDjV1536I3wjF7mbzQywO2kYqPsK6QJR80mME7Csq4bvLD6KbA==", + "dependencies": { + "@cosmonexus/oauth-client": "1.0.0", + "@cosmonexus/oauth-core": "1.0.0", + "@cosmonexus/oauth-tokens": "1.0.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@cosmonexus/oauth-tokens": { + "version": "1.0.0", + "resolved": "http://localhost:4873/@cosmonexus/oauth-tokens/-/oauth-tokens-1.0.0.tgz", + "integrity": "sha512-5TXHHfDfsO57PkeeS+YocqQwX567xmM/1JpuljSlyncf23k892ZXUlLLzr5P8+eXm6MeW4MhOacvA6ohTjfNjQ==", + "dependencies": { + "@cosmonexus/oauth-client": "1.0.0", + "@cosmonexus/oauth-core": "1.0.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.2", + "resolved": "http://localhost:4873/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.2", + "resolved": "http://localhost:4873/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "http://localhost:4873/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/css": { + "version": "11.13.5", + "license": "MIT", + "dependencies": { + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "license": "MIT" + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "license": "MIT" + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/server": { + "version": "11.11.0", + "license": "MIT", + "dependencies": { + "@emotion/utils": "^1.2.1", + "html-tokenize": "^2.0.0", + "multipipe": "^1.0.2", + "through": "^2.3.8" + }, + "peerDependencies": { + "@emotion/css": "^11.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@emotion/css": { + "optional": true + } + } + }, + "node_modules/@emotion/server/node_modules/@emotion/utils": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "license": "MIT" + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/@envelop/core": { + "version": "5.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@envelop/types": "^5.2.1", + "@whatwg-node/promise-helpers": "^1.2.4", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/types": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@exodus/bytes": { + "version": "1.15.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@fastify/busboy": { + "version": "3.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@graphql-tools/executor": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.1", + "@graphql-typed-document-node/core": "^3.2.0", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor/node_modules/@graphql-tools/utils": { + "version": "11.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "9.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { + "version": "11.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "10.0.32", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^9.1.8", + "@graphql-tools/utils": "^11.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { + "version": "11.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "10.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-yoga/logger": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@graphql-yoga/subscription": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-yoga/typed-event-target": "^3.0.2", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/events": "^0.1.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@graphql-yoga/typed-event-target": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@repeaterjs/repeater": "^3.0.4", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@inquirer/ansi": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "5.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/core": "^11.1.8", + "@inquirer/figures": "^2.0.5", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "6.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "11.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/figures": "^2.0.5", + "@inquirer/type": "^4.0.5", + "cli-width": "^4.1.0", + "fast-wrap-ansi": "^0.2.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core/node_modules/cli-width": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@inquirer/editor": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/external-editor": "^3.0.0", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "5.0.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.2" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor/node_modules/chardet": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { + "version": "0.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@inquirer/figures": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/input": { + "version": "5.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "4.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "5.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "8.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^5.1.3", + "@inquirer/confirm": "^6.0.11", + "@inquirer/editor": "^5.1.0", + "@inquirer/expand": "^5.0.12", + "@inquirer/input": "^5.0.11", + "@inquirer/number": "^4.0.11", + "@inquirer/password": "^5.0.11", + "@inquirer/rawlist": "^5.2.7", + "@inquirer/search": "^4.1.7", + "@inquirer/select": "^5.1.3" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "5.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "4.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.1.8", + "@inquirer/figures": "^2.0.5", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "5.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/core": "^11.1.8", + "@inquirer/figures": "^2.0.5", + "@inquirer/type": "^4.0.5" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/buffers": { + "version": "1.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.14.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.1", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/error-codes": { + "version": "0.22.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/runtime": { + "version": "0.22.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.22.0", + "@module-federation/runtime-core": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, + "node_modules/@module-federation/runtime-core": { + "version": "0.22.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, + "node_modules/@module-federation/runtime-tools": { + "version": "0.22.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.22.0", + "@module-federation/webpack-bundler-runtime": "0.22.0" + } + }, + "node_modules/@module-federation/sdk": { + "version": "0.22.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.22.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.22.0", + "@module-federation/sdk": "0.22.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.7", + "resolved": "http://localhost:4873/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", + "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.124.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@repeaterjs/repeater": { + "version": "3.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@rescript/core": { + "version": "1.6.1", + "license": "MIT", + "peerDependencies": { + "rescript": ">=11.1.0" + } + }, + "node_modules/@rescript/darwin-arm64": { + "version": "12.2.0", + "resolved": "http://localhost:4873/@rescript/darwin-arm64/-/darwin-arm64-12.2.0.tgz", + "integrity": "sha512-xc3K/J7Ujl1vPiFY2009mRf3kWRlUe/VZyJWprseKxlcEtUQv89ter7r6pY+YFbtYvA/fcaEncL9CVGEdattAg==", + "cpu": [ + "arm64" + ], + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/darwin-x64": { + "version": "12.2.0", + "resolved": "http://localhost:4873/@rescript/darwin-x64/-/darwin-x64-12.2.0.tgz", + "integrity": "sha512-qqcTvnlSeoKkywLjG7cXfYvKZ1e4Gz2kUKcD6SiqDgCqm8TF+spwlFAiM6sloRUOFsc0bpC/0R0B3yr01FCB1A==", + "cpu": [ + "x64" + ], + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/linux-arm64": { + "version": "12.2.0", + "resolved": "http://localhost:4873/@rescript/linux-arm64/-/linux-arm64-12.2.0.tgz", + "integrity": "sha512-ODmpG3ji+Nj/8d5yvXkeHlfKkmbw1Q4t1iIjVuNwtmFpz7TiEa7n/sQqoYdE+WzbDX3DoJfmJNbp3Ob7qCUoOg==", + "cpu": [ + "arm64" + ], + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/linux-x64": { + "version": "12.2.0", + "cpu": [ + "x64" + ], + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/react": { + "version": "0.14.2", + "license": "MIT", + "peerDependencies": { + "react": ">=19.1.0", + "react-dom": ">=19.1.0" + } + }, + "node_modules/@rescript/runtime": { + "version": "12.2.0", + "license": "MIT" + }, + "node_modules/@rescript/win32-x64": { + "version": "12.2.0", + "resolved": "http://localhost:4873/@rescript/win32-x64/-/win32-x64-12.2.0.tgz", + "integrity": "sha512-fhf8CBj3p1lkIXPeNko3mVTKQfXXm4BoxJtR1xAXxUn43wDpd8Lox4w8/EPBbbW6C/YFQW6H7rtpY+2AKuNaDA==", + "cpu": [ + "x64" + ], + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.15.tgz", + "integrity": "sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.15", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.15", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.15.tgz", + "integrity": "sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.9.2", + "@emnapi/runtime": "1.9.2", + "@napi-rs/wasm-runtime": "^1.1.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.3", + "resolved": "http://localhost:4873/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz", + "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "http://localhost:4873/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/binding": { + "version": "1.7.11", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.7.11", + "@rspack/binding-darwin-x64": "1.7.11", + "@rspack/binding-linux-arm64-gnu": "1.7.11", + "@rspack/binding-linux-arm64-musl": "1.7.11", + "@rspack/binding-linux-x64-gnu": "1.7.11", + "@rspack/binding-linux-x64-musl": "1.7.11", + "@rspack/binding-wasm32-wasi": "1.7.11", + "@rspack/binding-win32-arm64-msvc": "1.7.11", + "@rspack/binding-win32-ia32-msvc": "1.7.11", + "@rspack/binding-win32-x64-msvc": "1.7.11" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", + "integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-darwin-x64": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", + "integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", + "integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", + "integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.7.11", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.7.11", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", + "integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "1.0.7" + } + }, + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", + "integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", + "integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.7.11", + "resolved": "http://localhost:4873/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", + "integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/cli": { + "version": "1.7.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.7", + "@rspack/dev-server": "~1.1.5", + "exit-hook": "^4.0.0", + "webpack-bundle-analyzer": "4.10.2" + }, + "bin": { + "rspack": "bin/rspack.js" + }, + "peerDependencies": { + "@rspack/core": "^1.0.0-alpha || ^1.x" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/sirv": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/sirv/node_modules/@polka/url": { + "version": "1.0.0-next.23", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/sirv/node_modules/mrmime": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@rspack/cli/node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@rspack/core": { + "version": "1.7.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.22.0", + "@rspack/binding": "1.7.11", + "@rspack/lite-tapable": "1.1.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/dev-server": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "http-proxy-middleware": "^2.0.9", + "p-retry": "^6.2.0", + "webpack-dev-server": "5.2.2", + "ws": "^8.18.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "@rspack/core": "*" + } + }, + "node_modules/@rspack/dev-server/node_modules/ws": { + "version": "8.20.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@rspack/lite-tapable": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@rspack/plugin-react-refresh": { + "version": "1.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "error-stack-parser": "^2.1.4" + }, + "peerDependencies": { + "react-refresh": ">=0.10.0 <1.0.0", + "webpack-hot-middleware": "2.x" + }, + "peerDependenciesMeta": { + "webpack-hot-middleware": { + "optional": true + } + } + }, + "node_modules/@simple-libs/child-process-utils": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@simple-libs/stream-utils": "^1.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, + "node_modules/@simple-libs/stream-utils": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/aria-query": { + "version": "5.3.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "http://localhost:4873/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/body-parser/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/bonjour/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/connect/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.37", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express-serve-static-core/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.5.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node-forge/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.14", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/send/node_modules/@types/mime": { + "version": "1.3.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/sockjs/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws/node_modules/@types/node": { + "version": "20.8.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/expect": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.4", + "@vitest/utils": "4.1.4", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.4", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.4", + "@vitest/utils": "4.1.4", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.4", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/events": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.10.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/node-fetch": "^0.8.3", + "urlpattern-polyfill": "^10.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.8.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^3.1.1", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@whatwg-node/server": { + "version": "0.9.71", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.5", + "@whatwg-node/promise-helpers": "^1.2.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "dev": true, + "license": "MIT" + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bl/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.4", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/http-errors/node_modules/statuses": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "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.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bind-apply-helpers/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bound/node_modules/get-intrinsic": { + "version": "1.3.0", + "dev": true, + "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/call-bound/node_modules/get-intrinsic/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bound/node_modules/get-intrinsic/node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bound/node_modules/get-intrinsic/node_modules/has-symbols": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001543", + "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/chai": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "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/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "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/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cliui/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "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/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "node_modules/commitizen": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/commitizen/node_modules/inquirer": { + "version": "8.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/cli-width": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/figures": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "license": "ISC" + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/run-async": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/commitizen/node_modules/inquirer/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "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/compare-func": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/content-type": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "8.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "9.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-commits-parser": { + "version": "6.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@simple-libs/stream-utils": "^1.2.0", + "meow": "^13.0.0" + }, + "bin": { + "conventional-commits-parser": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.33.0", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jiti": "2.6.1" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=9", + "typescript": ">=5" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/cross-env": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-inspect": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "dev": true, + "license": "MIT" + }, + "node_modules/csso": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree/node_modules/mdn-data": { + "version": "2.0.28", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/css-tree/node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "license": "MIT" + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.6.7", + "@commitlint/execute-rule": "^17.4.0", + "@commitlint/resolve-extends": "^17.6.7", + "@commitlint/types": "^17.4.4", + "@types/node": "20.5.1", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4 || ^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/@commitlint/config-validator": { + "version": "17.6.7", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/types": "^17.4.4", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/@commitlint/execute-rule": { + "version": "17.4.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/@commitlint/resolve-extends": { + "version": "17.6.7", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.6.7", + "@commitlint/types": "^17.4.4", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/@commitlint/types": { + "version": "17.4.4", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "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/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/cosmiconfig": { + "version": "8.3.6", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/@commitlint/load/node_modules/typescript": { + "version": "5.2.2", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer": { + "version": "8.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "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/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "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/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/cli-width": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/figures": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "license": "ISC" + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/run-async": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/commitizen/node_modules/inquirer/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "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/data-urls": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/debounce": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "dev": true, + "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/dunder-proto/node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.540", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/estree-walker/node_modules/@types/estree": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/exit-hook": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/express": { + "version": "4.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "license": "MIT", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-extra/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "http://localhost:4873/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/git-raw-commits": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@conventional-changelog/git-client": "^2.6.0", + "meow": "^13.0.0" + }, + "bin": { + "git-raw-commits": "src/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regex.js": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/global-modules": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/graphql": { + "version": "16.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-yoga": { + "version": "5.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.0.2", + "@graphql-tools/executor": "^1.4.0", + "@graphql-tools/schema": "^10.0.11", + "@graphql-tools/utils": "^10.6.2", + "@graphql-yoga/logger": "^2.0.1", + "@graphql-yoga/subscription": "^5.0.3", + "@whatwg-node/fetch": "^0.10.1", + "@whatwg-node/server": "^0.9.64", + "dset": "^3.1.4", + "lru-cache": "^10.0.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^15.2.0 || ^16.0.0" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hasown/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/html-tokenize": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "buffer-from": "~0.1.1", + "inherits": "~2.0.1", + "minimist": "~1.2.5", + "readable-stream": "~1.0.27-1", + "through2": "~0.4.1" + }, + "bin": { + "html-tokenize": "bin/cmd.js" + } + }, + "node_modules/html-tokenize/node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/husky": { + "version": "9.1.7", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "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/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer": { + "version": "13.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.5", + "@inquirer/core": "^11.1.8", + "@inquirer/prompts": "^8.4.1", + "@inquirer/type": "^4.0.5", + "mute-stream": "^3.0.0", + "run-async": "^4.0.6", + "rxjs": "^7.8.2" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-network-error": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "29.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.5", + "@asamuzakjp/dom-selector": "^7.0.6", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.24.5", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.3.3", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/launch-editor": { + "version": "2.13.2", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/launch-editor/node_modules/shell-quote": { + "version": "1.8.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "http://localhost:4873/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/lz-string": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.46.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/memfs/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/meow": { + "version": "13.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multipipe": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "duplexer2": "^0.1.2", + "object-assign": "^4.1.0" + } + }, + "node_modules/mute-stream": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "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/negotiator": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/no-case/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-fetch/node_modules/whatwg-url/node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/whatwg-url/node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "node_modules/node-forge": { + "version": "1.3.1", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/obug": { + "version": "2.1.1", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-retry": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.9", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/promise": { + "version": "7.3.1", + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/http-errors/node_modules/statuses": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.5", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.5", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.5" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/react-relay": { + "version": "20.1.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "fbjs": "^3.0.2", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "relay-runtime": "20.1.1" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-relay/node_modules/@babel/runtime": { + "version": "7.29.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "http://localhost:4873/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relay-runtime": { + "version": "20.1.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "fbjs": "^3.0.2", + "invariant": "^2.2.4" + } + }, + "node_modules/relay-runtime/node_modules/@babel/runtime": { + "version": "7.29.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/rescript": { + "version": "12.2.0", + "license": "(LGPL-3.0-or-later AND MIT)", + "workspaces": [ + "packages/playground", + "packages/@rescript/*", + "tests/dependencies/**", + "tests/analysis_tests/**", + "tests/docstring_tests", + "tests/gentype_tests/**", + "tests/tools_tests", + "tests/commonjs_tests", + "scripts/res" + ], + "dependencies": { + "@rescript/runtime": "12.2.0" + }, + "bin": { + "bsc": "cli/bsc.js", + "bstracing": "cli/bstracing.js", + "rescript": "cli/rescript.js", + "rescript-legacy": "cli/rescript-legacy.js", + "rescript-tools": "cli/rescript-tools.js" + }, + "engines": { + "node": ">=20.11.0" + }, + "optionalDependencies": { + "@rescript/darwin-arm64": "12.2.0", + "@rescript/darwin-x64": "12.2.0", + "@rescript/linux-arm64": "12.2.0", + "@rescript/linux-x64": "12.2.0", + "@rescript/win32-x64": "12.2.0" + } + }, + "node_modules/rescript-relay": { + "version": "4.4.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "rescript-relay-cli": "cli/cli.js", + "rescript-relay-compiler": "compiler.js" + }, + "peerDependencies": { + "@rescript/react": ">=0.13.0", + "react-relay": "20.1.1", + "relay-runtime": "20.1.1", + "rescript": "^12.0.0-0" + }, + "peerDependenciesMeta": { + "@rescript/react": { + "optional": true + }, + "react-relay": { + "optional": true + } + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/retry": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.124.0", + "@rolldown/pluginutils": "1.0.0-rc.15" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-x64": "1.0.0-rc.15", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.15", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.15", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.15", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.15", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.15", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.15", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.15" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-async": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/http-errors": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors/node_modules/depd": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/http-errors/node_modules/setprototypeof": { + "version": "1.1.0", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/http-errors/node_modules/statuses": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list/node_modules/object-inspect": { + "version": "1.13.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map/node_modules/get-intrinsic": { + "version": "1.3.0", + "dev": true, + "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/side-channel-map/node_modules/get-intrinsic/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map/node_modules/get-intrinsic/node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map/node_modules/get-intrinsic/node_modules/has-symbols": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map/node_modules/object-inspect": { + "version": "1.13.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap/node_modules/get-intrinsic": { + "version": "1.3.0", + "dev": true, + "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/side-channel-weakmap/node_modules/get-intrinsic/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap/node_modules/get-intrinsic/node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap/node_modules/get-intrinsic/node_modules/has-symbols": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap/node_modules/object-inspect": { + "version": "1.13.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/snake-case/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "node_modules/sockjs": { + "version": "0.3.24", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/stackback": { + "version": "0.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-tree": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/svgo/node_modules/css-tree/node_modules/mdn-data": { + "version": "2.0.30", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/svgo/node_modules/css-tree/node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svgo/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/thingies": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/through": { + "version": "2.3.8", + "license": "MIT" + }, + "node_modules/through2": { + "version": "0.4.2", + "license": "MIT", + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.28", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.28" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.28", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/tree-dump": { + "version": "1.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "6.0.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici": { + "version": "7.24.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "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.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-browserslist-db/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/vary": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "8.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.15", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "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/vitest": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.4", + "@vitest/mocker": "4.1.4", + "@vitest/pretty-format": "4.1.4", + "@vitest/runner": "4.1.4", + "@vitest/snapshot": "4.1.4", + "@vitest/spy": "4.1.4", + "@vitest/utils": "4.1.4", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.4", + "@vitest/browser-preview": "4.1.4", + "@vitest/browser-webdriverio": "4.1.4", + "@vitest/coverage-istanbul": "4.1.4", + "@vitest/coverage-v8": "4.1.4", + "@vitest/ui": "4.1.4", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types/node_modules/mime-db": { + "version": "1.54.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "5.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.21.2", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.20.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-driver/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "2.1.2", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/xtend/node_modules/object-keys": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/package.json b/package.json index d73cdd9..44dafb8 100644 --- a/package.json +++ b/package.json @@ -1,68 +1,72 @@ { - "name": "rspack-rescript-react", - "private": true, - "version": "1.0.0", - "scripts": { - "dev": "concurrently \"bun run res:dev\" \"rspack serve\" \"bun run dev:server\"", - "dev:server": "node mock-server/index.js", - "build": "cross-env NODE_ENV=production rspack build", - "relay": "rescript-relay-compiler", - "relay:watch": "rescript-relay-compiler --watch", - "res:build": "rescript build", - "res:dev": "rescript watch", - "res:clean": "rescript clean", - "prepare": "husky", - "commit": "git-cz", - "format:check": "biome check .", - "format:write": "biome format . --write", - "lint:check": "biome lint .", - "lint": "biome lint --write .", - "test": "vitest run", - "test:watch": "vitest" - }, - "dependencies": { - "@emotion/css": "^11.13.5", - "@emotion/server": "^11.11.0", - "@rescript/core": "1.6.1", - "@rescript/react": "0.14.2", - "react": "^19.2.5", - "react-dom": "^19.2.5", - "react-relay": "20.1.1", - "relay-runtime": "20.1.1", - "rescript": "12.2.0", - "rescript-relay": "4.4.1" - }, - "devDependencies": { - "@biomejs/biome": "^2.4.11", - "@commitlint/cli": "^20.5.0", - "@commitlint/config-conventional": "^20.5.0", - "@commitlint/cz-commitlint": "^20.5.1", - "@rspack/cli": "1.7.11", - "@rspack/core": "^1.7.11", - "@rspack/plugin-react-refresh": "1.6.2", - "@svgr/webpack": "^8.1.0", - "@testing-library/dom": "^10.4.1", - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/react": "^16.3.2", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "commitizen": "^4.3.1", - "concurrently": "^9.2.1", - "cross-env": "^10.1.0", - "graphql": "16.11.0", - "graphql-yoga": "5.12.0", - "husky": "^9.1.7", - "inquirer": "^13.4.1", - "jsdom": "^29.0.2", - "typescript": "^6.0.2", - "vitest": "^4.1.4" - }, - "config": { - "commitizen": { - "path": "@commitlint/cz-commitlint" - } - }, - "trustedDependencies": [ - "rescript-relay" - ] + "name": "rspack-rescript-react", + "private": true, + "version": "1.0.0", + "scripts": { + "dev": "concurrently \"bun run res:dev\" \"rspack serve\" \"bun run dev:server\"", + "dev:server": "node mock-server/index.js", + "build": "cross-env NODE_ENV=production rspack build", + "relay": "rescript-relay-compiler", + "relay:watch": "rescript-relay-compiler --watch", + "res:build": "rescript build", + "res:dev": "rescript watch", + "res:clean": "rescript clean", + "prepare": "husky", + "commit": "git-cz", + "format:check": "biome check .", + "format:write": "biome format . --write", + "lint:check": "biome lint .", + "lint": "biome lint --write .", + "test": "vitest run", + "test:watch": "vitest" + }, + "dependencies": { + "@cosmonexus/oauth-client": "^1.0.0", + "@cosmonexus/oauth-core": "1.0.0", + "@cosmonexus/oauth-react": "^1.0.0", + "@cosmonexus/oauth-tokens": "^1.0.0", + "@emotion/css": "^11.13.5", + "@emotion/server": "^11.11.0", + "@rescript/core": "1.6.1", + "@rescript/react": "0.14.2", + "react": "^19.2.5", + "react-dom": "^19.2.5", + "react-relay": "20.1.1", + "relay-runtime": "20.1.1", + "rescript": "12.2.0", + "rescript-relay": "4.4.1" + }, + "devDependencies": { + "@biomejs/biome": "^2.4.11", + "@commitlint/cli": "^20.5.0", + "@commitlint/config-conventional": "^20.5.0", + "@commitlint/cz-commitlint": "^20.5.1", + "@rspack/cli": "1.7.11", + "@rspack/core": "^1.7.11", + "@rspack/plugin-react-refresh": "1.6.2", + "@svgr/webpack": "^8.1.0", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "commitizen": "^4.3.1", + "concurrently": "^9.2.1", + "cross-env": "^10.1.0", + "graphql": "16.11.0", + "graphql-yoga": "5.12.0", + "husky": "^9.1.7", + "inquirer": "^13.4.1", + "jsdom": "^29.0.2", + "typescript": "^6.0.2", + "vitest": "^4.1.4" + }, + "config": { + "commitizen": { + "path": "@commitlint/cz-commitlint" + } + }, + "trustedDependencies": [ + "rescript-relay" + ] } diff --git a/rspack.config.js b/rspack.config.js index 9eaaea0..867a05a 100644 --- a/rspack.config.js +++ b/rspack.config.js @@ -34,6 +34,12 @@ module.exports = { issuer: /\.[jt]sx?$/, use: ["@svgr/webpack"], }, + { + test: /\.m?js$/, + resolve: { + fullySpecified: false, + }, + }, { test: /\.[jt]sx?$/, use: { diff --git a/src/App.res b/src/App.res index 4642169..8322f49 100644 --- a/src/App.res +++ b/src/App.res @@ -61,25 +61,27 @@ module App = { @react.component let make = () => { - -

- -
- -
-
- - {React.string("Built with Rspack + ReScript + React + Bun")} - -
-
- + + +
+ +
+ +
+
+ + {React.string("Built with Rspack + ReScript + React + Bun")} + +
+
+
+
} } diff --git a/src/bindings/OAuthPkce.res b/src/bindings/OAuthPkce.res index 24e6888..275b192 100644 --- a/src/bindings/OAuthPkce.res +++ b/src/bindings/OAuthPkce.res @@ -1,107 +1,64 @@ -// OAuth 2.0 PKCE implementation -// Mirrors the API pattern of @cosmonexus/oauth-client for future swap-in +// ReScript bindings for @cosmonexus/oauth-client -type config = { +type oauthClientConfig = { + issuerBaseUrl: string, clientId: string, - redirectUri: string, - authorizeUrl: string, - tokenUrl: string, - scopes: array, + redirectUri?: string, + scopes?: array, + storagePrefix?: string, } -type tokenSet = { - accessToken: string, - tokenType: string, - expiresIn: int, +type authorizeOptions = { + provider: string, + flow?: [#login | #signup | #verify], } -@val external encodeURIComponent: string => string = "encodeURIComponent" +type urlObj +@send external toString: urlObj => string = "toString" -let generateRandomString: int => string = %raw(` - function(length) { - var array = new Uint8Array(length); - crypto.getRandomValues(array); - var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; - var result = ""; - for (var i = 0; i < length; i++) { - result += chars[array[i] % chars.length]; - } - return result; - } -`) - -let generateCodeChallenge: string => promise = %raw(` - async function(verifier) { - var encoder = new TextEncoder(); - var data = encoder.encode(verifier); - var hash = await crypto.subtle.digest("SHA-256", data); - var bytes = new Uint8Array(hash); - var str = ""; - for (var i = 0; i < bytes.length; i++) { - str += String.fromCharCode(bytes[i]); - } - return btoa(str).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); - } -`) +type authorizeResult = { + url: urlObj, + codeVerifier: string, + state: string, +} -let startAuth = async (config: config) => { - let codeVerifier = generateRandomString(64) - let codeChallenge = await generateCodeChallenge(codeVerifier) - let state = generateRandomString(32) +type callbackResult = { + code: string, + state: string, + codeVerifier: string, +} - ignore(%raw(`sessionStorage.setItem("pkce_code_verifier", codeVerifier)`)) - ignore(%raw(`sessionStorage.setItem("pkce_state", state)`)) +type tokenExchangePayload = { + grant_type: string, + code: string, + code_verifier: string, + redirect_uri: string, + client_id: string, +} - let params = [ - ("client_id", config.clientId), - ("redirect_uri", config.redirectUri), - ("response_type", "code"), - ("code_challenge", codeChallenge), - ("code_challenge_method", "S256"), - ("state", state), - ("scope", config.scopes->Array.join(" ")), - ] +type oauthClient - let queryString = - params->Array.map(((k, v)) => `${k}=${encodeURIComponent(v)}`)->Array.join("&") +@new @module("@cosmonexus/oauth-client") +external makeClient: oauthClientConfig => oauthClient = "OAuthClient" - `${config.authorizeUrl}?${queryString}` -} +@send +external authorize: (oauthClient, authorizeOptions) => promise = "authorize" -@val external fetchRaw: (string, {..}) => promise<{..}> = "fetch" +@send +external login: (oauthClient, authorizeOptions) => promise = "login" -let exchangeCode = async (config: config, code: string) => { - let codeVerifier: string = %raw(`sessionStorage.getItem("pkce_code_verifier") || ""`) +@send +external handleCallback: (oauthClient, string) => callbackResult = "handleCallback" - let body = - [ - ("grant_type", "authorization_code"), - ("client_id", config.clientId), - ("code", code), - ("redirect_uri", config.redirectUri), - ("code_verifier", codeVerifier), - ] - ->Array.map(((k, v)) => `${k}=${encodeURIComponent(v)}`) - ->Array.join("&") +@send +external buildTokenPayload: (oauthClient, callbackResult) => tokenExchangePayload = + "buildTokenPayload" - let response = await fetchRaw( - config.tokenUrl, - { - "method": "POST", - "headers": { - "content-type": "application/x-www-form-urlencoded", - }, - "body": body, - }, - ) - let json = await response["json"]() +@send +external getTokenEndpoint: oauthClient => string = "getTokenEndpoint" - ignore(%raw(`sessionStorage.removeItem("pkce_code_verifier")`)) - ignore(%raw(`sessionStorage.removeItem("pkce_state")`)) +@send +external logout: oauthClient => unit = "logout" - { - accessToken: json["access_token"], - tokenType: json["token_type"], - expiresIn: json["expires_in"], - } -} +@send +external clearState: oauthClient => unit = "clearState" diff --git a/src/bindings/OAuthReact.res b/src/bindings/OAuthReact.res new file mode 100644 index 0000000..9981b8f --- /dev/null +++ b/src/bindings/OAuthReact.res @@ -0,0 +1,47 @@ +// ReScript bindings for @cosmonexus/oauth-react + +type tokenSet = { + accessToken: string, + tokenType: string, + expiresIn: int, + refreshToken: option, +} + +type authContextValue = { + client: OAuthPkce.oauthClient, + login: OAuthPkce.authorizeOptions => promise, + logout: unit => unit, + handleCallback: string => OAuthPkce.callbackResult, + handleTokenCallback: string => promise, + getTokenEndpoint: unit => string, + clearState: unit => unit, +} + +module AuthProvider = { + @module("@cosmonexus/oauth-react") @react.component + external make: ( + ~config: OAuthPkce.oauthClientConfig, + ~children: React.element, + ) => React.element = "AuthProvider" +} + +@module("@cosmonexus/oauth-react") +external useAuth: unit => authContextValue = "useAuth" + +module LoginButton = { + @module("@cosmonexus/oauth-react") @react.component + external make: ( + ~provider: string, + ~className: string=?, + ~children: React.element, + ) => React.element = "LoginButton" +} + +type useOAuthCallbackResult = { + isProcessing: bool, + error: option, + result: option, +} + +@module("@cosmonexus/oauth-react") +external useOAuthCallback: unit => useOAuthCallbackResult = "useOAuthCallback" diff --git a/src/context/AuthContext.res b/src/context/AuthContext.res index f97e97f..25a23cd 100644 --- a/src/context/AuthContext.res +++ b/src/context/AuthContext.res @@ -1,3 +1,23 @@ +// Auth configuration for the template +// Points to the mock server in development +let oauthConfig: OAuthPkce.oauthClientConfig = { + issuerBaseUrl: "http://localhost:4000/oauth", + clientId: "rspack-rescript-template", + redirectUri: "http://localhost:8080/callback", + scopes: ["openid", "profile", "email"], +} + +// Re-export the provider and hook from @cosmonexus/oauth-react +module Provider = { + @react.component + let make = (~children) => { + + {children} + + } +} + +// Simplified auth hook for the template type user = { id: string, name: string, @@ -8,53 +28,44 @@ type authState = | LoggedOut | LoggedIn(user) -type authContext = { +type authActions = { state: authState, login: unit => promise, logout: unit => unit, handleCallback: string => promise, } -let oauthConfig: OAuthPkce.config = { - clientId: "rspack-rescript-template", - redirectUri: "http://localhost:8080/callback", - authorizeUrl: "http://localhost:4000/oauth/authorize", - tokenUrl: "http://localhost:4000/oauth/token", - scopes: ["openid", "profile", "email"], -} - -let context = React.createContext({ +// Internal state context for tracking logged-in user +// The OAuth library handles tokens; this tracks the user display state +let userContext = React.createContext({ state: LoggedOut, login: async () => (), logout: () => (), handleCallback: async (_) => (), }) -module ContextProvider = { - let make = React.Context.provider(context) +module UserContextProvider = { + let make = React.Context.provider(userContext) } -module Provider = { +module UserProvider = { @react.component let make = (~children) => { let (state, setState) = React.useState(() => LoggedOut) - - let setWindowLocation: string => unit = %raw(`function(url) { window.location.href = url }`) + let cosmoAuth = OAuthReact.useAuth() let login = async () => { - let url = await OAuthPkce.startAuth(oauthConfig) - setWindowLocation(url) + await cosmoAuth.login({provider: "mock"}) } let logout = () => { + cosmoAuth.logout() setState(_ => LoggedOut) } - let handleCallback = async (code: string) => { - let tokenSet = await OAuthPkce.exchangeCode(oauthConfig, code) - // For the template demo, create a user from the token - // In production, you'd decode the JWT or call a /userinfo endpoint - ignore(tokenSet) + let handleCallback = async (search: string) => { + let _tokenSet = await cosmoAuth.handleTokenCallback(search) + // In production, decode the JWT or call /userinfo setState(_ => LoggedIn({ id: "user-1", name: "Alice Chen", @@ -69,8 +80,8 @@ module Provider = { handleCallback, } - {children} + {children} } } -let useAuth = () => React.useContext(context) +let useAuth = () => React.useContext(userContext) diff --git a/src/pages/CallbackPage.res b/src/pages/CallbackPage.res index 06e0a0c..a3a0d05 100644 --- a/src/pages/CallbackPage.res +++ b/src/pages/CallbackPage.res @@ -2,23 +2,23 @@ open Emotion.Css module Typography = Typography.Typography +@val external locationSearch: string = "window.location.search" + @react.component let make = () => { let auth = AuthContext.useAuth() React.useEffect0(() => { - let url = %raw(`new URL(window.location.href)`) - let code: option = url["searchParams"]["get"]("code")->Nullable.toOption - - switch code { - | Some(c) => - auth.handleCallback(c) + let search = locationSearch + if String.length(search) > 0 { + auth.handleCallback(search) ->Promise.then(_ => { RescriptReactRouter.push("/login") Promise.resolve() }) ->ignore - | None => RescriptReactRouter.push("/login") + } else { + RescriptReactRouter.push("/login") } None diff --git a/tsconfig.json b/tsconfig.json index 86a924e..a327de9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,19 @@ { - "compilerOptions": { - "target": "ES6", - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "module": "ESNext", - "skipLibCheck": true, - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"] + "compilerOptions": { + "target": "ES6", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] } From 53dc7abec63b098e0113a19f647e340a32aecf82 Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Mon, 13 Apr 2026 19:23:49 -0500 Subject: [PATCH 3/3] fix: sign out stays in-app instead of redirecting to OAuth server Use clearState() instead of logout() for sign out so the browser stays in the app. Add /oauth/logout endpoint to mock server for cases where server-side logout is needed. --- mock-server/index.js | 9 +++++++++ src/bindings/OAuthReact.res | 4 +++- src/context/AuthContext.res | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mock-server/index.js b/mock-server/index.js index 6aa9cec..9e89045 100644 --- a/mock-server/index.js +++ b/mock-server/index.js @@ -146,6 +146,15 @@ const server = createServer((req, res) => { return; } + // Mock OAuth logout endpoint + if (url.pathname === "/oauth/logout") { + const postLogoutUri = + url.searchParams.get("post_logout_redirect_uri") || "http://localhost:8080"; + res.writeHead(302, { Location: postLogoutUri }); + res.end(); + return; + } + // CORS preflight for token endpoint if (url.pathname === "/oauth/token" && req.method === "OPTIONS") { res.writeHead(204, { diff --git a/src/bindings/OAuthReact.res b/src/bindings/OAuthReact.res index 9981b8f..c875f8c 100644 --- a/src/bindings/OAuthReact.res +++ b/src/bindings/OAuthReact.res @@ -7,10 +7,12 @@ type tokenSet = { refreshToken: option, } +type logoutOptions = {postLogoutRedirectUri?: string} + type authContextValue = { client: OAuthPkce.oauthClient, login: OAuthPkce.authorizeOptions => promise, - logout: unit => unit, + logout: logoutOptions => unit, handleCallback: string => OAuthPkce.callbackResult, handleTokenCallback: string => promise, getTokenEndpoint: unit => string, diff --git a/src/context/AuthContext.res b/src/context/AuthContext.res index 25a23cd..7566ad4 100644 --- a/src/context/AuthContext.res +++ b/src/context/AuthContext.res @@ -59,8 +59,9 @@ module UserProvider = { } let logout = () => { - cosmoAuth.logout() + cosmoAuth.clearState() setState(_ => LoggedOut) + RescriptReactRouter.push("/login") } let handleCallback = async (search: string) => {