├── .gitignore ├── src ├── ui │ ├── src │ │ ├── vite-env.d.ts │ │ ├── graphql.ico │ │ ├── main.tsx │ │ ├── hooks │ │ │ └── useConfiguration.ts │ │ └── App.tsx │ ├── index.html │ ├── tsconfig.json │ ├── vite.config.ts │ └── package.json ├── images │ ├── sourcecode.png │ └── sourcecode-disable.png ├── utils │ ├── index.ts │ ├── constant.ts │ ├── types.ts │ └── utils.ts ├── manifest.json ├── serviceWorker.ts └── content.ts ├── pnpm-workspace.yaml ├── readme ├── readme-1.jpg ├── readme-2.jpg ├── readme-3.jpg ├── readme-4.jpg ├── readme-5.jpg ├── readme-6.jpg ├── readme-7.jpg ├── readme-8.jpg ├── readme-9.jpg └── code-seek.svg ├── dist ├── images │ ├── sourcecode.png │ └── sourcecode-disable.png ├── popup │ ├── assets │ │ └── graphql-3ec5c534.ico │ └── index.html ├── serviceWorker.js ├── content.js ├── manifest.json └── utils.js ├── example └── react │ ├── .babelrc │ ├── public │ └── index.html │ ├── dist │ ├── index.html │ └── bundle.js.LICENSE.txt │ ├── src │ ├── index.tsx │ └── components │ │ ├── ChildComponent2.tsx │ │ └── ChildComponent1.tsx │ ├── tsconfig.json │ ├── webpack.config.js │ └── package.json ├── tsconfig.json ├── package.json ├── rollup.config.js ├── README.md └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | .DS_Store -------------------------------------------------------------------------------- /src/ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - 'src/ui' 3 | - 'react/react' 4 | -------------------------------------------------------------------------------- /readme/readme-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-1.jpg -------------------------------------------------------------------------------- /readme/readme-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-2.jpg -------------------------------------------------------------------------------- /readme/readme-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-3.jpg -------------------------------------------------------------------------------- /readme/readme-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-4.jpg -------------------------------------------------------------------------------- /readme/readme-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-5.jpg -------------------------------------------------------------------------------- /readme/readme-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-6.jpg -------------------------------------------------------------------------------- /readme/readme-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-7.jpg -------------------------------------------------------------------------------- /readme/readme-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-8.jpg -------------------------------------------------------------------------------- /readme/readme-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/readme/readme-9.jpg -------------------------------------------------------------------------------- /src/ui/src/graphql.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/src/ui/src/graphql.ico -------------------------------------------------------------------------------- /src/images/sourcecode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/src/images/sourcecode.png -------------------------------------------------------------------------------- /dist/images/sourcecode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/dist/images/sourcecode.png -------------------------------------------------------------------------------- /dist/images/sourcecode-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/dist/images/sourcecode-disable.png -------------------------------------------------------------------------------- /src/images/sourcecode-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/src/images/sourcecode-disable.png -------------------------------------------------------------------------------- /dist/popup/assets/graphql-3ec5c534.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midori-profile/sourcecode-seeker/HEAD/dist/popup/assets/graphql-3ec5c534.ico -------------------------------------------------------------------------------- /example/react/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["@babel/preset-env", { "targets": "defaults" }], 4 | ["@babel/preset-react", { "development": true }], 5 | "@babel/preset-typescript" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/ui/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import App from './App'; 3 | import { createRoot } from 'react-dom/client'; 4 | 5 | const root = createRoot(document.getElementById('root') as HTMLElement); 6 | root.render(); 7 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 4 | "module": "ESNext", 5 | "rootDir": "./", 6 | "target": "ESNext", 7 | "types": ["chrome"] 8 | }, 9 | "include": ["src/utils/*.ts", "src/*.ts"] 10 | } -------------------------------------------------------------------------------- /example/react/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My React App 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /example/react/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My React App 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /example/react/src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import ChildComponent1 from "./components/ChildComponent1"; 4 | import ChildComponent2 from "./components/ChildComponent2"; 5 | 6 | const App = () => ( 7 |
8 | Hello, React with TypeScript! 9 | 10 |
11 | ); 12 | 13 | ReactDOM.render(, document.getElementById("root")); 14 | -------------------------------------------------------------------------------- /example/react/src/components/ChildComponent2.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const ChildComponent2 = () => { 4 | const cardStyle: React.CSSProperties = { 5 | backgroundColor: "#FFC0CB", 6 | border: "1px solid #ccc", 7 | borderRadius: "4px", 8 | padding: "20px", 9 | margin: "10px 0", 10 | textAlign: "center", 11 | }; 12 | return
This is child component 2
; 13 | }; 14 | 15 | export default ChildComponent2; 16 | -------------------------------------------------------------------------------- /example/react/src/components/ChildComponent1.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const ChildComponent1 = () => { 4 | const cardStyle: React.CSSProperties = { 5 | backgroundColor: "#c0e7ff", 6 | border: "1px solid #ccc", 7 | borderRadius: "4px", 8 | padding: "20px", 9 | margin: "10px 0", 10 | textAlign: "center", 11 | }; 12 | return
This is child component 1
; 13 | }; 14 | 15 | export default ChildComponent1; 16 | -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- 1 | import { DEFAULT_APPLICATION_RULE } from "./constant"; 2 | import { handleMessageEvent, openComponentInEditor } from "./utils"; 3 | import { Generate } from "./types"; 4 | 5 | 6 | const generateRules: Generate = async ( 7 | graphQLPluginSetting 8 | ) => { 9 | if (graphQLPluginSetting?.pluginSwitchOn) { 10 | openComponentInEditor(); 11 | } 12 | return { ...DEFAULT_APPLICATION_RULE }; 13 | }; 14 | 15 | const main = () => { 16 | handleMessageEvent(generateRules); 17 | }; 18 | 19 | main(); 20 | -------------------------------------------------------------------------------- /example/react/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "esModuleInterop": true, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "jsx": "react-jsx" 17 | }, 18 | "include": ["src"] 19 | } 20 | -------------------------------------------------------------------------------- /src/ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Code Seeker 8 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "allowJs": false, 6 | "skipLibCheck": true, 7 | "esModuleInterop": false, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "ESNext", 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "noImplicitAny": false, 17 | "jsx": "react", 18 | "typeRoots": ["node_modules/@types"], 19 | "types": ["chrome"] 20 | }, 21 | "include": ["src"] 22 | } 23 | -------------------------------------------------------------------------------- /dist/popup/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Code Seeker 8 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/ui/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import react from '@vitejs/plugin-react'; 3 | 4 | const base = process.env.base ?? ''; 5 | 6 | const outDir = (() => { 7 | if (base.includes('popup')) { 8 | return 'popup'; 9 | } 10 | return 'dist'; 11 | })(); 12 | 13 | // https://vitejs.dev/config/ 14 | export default defineConfig({ 15 | base, 16 | plugins: [ 17 | react({ 18 | jsxImportSource: '@emotion/react', 19 | babel: { 20 | plugins: ['@emotion/babel-plugin'], 21 | }, 22 | jsxRuntime: 'classic', 23 | }), 24 | ], 25 | server: { 26 | port: 4444, 27 | open: true, 28 | }, 29 | build: { 30 | outDir, 31 | }, 32 | }); 33 | -------------------------------------------------------------------------------- /dist/serviceWorker.js: -------------------------------------------------------------------------------- 1 | !function(){"use strict";const e="GRAPHQL_MOCK_SETTING";let n={pluginSwitchOn:!1};const t=async()=>{const e=n.pluginSwitchOn?"/images/sourcecode.png":"/images/sourcecode-disable.png";chrome.action.setIcon({path:e});const t=(await chrome.declarativeNetRequest.getDynamicRules()).map((e=>e.id));t.length>0&&Math.max(...t),chrome.declarativeNetRequest.updateDynamicRules({addRules:[],removeRuleIds:t})},c=()=>{chrome.storage.local.get(e,(async c=>{var a;(null===(a=c[e])||void 0===a?void 0:a.pluginSwitchOn)?(n={pluginSwitchOn:c[e].pluginSwitchOn||!1},t()):chrome.action.setIcon({path:"/images/sourcecode-disable.png"})}))},a=async(c,a)=>{"local"===a&&c[e]&&(n={pluginSwitchOn:c[e].newValue.pluginSwitchOn||!1},t())};c(),chrome.storage.onChanged.addListener(a),chrome.runtime.onStartup.addListener(c)}(); 2 | -------------------------------------------------------------------------------- /src/ui/src/hooks/useConfiguration.ts: -------------------------------------------------------------------------------- 1 | 2 | import { useCallback } from 'react'; 3 | import { DEFAULT_CONFIGURATION, KEY } from '../../../utils/constant'; 4 | import { StorageValue } from '../../../utils/types'; 5 | 6 | export const getConfigurationFromStorage = () => { 7 | const storedValueStr = window.localStorage.getItem(KEY) ?? ""; 8 | try { 9 | return JSON.parse(storedValueStr) as StorageValue; 10 | } catch (error) { 11 | return null; 12 | } 13 | }; 14 | 15 | export const getConfigurationFromUrl = () => { 16 | try { 17 | return JSON.parse( 18 | decodeURIComponent( 19 | new URLSearchParams(window.location.search).get("configuration") ?? "" 20 | ) 21 | ) as StorageValue; 22 | } catch (error) { 23 | return null; 24 | } 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /example/react/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const HtmlWebpackPlugin = require("html-webpack-plugin"); 3 | 4 | module.exports = { 5 | mode: "development", 6 | entry: "./src/index.tsx", 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.(ts|tsx)$/, 11 | use: "babel-loader", 12 | exclude: /node_modules/, 13 | }, 14 | ], 15 | }, 16 | resolve: { 17 | extensions: [".tsx", ".ts", ".js"], 18 | }, 19 | output: { 20 | path: path.resolve(__dirname, "dist"), 21 | filename: "bundle.js", 22 | }, 23 | plugins: [ 24 | new HtmlWebpackPlugin({ 25 | template: "./public/index.html", 26 | }), 27 | ], 28 | devtool: "source-map", // 启用 source maps 29 | devServer: { 30 | static: { 31 | directory: path.join(__dirname, "dist"), 32 | }, 33 | open: true, 34 | }, 35 | }; 36 | -------------------------------------------------------------------------------- /src/ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iframe", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "tsc && base='/popup/' vite build", 7 | "serve": "vite preview" 8 | }, 9 | "dependencies": { 10 | "@ant-design/icons": "^5.3.7", 11 | "@emotion/react": "^11.11.0", 12 | "@emotion/styled": "^11.11.0", 13 | "antd": "^5.18.0", 14 | "jsoneditor": "^9.10.2", 15 | "react": "^18.2.0", 16 | "react-dom": "^18.2.0", 17 | "react-use": "^17.4.0", 18 | "uuid": "^9.0.0" 19 | }, 20 | "devDependencies": { 21 | "@emotion/babel-plugin": "^11.11.0", 22 | "@types/chrome": "^0.0.237", 23 | "@types/node": "^20.2.5", 24 | "@types/react": "^18.2.7", 25 | "@types/react-dom": "^18.2.4", 26 | "@types/uuid": "^9.0.1", 27 | "@vitejs/plugin-react": "^4.0.0", 28 | "vite": "^4.3.9" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /example/react/dist/bundle.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @license React 3 | * react-dom.production.min.js 4 | * 5 | * Copyright (c) Facebook, Inc. and its affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */ 10 | 11 | /** 12 | * @license React 13 | * react.production.min.js 14 | * 15 | * Copyright (c) Facebook, Inc. and its affiliates. 16 | * 17 | * This source code is licensed under the MIT license found in the 18 | * LICENSE file in the root directory of this source tree. 19 | */ 20 | 21 | /** 22 | * @license React 23 | * scheduler.production.min.js 24 | * 25 | * Copyright (c) Facebook, Inc. and its affiliates. 26 | * 27 | * This source code is licensed under the MIT license found in the 28 | * LICENSE file in the root directory of this source tree. 29 | */ 30 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-easy-mock", 3 | "version": "1.0.0", 4 | "author": "Midori", 5 | "type": "module", 6 | "scripts": { 7 | "watch": "rollup -c -w", 8 | "prebuild": "rm -rf dist", 9 | "build:script": "rollup -c", 10 | "build:popup": "echo 'Building popup' && cd src/ui && pnpm install && pnpm run build && mv popup ../../dist/popup && rm -rf dist && rm -rf popup", 11 | "build": "pnpm prebuild && concurrently \"pnpm build:popup\" \"pnpm build:script\"" 12 | }, 13 | "dependencies": { 14 | "typescript": "^5.0.4" 15 | }, 16 | "devDependencies": { 17 | "@rollup/plugin-terser": "^0.4.3", 18 | "@rollup/plugin-typescript": "^11.1.1", 19 | "@types/chrome": "^0.0.237", 20 | "concurrently": "^8.0.1", 21 | "rollup": "^3.23.0", 22 | "rollup-plugin-copy": "^3.5.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /example/react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "webpack serve --open", 8 | "build": "webpack", 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "ISC", 14 | "dependencies": { 15 | "react": "^18.2.0", 16 | "react-dom": "^18.2.0" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.24.4", 20 | "@babel/preset-env": "^7.24.4", 21 | "@babel/preset-react": "^7.24.1", 22 | "@babel/preset-typescript": "^7.24.1", 23 | "@types/react": "^18.2.74", 24 | "@types/react-dom": "^18.2.24", 25 | "babel-loader": "^9.1.3", 26 | "html-webpack-plugin": "^5.6.0", 27 | "typescript": "^5.4.4", 28 | "webpack": "^5.91.0", 29 | "webpack-cli": "^5.1.4", 30 | "webpack-dev-server": "^5.0.4" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /dist/content.js: -------------------------------------------------------------------------------- 1 | !function(){"use strict";const e="GRAPHQL_MOCK_SETTING",t=(t,n)=>{window.postMessage({key:e,value:t,pageLoad:n},"*")},n=e=>new Promise(((t,n)=>{e.addEventListener("load",t),e.addEventListener("error",n)})),a=async t=>{var n,a;!t.pluginSwitchOn||(a=null!==(n=t.lastEffectiveTimestamp)&&void 0!==n?n:Date.now(),(Date.now()-a)/36e5<12)||(t.pluginSwitchOn=!1,chrome.storage.local.set({[e]:t}))},s=(n,a)=>{"local"===a&&n[e]&&t(n[e].newValue,!1)};!async function(){const i=(()=>{const e=document.createElement("script");return e.setAttribute("type","text/javascript"),e.setAttribute("src",chrome.runtime.getURL("utils.js")),e.setAttribute("id","graphql-script-id"),document.documentElement.appendChild(e),e})();const o=(await Promise.all([(r=e,new Promise((e=>{chrome.storage.local.get(r,(t=>{e(t[r])}))}))),n(i)]))[0];var r;await a(o),window.addEventListener("message",((e,n)=>a=>{"PAGE_READY_KEY"===a.data.key&&a.data.value&&(t(e,!0),n.disconnect())})(o,undefined)),chrome.storage.onChanged.addListener(s)}()}(); 2 | -------------------------------------------------------------------------------- /src/utils/constant.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationRule } from "./types"; 2 | 3 | // key 4 | export const KEY = 'GRAPHQL_MOCK_SETTING'; 5 | export const USER_ID_KEY = 'GRAPHQL_MOCK_UUID'; 6 | export const ALERT_KEY = 'GRAPHQL_MOCK_ALERT'; 7 | export const SWITCH_COOKIE_KEY = 'GRAPHQL_SWITCH'; 8 | export const PAGE_READY_KEY = 'PAGE_READY_KEY'; 9 | export const GRAPHQL_MOCK_EXTENSION_ID = 'graphql-script-id'; 10 | 11 | // default config 12 | export const DEFAULT_MOCK_RESPONSE_LIST = [ 13 | { name: '', value: '', disabled: false }, 14 | ]; 15 | 16 | export const DEFAULT_UTILS = { 17 | mockResponse: true, 18 | openCompInEditor: true, 19 | }; 20 | 21 | export const DEFAULT_CONFIGURATION = { 22 | pluginSwitchOn: false, 23 | pluginMockResponseList: DEFAULT_MOCK_RESPONSE_LIST, 24 | utils: DEFAULT_UTILS, 25 | }; 26 | 27 | export const DEFAULT_APPLICATION_RULE: ApplicationRule = { 28 | blockResourceRules: [], 29 | entrypoints: [], 30 | staticResourceRules: [], 31 | // ajaxRules: [], 32 | }; 33 | -------------------------------------------------------------------------------- /dist/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sourcecode Seeker", 3 | "version": "1.0.0", 4 | "description": "Sourcecode Seeker", 5 | "manifest_version": 3, 6 | 7 | "permissions": [ 8 | "storage", 9 | "declarativeNetRequest" 10 | ], 11 | "host_permissions": [ 12 | "https://*/*" 13 | ], 14 | 15 | "action": { 16 | "default_popup": "popup/index.html" 17 | }, 18 | 19 | "icons": { 20 | "16": "images/sourcecode.png", 21 | "32": "images/sourcecode.png", 22 | "48": "images/sourcecode.png", 23 | "128": "images/sourcecode.png" 24 | }, 25 | 26 | "background": { 27 | "service_worker": "serviceWorker.js" 28 | }, 29 | 30 | "content_scripts": [ 31 | { 32 | "matches": ["https://*/*", "http://*/*"], 33 | "js": ["content.js"], 34 | "run_at": "document_start", 35 | "all_frames": true 36 | } 37 | ], 38 | 39 | "web_accessible_resources": [ 40 | { 41 | "resources": [ 42 | "utils.js", 43 | "content.js", 44 | "serviceWorker.js" 45 | ], 46 | "matches": ["https://*/*", "http://*/*"] 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /src/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sourcecode Seeker", 3 | "version": "1.0.0", 4 | "description": "Sourcecode Seeker", 5 | "manifest_version": 3, 6 | 7 | "permissions": [ 8 | "storage", 9 | "declarativeNetRequest" 10 | ], 11 | "host_permissions": [ 12 | "https://*/*" 13 | ], 14 | 15 | "action": { 16 | "default_popup": "popup/index.html" 17 | }, 18 | 19 | "icons": { 20 | "16": "images/sourcecode.png", 21 | "32": "images/sourcecode.png", 22 | "48": "images/sourcecode.png", 23 | "128": "images/sourcecode.png" 24 | }, 25 | 26 | "background": { 27 | "service_worker": "serviceWorker.js" 28 | }, 29 | 30 | "content_scripts": [ 31 | { 32 | "matches": ["https://*/*", "http://*/*"], 33 | "js": ["content.js"], 34 | "run_at": "document_start", 35 | "all_frames": true 36 | } 37 | ], 38 | 39 | "web_accessible_resources": [ 40 | { 41 | "resources": [ 42 | "utils.js", 43 | "content.js", 44 | "serviceWorker.js" 45 | ], 46 | "matches": ["https://*/*", "http://*/*"] 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import typescript from "@rollup/plugin-typescript"; 2 | // Import Terser plugin for Rollup, used to minify JavaScript code 3 | import terser from "@rollup/plugin-terser"; 4 | import copy from "rollup-plugin-copy"; 5 | 6 | const plugins = [ 7 | typescript({ compilerOptions: { target: "es2017" } }), 8 | terser(), 9 | ]; 10 | 11 | /** @type {import('rollup').RollupOptions} */ 12 | export default [ 13 | { 14 | input: "src/content.ts", 15 | output: { 16 | file: "dist/content.js", 17 | format: "iife", 18 | sourcemap: false, 19 | }, 20 | watch: { 21 | include: ["src/content.ts"], 22 | }, 23 | plugins: [ 24 | ...plugins, 25 | copy({ 26 | targets: [ 27 | { src: 'src/manifest.json', dest: 'dist' }, 28 | { src: 'src/images/*', dest: 'dist/images' }, 29 | ], 30 | verbose: true, 31 | }) 32 | ], 33 | }, 34 | { 35 | input: "src/serviceWorker.ts", 36 | output: { 37 | file: "dist/serviceWorker.js", 38 | format: "iife", 39 | sourcemap: false, 40 | }, 41 | watch: { 42 | include: "src/serviceWorker.ts", 43 | }, 44 | plugins, 45 | }, 46 | { 47 | input: `src/utils/index.ts`, 48 | output: [ 49 | { 50 | file: `dist/utils.js`, 51 | format: "iife", 52 | sourcemap: false, 53 | }, 54 | ], 55 | plugins, 56 | }, 57 | ]; -------------------------------------------------------------------------------- /src/serviceWorker.ts: -------------------------------------------------------------------------------- 1 | import { Storage, Changes, StorageValue } from './utils/types'; 2 | import { KEY } from './utils/constant'; 3 | 4 | let ruleId = 1; 5 | let appSetting: StorageValue = { pluginSwitchOn: false }; 6 | 7 | const createEmptyRules = (): chrome.declarativeNetRequest.Rule[] => { 8 | const rules: chrome.declarativeNetRequest.Rule[] = []; 9 | return rules; 10 | }; 11 | 12 | const applyRules = async (): Promise => { 13 | const iconPath = appSetting.pluginSwitchOn ? '/images/sourcecode.png' : '/images/sourcecode-disable.png'; 14 | chrome.action.setIcon({ path: iconPath }); 15 | 16 | const currentRuleIds = (await chrome.declarativeNetRequest.getDynamicRules()).map((rule) => rule.id); 17 | if (currentRuleIds.length > 0) { 18 | ruleId = Math.max(...currentRuleIds) + 1; 19 | } 20 | 21 | chrome.declarativeNetRequest.updateDynamicRules({ 22 | addRules: createEmptyRules(), 23 | removeRuleIds: currentRuleIds, 24 | }); 25 | }; 26 | 27 | const loadStoredSettings = (): void => { 28 | chrome.storage.local.get(KEY, async (storage: Storage) => { 29 | if (storage[KEY]?.pluginSwitchOn) { 30 | appSetting = { pluginSwitchOn: storage[KEY].pluginSwitchOn || false }; 31 | applyRules(); 32 | } else { 33 | chrome.action.setIcon({ path: '/images/sourcecode-disable.png' }); 34 | } 35 | }); 36 | }; 37 | 38 | const handleStorageChanges = async (changes: Changes, areaName: string): Promise => { 39 | if (areaName === 'local' && changes[KEY]) { 40 | appSetting = { pluginSwitchOn: changes[KEY].newValue.pluginSwitchOn || false }; 41 | applyRules(); 42 | } 43 | }; 44 | 45 | const initializeServiceWorker = (): void => { 46 | loadStoredSettings(); 47 | chrome.storage.onChanged.addListener(handleStorageChanges); 48 | chrome.runtime.onStartup.addListener(loadStoredSettings); 49 | }; 50 | 51 | initializeServiceWorker(); -------------------------------------------------------------------------------- /src/content.ts: -------------------------------------------------------------------------------- 1 | import { 2 | KEY, 3 | GRAPHQL_MOCK_EXTENSION_ID, 4 | PAGE_READY_KEY, 5 | } from "./utils/constant"; 6 | import { 7 | isEffectivePluginSwitch, 8 | postMessage, 9 | getStorage, 10 | } from "./utils/utils"; 11 | import { Changes, StorageValue } from "./utils/types"; 12 | 13 | 14 | const createScriptElement = (): HTMLScriptElement => { 15 | const script = document.createElement("script"); 16 | script.setAttribute("type", "text/javascript"); 17 | script.setAttribute("src", chrome.runtime.getURL(`utils.js`)); 18 | script.setAttribute("id", GRAPHQL_MOCK_EXTENSION_ID); 19 | document.documentElement.appendChild(script); 20 | return script; 21 | }; 22 | 23 | const waitScriptLoaded = (script: HTMLScriptElement): Promise => 24 | new Promise((resolve, reject) => { 25 | script.addEventListener("load", resolve); 26 | script.addEventListener("error", reject); 27 | }); 28 | 29 | const handlePluginSwitch = async (value: StorageValue): Promise => { 30 | if ( 31 | value.pluginSwitchOn && 32 | !isEffectivePluginSwitch(value.lastEffectiveTimestamp ?? Date.now()) 33 | ) { 34 | value.pluginSwitchOn = false; 35 | chrome.storage.local.set({ [KEY]: value }); 36 | } 37 | }; 38 | 39 | const handleMessageEvent = (value: StorageValue, observer: MutationObserver) => ( 40 | event: MessageEvent<{ key: string; value: string }> 41 | ): void => { 42 | if (event.data.key === PAGE_READY_KEY && event.data.value) { 43 | postMessage(value, true); 44 | observer.disconnect(); 45 | } 46 | }; 47 | 48 | const handleStorageChange = (changes: Changes, areaName: string): void => { 49 | if (areaName === "local" && changes[KEY]) { 50 | postMessage(changes[KEY].newValue, false); 51 | } 52 | }; 53 | 54 | const main = async function () { 55 | const script = createScriptElement(); 56 | let observer: MutationObserver; 57 | 58 | const value = ( 59 | await Promise.all([getStorage(KEY), waitScriptLoaded(script)]) 60 | )[0] as StorageValue; 61 | 62 | await handlePluginSwitch(value); 63 | 64 | window.addEventListener( 65 | "message", 66 | handleMessageEvent(value, observer) 67 | ); 68 | 69 | chrome.storage.onChanged.addListener(handleStorageChange); 70 | }; 71 | 72 | main(); -------------------------------------------------------------------------------- /src/utils/types.ts: -------------------------------------------------------------------------------- 1 | import { KEY } from './constant'; 2 | 3 | // storage 4 | export type StorageKey = typeof KEY; 5 | 6 | export type StorageValue = { 7 | pluginSwitchOn?: boolean; 8 | pluginMockResponseList?: App[]; 9 | lastEffectiveTimestamp?: number; 10 | }; 11 | 12 | export type Storage = { 13 | [KEY]?: StorageValue; 14 | }; 15 | 16 | export type Changes = { 17 | [KEY]?: { 18 | newValue: StorageValue; 19 | }; 20 | }; 21 | 22 | // app setting 23 | export type App = { 24 | name: string; 25 | value: string; 26 | disabled: boolean; 27 | }; 28 | 29 | export type ApplicationRule = { 30 | blockResourceRules: RegExp[]; 31 | entrypoints: string[]; 32 | // ajaxRules: AjaxRule[]; 33 | staticResourceRules: StaticResourceRule[]; 34 | mainFrameText?: string; 35 | }; 36 | 37 | export type Generate = ( 38 | graphQLPlugin: StorageValue, 39 | isFirstExecution: boolean 40 | ) => Promise; 41 | 42 | // rule 43 | // export type AjaxRule = { 44 | // filter: (request: { 45 | // method: string; 46 | // url: string; 47 | // headers: Record; 48 | // body?: BodyInit; 49 | // }) => boolean; 50 | // modifyRequest?: (request: { 51 | // method: string; 52 | // url: string; 53 | // headers: Record; 54 | // }) => { 55 | // url?: string; 56 | // headers?: Record; 57 | // delay?: number; 58 | // }; 59 | // modifyResponse?: (response?: any) => string; 60 | // type?: TYPE; 61 | // statusCode?: number; 62 | // }; 63 | 64 | export type StaticResourceRule = { 65 | filter: (url: string) => boolean; 66 | target: (url: string) => string; 67 | }; 68 | 69 | // export type Rules = { 70 | // ajaxRules: AjaxRule[]; 71 | // staticResourceRules: StaticResourceRule[]; 72 | // }; 73 | 74 | export type ResponseSetting = { 75 | type?: TYPE; 76 | operationName?: string; 77 | method?: METHOD; 78 | responseText?: string; 79 | statusCode?: string; 80 | }; 81 | 82 | // message 83 | export type Message = { 84 | key: StorageKey; 85 | value: Partial; 86 | pageLoad: boolean; 87 | }; 88 | 89 | // enum 90 | export enum TYPE { 91 | GraphQL = 'graphql', 92 | RESTFUL = 'RESTful', 93 | } 94 | 95 | export enum METHOD { 96 | GET = 'GET', 97 | POST = 'POST', 98 | DELETE = 'DELETE', 99 | PUT = 'PUT', 100 | } 101 | 102 | declare global { 103 | interface Window { 104 | graphQLPlugin?: { 105 | blockObserver?: MutationObserver; 106 | }; 107 | ignoreClassName: boolean; 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /dist/utils.js: -------------------------------------------------------------------------------- 1 | !function(){"use strict";const e="GRAPHQL_MOCK_ALERT",n={pluginSwitchOn:!1,pluginMockResponseList:[{name:"",value:"",disabled:!1}],utils:{mockResponse:!0,openCompInEditor:!0}},t={blockResourceRules:[],entrypoints:[],staticResourceRules:[]},o=()=>{const e=e=>{for(const n in e)if(n.startsWith("__reactInternalInstance")||n.startsWith("__reactFiber$")||n.startsWith("__reactFiber"))return console.log("Found React Fiber instance for element:",e,"Key:",n),e[n];return console.log("No React Fiber instance found for element:",e),null},n=t=>{const o=t.parentElement;if("HTML"===t.tagName||null===o)return console.warn("Couldn't find a React instance for the element",t),null;const s=e(t);return s&&s._debugSource?s._debugSource:n(o)},t=(e,o)=>(null==e?void 0:e._debugOwner)?e._debugOwner._debugSource?e._debugOwner._debugSource:t(e._debugOwner,o):n(o);window.addEventListener("click",(n=>{if(n.stopPropagation(),n.altKey){const{target:o}=n;if(o instanceof HTMLElement){const n=(n=>{const o=e(n);return o&&o._debugSource?o._debugSource:t(o,n)})(o);if(!n)return void console.warn("Couldn't find debug source for element:",o);const{columnNumber:s,fileName:i,lineNumber:r}=n,c=`vscode://file/${i}:${r}:${s}`,u=document.createElement("iframe");u.style.display="none",u.src=c,document.body.appendChild(u),setTimeout((()=>{u.remove()}),100)}}}))};(async t=>{let o=!0;const s=!!document.getElementById("graphql-script-id");s&&o&&(window.graphQLPlugin={},window.postMessage({key:"PAGE_READY_KEY",value:!0},"*"));const i=async e=>{var s;const i=(e=>{var t,o;return Object.assign(Object.assign(Object.assign({},n),e),{pluginSwitchOn:!!e.pluginSwitchOn&&(o=null!==(t=e.lastEffectiveTimestamp)&&void 0!==t?t:Date.now(),(Date.now()-o)/36e5<12)})})(null!==(s=e.value)&&void 0!==s?s:{}),{entrypoints:r=[],blockResourceRules:c=[],staticResourceRules:u=[],mainFrameText:l}=await t(i,o);return{entrypoints:r,blockResourceRules:c,staticResourceRules:u,mainFrameText:l}};window.addEventListener("message",(async n=>{const{data:t}=n;if("GRAPHQL_MOCK_SETTING"===(null==t?void 0:t.key))try{const{entrypoints:n,blockResourceRules:r,staticResourceRules:c,mainFrameText:u}=await i(t),l=n.length>0||r.length>0||c.length>0;(n=>{n&&!window.sessionStorage.getItem(e)&&(window.sessionStorage.setItem(e,"true"),o&&console.log("🚀 Source code seeker is running in your website for the first time!"))})(l),((e,n)=>{var t,i;o&&(!s&&(null===(i=null===(t=window.graphQLPlugin)||void 0===t?void 0:t.blockObserver)||void 0===i||i.disconnect()),n&&document.write(n),e&&(document.title=`${document.title} (Source code seeker)`),o=!1)})(l,u)}catch(e){console.log(e)}}))})((async e=>((null==e?void 0:e.pluginSwitchOn)&&o(),Object.assign({},t))))}(); 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | GraphQL Easy Mock 2 | 3 | **Code Seek** is a frontend development tool that allows you to locate your component's source code with a single click from the browser. It currently supports React, and will support Vue soon. 4 | 5 | # Installation 6 | 7 | The plugin has not been published to the application market yet. You can import the `dist` package from the root directory of this repository into your Chrome extension. 8 | 9 | Follow these steps: 10 | 11 | 1. Click on the Chrome plugin button and then click on "Manage extensions". 12 | 13 | Manage Extensions 14 | 15 | 2. Click "Enable developer mode" in the top right corner. 16 | 17 | Enable Developer Mode 18 | 19 | 3. Click "Load unpacked". 20 | 21 | Load Unpacked 22 | 23 | 4. Import the `dist` package from the root directory of this repository. 24 | 25 | Import Dist Package 26 | 27 | 5. The plugin has been successfully installed in your Chrome browser. 28 | 29 | Plugin Installed 30 | 31 | # How to Use 32 | 33 | Babel configuration reference: [`.babelrc`](https://github.com/midori-profile/sourcecode-seeker/blob/master/example/react/.babelrc) 34 | 35 | This configuration allows you to use the latest JS, JSX, and TS features: 36 | ```json 37 | { 38 | "presets": [ 39 | ["@babel/preset-env", { "targets": "defaults" }], 40 | ["@babel/preset-react", { "development": true }], 41 | "@babel/preset-typescript" 42 | ] 43 | } 44 | ``` 45 | 46 | In your Webpack configuration, the `devtool: "source-map"` option enables Webpack to generate source maps. Refer to this file: [webpack.config.js](https://github.com/midori-profile/sourcecode-seeker/blob/master/example/react/webpack.config.js). 47 | 48 | Then, enable the Source Code Seeker: 49 | 50 | Enable Source Code Seeker 51 | 52 | Open the Inspector (this step is crucial): 53 | 54 | Open Inspector 55 | 56 | Option/Alt-click the component you want to locate: 57 | 58 | Option/Alt-click Component 59 | 60 | You will be directed to the source code: 61 | 62 | Locate Source Code 63 | 64 | # Exploring 65 | 66 | I have provided an example for you to experience the plugin's features: 67 | 68 | ```sh 69 | cd example/react 70 | pnpm install 71 | pnpm start 72 | ``` 73 | 74 | # Planned Features 75 | 76 | 1. **Vue Support**: Currently under development and will be added soon. 77 | -------------------------------------------------------------------------------- /src/ui/src/App.tsx: -------------------------------------------------------------------------------- 1 | import React, { 2 | useEffect, 3 | useRef, 4 | useCallback, 5 | } from "react"; 6 | import { useUpdate } from "react-use"; 7 | import { Switch, Typography, Divider } from "antd"; 8 | import { v4 as uuid } from "uuid"; 9 | import { 10 | KEY, 11 | USER_ID_KEY, 12 | DEFAULT_CONFIGURATION, 13 | SWITCH_COOKIE_KEY, 14 | } from "../../utils/constant"; 15 | import { getConfigurationFromStorage, getConfigurationFromUrl } from "./hooks/useConfiguration"; 16 | 17 | const { Text, Paragraph } = Typography; 18 | 19 | const isChromeExtensionEnv = 20 | typeof window.chrome?.storage?.local?.set === "function"; 21 | 22 | let userId = ""; 23 | 24 | function App() { 25 | const forceUpdate = useUpdate(); 26 | const pluginSwitchOnRef = useRef(DEFAULT_CONFIGURATION.pluginSwitchOn); 27 | 28 | const store = useCallback(() => { 29 | const value = { 30 | pluginSwitchOn: pluginSwitchOnRef.current, 31 | }; 32 | if (isChromeExtensionEnv) { 33 | chrome.storage.local.set({ 34 | [KEY]: value.pluginSwitchOn 35 | ? { ...value, lastEffectiveTimestamp: Date.now() } 36 | : value, 37 | }); 38 | } else { 39 | window.localStorage.setItem(KEY, JSON.stringify(value)); 40 | document.cookie = `${SWITCH_COOKIE_KEY}=${ 41 | pluginSwitchOnRef.current ? "ON" : "OFF" 42 | }; path=/; max-age=${60 * 60 * 12}; samesite=strict;`; 43 | } 44 | }, []); 45 | 46 | const refreshPage = useCallback(() => { 47 | const storedValue = getConfigurationFromUrl() ?? getConfigurationFromStorage(); 48 | 49 | if (storedValue) { 50 | pluginSwitchOnRef.current = storedValue.pluginSwitchOn ?? false; 51 | forceUpdate(); 52 | store(); 53 | window.history.replaceState({}, "", window.location.href.replace(/\?configuration=.+$/g, "")); 54 | } 55 | }, [forceUpdate, store]); 56 | 57 | useEffect(() => { 58 | if (isChromeExtensionEnv) { 59 | chrome.storage.local.get(USER_ID_KEY, (userIdStorage) => { 60 | userId = userIdStorage[USER_ID_KEY]; 61 | 62 | if (!userId) { 63 | userId = uuid(); 64 | chrome.storage.local.set({ [USER_ID_KEY]: userId }); 65 | } 66 | }); 67 | chrome.storage.local.get(KEY, (storage) => { 68 | if (storage[KEY]) { 69 | pluginSwitchOnRef.current = storage[KEY].pluginSwitchOn ?? false; 70 | forceUpdate(); 71 | } 72 | }); 73 | } else { 74 | userId = window.localStorage.getItem(USER_ID_KEY) ?? ""; 75 | if (!userId) { 76 | userId = uuid(); 77 | window.localStorage.setItem(USER_ID_KEY, userId); 78 | } 79 | 80 | refreshPage(); 81 | } 82 | }, [refreshPage]); 83 | 84 | useEffect(() => { 85 | const visibilitychangeHandler = () => { 86 | if (document.visibilityState === "visible" && !isChromeExtensionEnv) { 87 | refreshPage(); 88 | } 89 | }; 90 | 91 | document.addEventListener("visibilitychange", visibilitychangeHandler); 92 | 93 | return () => { 94 | document.removeEventListener("visibilitychange", visibilitychangeHandler); 95 | }; 96 | }, [refreshPage]); 97 | 98 | return ( 99 |
100 |
101 |
102 | { 105 | pluginSwitchOnRef.current = checked; 106 | forceUpdate(); 107 | store(); 108 | }} 109 | /> 110 | 117 | Enable Source Code Seeker 118 | 119 |
120 | 121 | 122 | 123 | In your project, configure .babelrc with: 124 | 125 | 126 |

131 | "presets": [
132 | {' '}[@babel/preset-env", {`{ "targets": "defaults" }`}],
133 | {' '}["@babel/preset-react", {`{ "development": true }`}],
134 | ] 135 |

136 |
137 | 138 | Then, in webpack.config.js, set devtool: "source-map". 139 | 140 | 141 | After enabling, open DevTools, hold Alt/Option, and click on a component to jump to the corresponding code. 🎉 142 | 143 |
144 |
145 |
146 | ); 147 | } 148 | 149 | export default App; 150 | -------------------------------------------------------------------------------- /src/utils/utils.ts: -------------------------------------------------------------------------------- 1 | import { 2 | KEY, 3 | ALERT_KEY, 4 | GRAPHQL_MOCK_EXTENSION_ID, 5 | DEFAULT_CONFIGURATION, 6 | PAGE_READY_KEY, 7 | } from "./constant"; 8 | import { 9 | StorageValue, 10 | Message, 11 | Generate, 12 | } from "./types"; 13 | 14 | // tools 15 | export const delayByMilliseconds = (ms: number) => 16 | new Promise((resolve) => { 17 | window.setTimeout(resolve, ms); 18 | }); 19 | 20 | export const postMessage = (value: StorageValue, pageLoad: boolean) => { 21 | window.postMessage( 22 | { 23 | key: KEY, 24 | value, 25 | pageLoad, 26 | }, 27 | "*" 28 | ); 29 | }; 30 | 31 | export const getStorage = (key: string) => 32 | new Promise((resolve) => { 33 | chrome.storage.local.get(key, (storage) => { 34 | resolve(storage[key]); 35 | }); 36 | }); 37 | 38 | export const setStorage = ( 39 | key: string, 40 | value: StorageValue 41 | ) => 42 | new Promise((resolve) => { 43 | chrome.storage.local.set( 44 | { 45 | [key]: value, 46 | }, 47 | () => resolve 48 | ); 49 | }); 50 | 51 | const checkExtensionIsInstalled = () => 52 | !!document.getElementById(GRAPHQL_MOCK_EXTENSION_ID); 53 | 54 | export const openComponentInEditor = () => { 55 | type DebugSource = { 56 | columnNumber?: number; 57 | fileName?: string; 58 | lineNumber?: number; 59 | }; 60 | type FiberNode = { 61 | _debugSource?: DebugSource; 62 | _debugOwner?: FiberNode; 63 | }; 64 | 65 | const getFiberNodeInstance = (element) => { 66 | for (const key in element) { 67 | if (key.startsWith("__reactInternalInstance") || key.startsWith("__reactFiber$") || key.startsWith("__reactFiber")) { 68 | console.log("Found React Fiber instance for element:", element, "Key:", key); 69 | return element[key]; 70 | } 71 | } 72 | console.log("No React Fiber instance found for element:", element); 73 | return null; 74 | }; 75 | 76 | const getFallbackDebugSourceFromElement = (element) => { 77 | const parentElement = element.parentElement; 78 | if (element.tagName === "HTML" || parentElement === null) { 79 | console.warn("Couldn't find a React instance for the element", element); 80 | return null; 81 | } 82 | const fiberNodeInstance = getFiberNodeInstance(element); 83 | if (fiberNodeInstance && fiberNodeInstance._debugSource) { 84 | return fiberNodeInstance._debugSource; 85 | } 86 | return getFallbackDebugSourceFromElement(parentElement); 87 | }; 88 | 89 | const getFallbackDebugSource = (fiberNodeInstance, element) => { 90 | if (fiberNodeInstance?._debugOwner) { 91 | if (fiberNodeInstance._debugOwner._debugSource) { 92 | return fiberNodeInstance._debugOwner._debugSource; 93 | } else { 94 | return getFallbackDebugSource(fiberNodeInstance._debugOwner, element); 95 | } 96 | } else { 97 | return getFallbackDebugSourceFromElement(element); 98 | } 99 | }; 100 | 101 | const getDebugSource = (element) => { 102 | const fiberNodeInstance = getFiberNodeInstance(element); 103 | if (fiberNodeInstance && fiberNodeInstance._debugSource) { 104 | return fiberNodeInstance._debugSource; 105 | } 106 | return getFallbackDebugSource(fiberNodeInstance, element); 107 | }; 108 | 109 | // Option(Alt) + Click 110 | window.addEventListener("click", (event) => { 111 | event.stopPropagation(); 112 | if (event.altKey) { 113 | const { target } = event; 114 | if (target instanceof HTMLElement) { 115 | const debugSource = getDebugSource(target); 116 | if (!debugSource) { 117 | console.warn("Couldn't find debug source for element:", target); 118 | return; 119 | } 120 | const { columnNumber, fileName, lineNumber } = debugSource; 121 | const url = `vscode://file/${fileName}:${lineNumber}:${columnNumber}`; 122 | const iframe = document.createElement("iframe"); 123 | iframe.style.display = "none"; 124 | iframe.src = url; 125 | document.body.appendChild(iframe); 126 | setTimeout(() => { 127 | iframe.remove(); 128 | }, 100); 129 | } 130 | } 131 | }); 132 | }; 133 | 134 | export const isEffectivePluginSwitch = (lastEffectiveTimestamp: number) => 135 | (Date.now() - lastEffectiveTimestamp) / (60 * 60 * 1000) < 12; 136 | 137 | export const buildGraphqlPluginSetting = ( 138 | storage: Partial 139 | ): StorageValue => ({ 140 | ...DEFAULT_CONFIGURATION, 141 | ...storage, 142 | pluginSwitchOn: 143 | !!storage.pluginSwitchOn && 144 | isEffectivePluginSwitch(storage.lastEffectiveTimestamp ?? Date.now()), 145 | }); 146 | 147 | export const handleMessageEvent = async (generate: Generate) => { 148 | let isFirstExecution = true; 149 | const isExtensionInstalled = checkExtensionIsInstalled(); 150 | 151 | if (isExtensionInstalled && isFirstExecution) { 152 | window.graphQLPlugin = {}; 153 | window.postMessage( 154 | { 155 | key: PAGE_READY_KEY, 156 | value: true, 157 | }, 158 | "*" 159 | ); 160 | } 161 | 162 | const handlePluginSetting = async (data: any) => { 163 | const graphQLPluginSetting = buildGraphqlPluginSetting(data.value ?? {}); 164 | 165 | const { 166 | entrypoints = [], 167 | blockResourceRules = [], 168 | // ajaxRules = [], 169 | staticResourceRules = [], 170 | mainFrameText, 171 | } = await generate(graphQLPluginSetting, isFirstExecution); 172 | 173 | return { 174 | entrypoints, 175 | blockResourceRules, 176 | // ajaxRules, 177 | staticResourceRules, 178 | mainFrameText, 179 | }; 180 | }; 181 | 182 | const handlePluginEnabled = (isPluginEnabled: boolean) => { 183 | if (isPluginEnabled && !window.sessionStorage.getItem(ALERT_KEY)) { 184 | window.sessionStorage.setItem(ALERT_KEY, "true"); 185 | if (isFirstExecution) { 186 | console.log( 187 | "🚀 Source code seeker is running in your website for the first time!" 188 | ); 189 | } 190 | } 191 | }; 192 | 193 | const handleFirstExecution = (isPluginEnabled: boolean, mainFrameText: string) => { 194 | if (isFirstExecution) { 195 | !isExtensionInstalled && window.graphQLPlugin?.blockObserver?.disconnect(); 196 | 197 | if (mainFrameText) { 198 | document.write(mainFrameText); 199 | } 200 | 201 | if (isPluginEnabled) { 202 | document.title = `${document.title} (Source code seeker)`; 203 | } 204 | 205 | isFirstExecution = false; 206 | } 207 | }; 208 | 209 | window.addEventListener("message", async (e: MessageEvent) => { 210 | const { data } = e; 211 | 212 | if (data?.key === KEY) { 213 | try { 214 | const { 215 | entrypoints, 216 | blockResourceRules, 217 | // ajaxRules, 218 | staticResourceRules, 219 | mainFrameText, 220 | } = await handlePluginSetting(data); 221 | 222 | const isPluginEnabled = 223 | entrypoints.length > 0 || 224 | blockResourceRules.length > 0 || 225 | // ajaxRules.length > 0 || 226 | staticResourceRules.length > 0; 227 | 228 | handlePluginEnabled(isPluginEnabled); 229 | handleFirstExecution(isPluginEnabled, mainFrameText); 230 | 231 | } catch (error) { 232 | console.log(error); 233 | } 234 | } 235 | }); 236 | }; 237 | -------------------------------------------------------------------------------- /readme/code-seek.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.1' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | typescript: 12 | specifier: ^5.0.4 13 | version: 5.4.3 14 | devDependencies: 15 | '@rollup/plugin-terser': 16 | specifier: ^0.4.3 17 | version: 0.4.4(rollup@3.29.4) 18 | '@rollup/plugin-typescript': 19 | specifier: ^11.1.1 20 | version: 11.1.6(rollup@3.29.4)(typescript@5.4.3) 21 | '@types/chrome': 22 | specifier: ^0.0.237 23 | version: 0.0.237 24 | concurrently: 25 | specifier: ^8.0.1 26 | version: 8.2.2 27 | rollup: 28 | specifier: ^3.23.0 29 | version: 3.29.4 30 | rollup-plugin-copy: 31 | specifier: ^3.5.0 32 | version: 3.5.0 33 | 34 | src/ui: 35 | dependencies: 36 | '@ant-design/icons': 37 | specifier: ^5.3.7 38 | version: 5.3.7(react-dom@18.3.1)(react@18.3.1) 39 | '@emotion/react': 40 | specifier: ^11.11.0 41 | version: 11.11.4(@types/react@18.3.3)(react@18.3.1) 42 | '@emotion/styled': 43 | specifier: ^11.11.0 44 | version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.3)(react@18.3.1) 45 | antd: 46 | specifier: ^5.18.0 47 | version: 5.18.0(react-dom@18.3.1)(react@18.3.1) 48 | jsoneditor: 49 | specifier: ^9.10.2 50 | version: 9.10.5 51 | react: 52 | specifier: ^18.2.0 53 | version: 18.3.1 54 | react-dom: 55 | specifier: ^18.2.0 56 | version: 18.3.1(react@18.3.1) 57 | react-use: 58 | specifier: ^17.4.0 59 | version: 17.5.0(react-dom@18.3.1)(react@18.3.1) 60 | uuid: 61 | specifier: ^9.0.0 62 | version: 9.0.1 63 | devDependencies: 64 | '@emotion/babel-plugin': 65 | specifier: ^11.11.0 66 | version: 11.11.0 67 | '@types/chrome': 68 | specifier: ^0.0.237 69 | version: 0.0.237 70 | '@types/node': 71 | specifier: ^20.2.5 72 | version: 20.11.30 73 | '@types/react': 74 | specifier: ^18.2.7 75 | version: 18.3.3 76 | '@types/react-dom': 77 | specifier: ^18.2.4 78 | version: 18.3.0 79 | '@types/uuid': 80 | specifier: ^9.0.1 81 | version: 9.0.8 82 | '@vitejs/plugin-react': 83 | specifier: ^4.0.0 84 | version: 4.3.1(vite@4.5.3) 85 | vite: 86 | specifier: ^4.3.9 87 | version: 4.5.3(@types/node@20.11.30) 88 | 89 | packages: 90 | 91 | /@ampproject/remapping@2.3.0: 92 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 93 | engines: {node: '>=6.0.0'} 94 | dependencies: 95 | '@jridgewell/gen-mapping': 0.3.5 96 | '@jridgewell/trace-mapping': 0.3.25 97 | dev: true 98 | 99 | /@ant-design/colors@7.0.2: 100 | resolution: {integrity: sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==} 101 | dependencies: 102 | '@ctrl/tinycolor': 3.6.1 103 | dev: false 104 | 105 | /@ant-design/cssinjs@1.20.0(react-dom@18.3.1)(react@18.3.1): 106 | resolution: {integrity: sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg==} 107 | peerDependencies: 108 | react: '>=16.0.0' 109 | react-dom: '>=16.0.0' 110 | dependencies: 111 | '@babel/runtime': 7.24.7 112 | '@emotion/hash': 0.8.0 113 | '@emotion/unitless': 0.7.5 114 | classnames: 2.5.1 115 | csstype: 3.1.3 116 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 117 | react: 18.3.1 118 | react-dom: 18.3.1(react@18.3.1) 119 | stylis: 4.3.2 120 | dev: false 121 | 122 | /@ant-design/icons-svg@4.4.2: 123 | resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} 124 | dev: false 125 | 126 | /@ant-design/icons@5.3.7(react-dom@18.3.1)(react@18.3.1): 127 | resolution: {integrity: sha512-bCPXTAg66f5bdccM4TT21SQBDO1Ek2gho9h3nO9DAKXJP4sq+5VBjrQMSxMVXSB3HyEz+cUbHQ5+6ogxCOpaew==} 128 | engines: {node: '>=8'} 129 | peerDependencies: 130 | react: '>=16.0.0' 131 | react-dom: '>=16.0.0' 132 | dependencies: 133 | '@ant-design/colors': 7.0.2 134 | '@ant-design/icons-svg': 4.4.2 135 | '@babel/runtime': 7.24.1 136 | classnames: 2.5.1 137 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 138 | react: 18.3.1 139 | react-dom: 18.3.1(react@18.3.1) 140 | dev: false 141 | 142 | /@ant-design/react-slick@1.1.2(react@18.3.1): 143 | resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} 144 | peerDependencies: 145 | react: '>=16.9.0' 146 | dependencies: 147 | '@babel/runtime': 7.24.7 148 | classnames: 2.5.1 149 | json2mq: 0.2.0 150 | react: 18.3.1 151 | resize-observer-polyfill: 1.5.1 152 | throttle-debounce: 5.0.0 153 | dev: false 154 | 155 | /@babel/code-frame@7.24.7: 156 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 157 | engines: {node: '>=6.9.0'} 158 | dependencies: 159 | '@babel/highlight': 7.24.7 160 | picocolors: 1.0.1 161 | 162 | /@babel/compat-data@7.24.7: 163 | resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} 164 | engines: {node: '>=6.9.0'} 165 | dev: true 166 | 167 | /@babel/core@7.24.7: 168 | resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} 169 | engines: {node: '>=6.9.0'} 170 | dependencies: 171 | '@ampproject/remapping': 2.3.0 172 | '@babel/code-frame': 7.24.7 173 | '@babel/generator': 7.24.7 174 | '@babel/helper-compilation-targets': 7.24.7 175 | '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) 176 | '@babel/helpers': 7.24.7 177 | '@babel/parser': 7.24.7 178 | '@babel/template': 7.24.7 179 | '@babel/traverse': 7.24.7 180 | '@babel/types': 7.24.7 181 | convert-source-map: 2.0.0 182 | debug: 4.3.5 183 | gensync: 1.0.0-beta.2 184 | json5: 2.2.3 185 | semver: 6.3.1 186 | transitivePeerDependencies: 187 | - supports-color 188 | dev: true 189 | 190 | /@babel/generator@7.24.7: 191 | resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} 192 | engines: {node: '>=6.9.0'} 193 | dependencies: 194 | '@babel/types': 7.24.7 195 | '@jridgewell/gen-mapping': 0.3.5 196 | '@jridgewell/trace-mapping': 0.3.25 197 | jsesc: 2.5.2 198 | 199 | /@babel/helper-compilation-targets@7.24.7: 200 | resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} 201 | engines: {node: '>=6.9.0'} 202 | dependencies: 203 | '@babel/compat-data': 7.24.7 204 | '@babel/helper-validator-option': 7.24.7 205 | browserslist: 4.23.1 206 | lru-cache: 5.1.1 207 | semver: 6.3.1 208 | dev: true 209 | 210 | /@babel/helper-environment-visitor@7.24.7: 211 | resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} 212 | engines: {node: '>=6.9.0'} 213 | dependencies: 214 | '@babel/types': 7.24.7 215 | 216 | /@babel/helper-function-name@7.24.7: 217 | resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} 218 | engines: {node: '>=6.9.0'} 219 | dependencies: 220 | '@babel/template': 7.24.7 221 | '@babel/types': 7.24.7 222 | 223 | /@babel/helper-hoist-variables@7.24.7: 224 | resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} 225 | engines: {node: '>=6.9.0'} 226 | dependencies: 227 | '@babel/types': 7.24.7 228 | 229 | /@babel/helper-module-imports@7.24.7: 230 | resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} 231 | engines: {node: '>=6.9.0'} 232 | dependencies: 233 | '@babel/traverse': 7.24.7 234 | '@babel/types': 7.24.7 235 | transitivePeerDependencies: 236 | - supports-color 237 | 238 | /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): 239 | resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} 240 | engines: {node: '>=6.9.0'} 241 | peerDependencies: 242 | '@babel/core': ^7.0.0 243 | dependencies: 244 | '@babel/core': 7.24.7 245 | '@babel/helper-environment-visitor': 7.24.7 246 | '@babel/helper-module-imports': 7.24.7 247 | '@babel/helper-simple-access': 7.24.7 248 | '@babel/helper-split-export-declaration': 7.24.7 249 | '@babel/helper-validator-identifier': 7.24.7 250 | transitivePeerDependencies: 251 | - supports-color 252 | dev: true 253 | 254 | /@babel/helper-plugin-utils@7.24.7: 255 | resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} 256 | engines: {node: '>=6.9.0'} 257 | dev: true 258 | 259 | /@babel/helper-simple-access@7.24.7: 260 | resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} 261 | engines: {node: '>=6.9.0'} 262 | dependencies: 263 | '@babel/traverse': 7.24.7 264 | '@babel/types': 7.24.7 265 | transitivePeerDependencies: 266 | - supports-color 267 | dev: true 268 | 269 | /@babel/helper-split-export-declaration@7.24.7: 270 | resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} 271 | engines: {node: '>=6.9.0'} 272 | dependencies: 273 | '@babel/types': 7.24.7 274 | 275 | /@babel/helper-string-parser@7.24.7: 276 | resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} 277 | engines: {node: '>=6.9.0'} 278 | 279 | /@babel/helper-validator-identifier@7.24.7: 280 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 281 | engines: {node: '>=6.9.0'} 282 | 283 | /@babel/helper-validator-option@7.24.7: 284 | resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} 285 | engines: {node: '>=6.9.0'} 286 | dev: true 287 | 288 | /@babel/helpers@7.24.7: 289 | resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} 290 | engines: {node: '>=6.9.0'} 291 | dependencies: 292 | '@babel/template': 7.24.7 293 | '@babel/types': 7.24.7 294 | dev: true 295 | 296 | /@babel/highlight@7.24.7: 297 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 298 | engines: {node: '>=6.9.0'} 299 | dependencies: 300 | '@babel/helper-validator-identifier': 7.24.7 301 | chalk: 2.4.2 302 | js-tokens: 4.0.0 303 | picocolors: 1.0.1 304 | 305 | /@babel/parser@7.24.7: 306 | resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} 307 | engines: {node: '>=6.0.0'} 308 | hasBin: true 309 | dependencies: 310 | '@babel/types': 7.24.7 311 | 312 | /@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7): 313 | resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} 314 | engines: {node: '>=6.9.0'} 315 | peerDependencies: 316 | '@babel/core': ^7.0.0-0 317 | dependencies: 318 | '@babel/core': 7.24.7 319 | '@babel/helper-plugin-utils': 7.24.7 320 | dev: true 321 | 322 | /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7): 323 | resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} 324 | engines: {node: '>=6.9.0'} 325 | peerDependencies: 326 | '@babel/core': ^7.0.0-0 327 | dependencies: 328 | '@babel/core': 7.24.7 329 | '@babel/helper-plugin-utils': 7.24.7 330 | dev: true 331 | 332 | /@babel/runtime@7.24.1: 333 | resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} 334 | engines: {node: '>=6.9.0'} 335 | dependencies: 336 | regenerator-runtime: 0.14.1 337 | 338 | /@babel/runtime@7.24.7: 339 | resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} 340 | engines: {node: '>=6.9.0'} 341 | dependencies: 342 | regenerator-runtime: 0.14.1 343 | dev: false 344 | 345 | /@babel/template@7.24.7: 346 | resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} 347 | engines: {node: '>=6.9.0'} 348 | dependencies: 349 | '@babel/code-frame': 7.24.7 350 | '@babel/parser': 7.24.7 351 | '@babel/types': 7.24.7 352 | 353 | /@babel/traverse@7.24.7: 354 | resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} 355 | engines: {node: '>=6.9.0'} 356 | dependencies: 357 | '@babel/code-frame': 7.24.7 358 | '@babel/generator': 7.24.7 359 | '@babel/helper-environment-visitor': 7.24.7 360 | '@babel/helper-function-name': 7.24.7 361 | '@babel/helper-hoist-variables': 7.24.7 362 | '@babel/helper-split-export-declaration': 7.24.7 363 | '@babel/parser': 7.24.7 364 | '@babel/types': 7.24.7 365 | debug: 4.3.5 366 | globals: 11.12.0 367 | transitivePeerDependencies: 368 | - supports-color 369 | 370 | /@babel/types@7.24.7: 371 | resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} 372 | engines: {node: '>=6.9.0'} 373 | dependencies: 374 | '@babel/helper-string-parser': 7.24.7 375 | '@babel/helper-validator-identifier': 7.24.7 376 | to-fast-properties: 2.0.0 377 | 378 | /@ctrl/tinycolor@3.6.1: 379 | resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} 380 | engines: {node: '>=10'} 381 | dev: false 382 | 383 | /@emotion/babel-plugin@11.11.0: 384 | resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} 385 | dependencies: 386 | '@babel/helper-module-imports': 7.24.7 387 | '@babel/runtime': 7.24.1 388 | '@emotion/hash': 0.9.1 389 | '@emotion/memoize': 0.8.1 390 | '@emotion/serialize': 1.1.4 391 | babel-plugin-macros: 3.1.0 392 | convert-source-map: 1.9.0 393 | escape-string-regexp: 4.0.0 394 | find-root: 1.1.0 395 | source-map: 0.5.7 396 | stylis: 4.2.0 397 | transitivePeerDependencies: 398 | - supports-color 399 | 400 | /@emotion/cache@11.11.0: 401 | resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} 402 | dependencies: 403 | '@emotion/memoize': 0.8.1 404 | '@emotion/sheet': 1.2.2 405 | '@emotion/utils': 1.2.1 406 | '@emotion/weak-memoize': 0.3.1 407 | stylis: 4.2.0 408 | dev: false 409 | 410 | /@emotion/hash@0.8.0: 411 | resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} 412 | dev: false 413 | 414 | /@emotion/hash@0.9.1: 415 | resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} 416 | 417 | /@emotion/is-prop-valid@1.2.2: 418 | resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} 419 | dependencies: 420 | '@emotion/memoize': 0.8.1 421 | dev: false 422 | 423 | /@emotion/memoize@0.8.1: 424 | resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} 425 | 426 | /@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1): 427 | resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==} 428 | peerDependencies: 429 | '@types/react': '*' 430 | react: '>=16.8.0' 431 | peerDependenciesMeta: 432 | '@types/react': 433 | optional: true 434 | dependencies: 435 | '@babel/runtime': 7.24.1 436 | '@emotion/babel-plugin': 11.11.0 437 | '@emotion/cache': 11.11.0 438 | '@emotion/serialize': 1.1.4 439 | '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) 440 | '@emotion/utils': 1.2.1 441 | '@emotion/weak-memoize': 0.3.1 442 | '@types/react': 18.3.3 443 | hoist-non-react-statics: 3.3.2 444 | react: 18.3.1 445 | transitivePeerDependencies: 446 | - supports-color 447 | dev: false 448 | 449 | /@emotion/serialize@1.1.4: 450 | resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} 451 | dependencies: 452 | '@emotion/hash': 0.9.1 453 | '@emotion/memoize': 0.8.1 454 | '@emotion/unitless': 0.8.1 455 | '@emotion/utils': 1.2.1 456 | csstype: 3.1.3 457 | 458 | /@emotion/sheet@1.2.2: 459 | resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} 460 | dev: false 461 | 462 | /@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.3.3)(react@18.3.1): 463 | resolution: {integrity: sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==} 464 | peerDependencies: 465 | '@emotion/react': ^11.0.0-rc.0 466 | '@types/react': '*' 467 | react: '>=16.8.0' 468 | peerDependenciesMeta: 469 | '@types/react': 470 | optional: true 471 | dependencies: 472 | '@babel/runtime': 7.24.1 473 | '@emotion/babel-plugin': 11.11.0 474 | '@emotion/is-prop-valid': 1.2.2 475 | '@emotion/react': 11.11.4(@types/react@18.3.3)(react@18.3.1) 476 | '@emotion/serialize': 1.1.4 477 | '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) 478 | '@emotion/utils': 1.2.1 479 | '@types/react': 18.3.3 480 | react: 18.3.1 481 | transitivePeerDependencies: 482 | - supports-color 483 | dev: false 484 | 485 | /@emotion/unitless@0.7.5: 486 | resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} 487 | dev: false 488 | 489 | /@emotion/unitless@0.8.1: 490 | resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} 491 | 492 | /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1): 493 | resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} 494 | peerDependencies: 495 | react: '>=16.8.0' 496 | dependencies: 497 | react: 18.3.1 498 | dev: false 499 | 500 | /@emotion/utils@1.2.1: 501 | resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} 502 | 503 | /@emotion/weak-memoize@0.3.1: 504 | resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} 505 | dev: false 506 | 507 | /@esbuild/android-arm64@0.18.20: 508 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 509 | engines: {node: '>=12'} 510 | cpu: [arm64] 511 | os: [android] 512 | requiresBuild: true 513 | dev: true 514 | optional: true 515 | 516 | /@esbuild/android-arm@0.18.20: 517 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 518 | engines: {node: '>=12'} 519 | cpu: [arm] 520 | os: [android] 521 | requiresBuild: true 522 | dev: true 523 | optional: true 524 | 525 | /@esbuild/android-x64@0.18.20: 526 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 527 | engines: {node: '>=12'} 528 | cpu: [x64] 529 | os: [android] 530 | requiresBuild: true 531 | dev: true 532 | optional: true 533 | 534 | /@esbuild/darwin-arm64@0.18.20: 535 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 536 | engines: {node: '>=12'} 537 | cpu: [arm64] 538 | os: [darwin] 539 | requiresBuild: true 540 | dev: true 541 | optional: true 542 | 543 | /@esbuild/darwin-x64@0.18.20: 544 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 545 | engines: {node: '>=12'} 546 | cpu: [x64] 547 | os: [darwin] 548 | requiresBuild: true 549 | dev: true 550 | optional: true 551 | 552 | /@esbuild/freebsd-arm64@0.18.20: 553 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 554 | engines: {node: '>=12'} 555 | cpu: [arm64] 556 | os: [freebsd] 557 | requiresBuild: true 558 | dev: true 559 | optional: true 560 | 561 | /@esbuild/freebsd-x64@0.18.20: 562 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 563 | engines: {node: '>=12'} 564 | cpu: [x64] 565 | os: [freebsd] 566 | requiresBuild: true 567 | dev: true 568 | optional: true 569 | 570 | /@esbuild/linux-arm64@0.18.20: 571 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 572 | engines: {node: '>=12'} 573 | cpu: [arm64] 574 | os: [linux] 575 | requiresBuild: true 576 | dev: true 577 | optional: true 578 | 579 | /@esbuild/linux-arm@0.18.20: 580 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 581 | engines: {node: '>=12'} 582 | cpu: [arm] 583 | os: [linux] 584 | requiresBuild: true 585 | dev: true 586 | optional: true 587 | 588 | /@esbuild/linux-ia32@0.18.20: 589 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 590 | engines: {node: '>=12'} 591 | cpu: [ia32] 592 | os: [linux] 593 | requiresBuild: true 594 | dev: true 595 | optional: true 596 | 597 | /@esbuild/linux-loong64@0.18.20: 598 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 599 | engines: {node: '>=12'} 600 | cpu: [loong64] 601 | os: [linux] 602 | requiresBuild: true 603 | dev: true 604 | optional: true 605 | 606 | /@esbuild/linux-mips64el@0.18.20: 607 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 608 | engines: {node: '>=12'} 609 | cpu: [mips64el] 610 | os: [linux] 611 | requiresBuild: true 612 | dev: true 613 | optional: true 614 | 615 | /@esbuild/linux-ppc64@0.18.20: 616 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 617 | engines: {node: '>=12'} 618 | cpu: [ppc64] 619 | os: [linux] 620 | requiresBuild: true 621 | dev: true 622 | optional: true 623 | 624 | /@esbuild/linux-riscv64@0.18.20: 625 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 626 | engines: {node: '>=12'} 627 | cpu: [riscv64] 628 | os: [linux] 629 | requiresBuild: true 630 | dev: true 631 | optional: true 632 | 633 | /@esbuild/linux-s390x@0.18.20: 634 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 635 | engines: {node: '>=12'} 636 | cpu: [s390x] 637 | os: [linux] 638 | requiresBuild: true 639 | dev: true 640 | optional: true 641 | 642 | /@esbuild/linux-x64@0.18.20: 643 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 644 | engines: {node: '>=12'} 645 | cpu: [x64] 646 | os: [linux] 647 | requiresBuild: true 648 | dev: true 649 | optional: true 650 | 651 | /@esbuild/netbsd-x64@0.18.20: 652 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 653 | engines: {node: '>=12'} 654 | cpu: [x64] 655 | os: [netbsd] 656 | requiresBuild: true 657 | dev: true 658 | optional: true 659 | 660 | /@esbuild/openbsd-x64@0.18.20: 661 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 662 | engines: {node: '>=12'} 663 | cpu: [x64] 664 | os: [openbsd] 665 | requiresBuild: true 666 | dev: true 667 | optional: true 668 | 669 | /@esbuild/sunos-x64@0.18.20: 670 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 671 | engines: {node: '>=12'} 672 | cpu: [x64] 673 | os: [sunos] 674 | requiresBuild: true 675 | dev: true 676 | optional: true 677 | 678 | /@esbuild/win32-arm64@0.18.20: 679 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 680 | engines: {node: '>=12'} 681 | cpu: [arm64] 682 | os: [win32] 683 | requiresBuild: true 684 | dev: true 685 | optional: true 686 | 687 | /@esbuild/win32-ia32@0.18.20: 688 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 689 | engines: {node: '>=12'} 690 | cpu: [ia32] 691 | os: [win32] 692 | requiresBuild: true 693 | dev: true 694 | optional: true 695 | 696 | /@esbuild/win32-x64@0.18.20: 697 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 698 | engines: {node: '>=12'} 699 | cpu: [x64] 700 | os: [win32] 701 | requiresBuild: true 702 | dev: true 703 | optional: true 704 | 705 | /@jridgewell/gen-mapping@0.3.5: 706 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 707 | engines: {node: '>=6.0.0'} 708 | dependencies: 709 | '@jridgewell/set-array': 1.2.1 710 | '@jridgewell/sourcemap-codec': 1.4.15 711 | '@jridgewell/trace-mapping': 0.3.25 712 | 713 | /@jridgewell/resolve-uri@3.1.2: 714 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 715 | engines: {node: '>=6.0.0'} 716 | 717 | /@jridgewell/set-array@1.2.1: 718 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 719 | engines: {node: '>=6.0.0'} 720 | 721 | /@jridgewell/source-map@0.3.6: 722 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 723 | dependencies: 724 | '@jridgewell/gen-mapping': 0.3.5 725 | '@jridgewell/trace-mapping': 0.3.25 726 | dev: true 727 | 728 | /@jridgewell/sourcemap-codec@1.4.15: 729 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 730 | 731 | /@jridgewell/trace-mapping@0.3.25: 732 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 733 | dependencies: 734 | '@jridgewell/resolve-uri': 3.1.2 735 | '@jridgewell/sourcemap-codec': 1.4.15 736 | 737 | /@nodelib/fs.scandir@2.1.5: 738 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 739 | engines: {node: '>= 8'} 740 | dependencies: 741 | '@nodelib/fs.stat': 2.0.5 742 | run-parallel: 1.2.0 743 | dev: true 744 | 745 | /@nodelib/fs.stat@2.0.5: 746 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 747 | engines: {node: '>= 8'} 748 | dev: true 749 | 750 | /@nodelib/fs.walk@1.2.8: 751 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 752 | engines: {node: '>= 8'} 753 | dependencies: 754 | '@nodelib/fs.scandir': 2.1.5 755 | fastq: 1.17.1 756 | dev: true 757 | 758 | /@rc-component/async-validator@5.0.4: 759 | resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==} 760 | engines: {node: '>=14.x'} 761 | dependencies: 762 | '@babel/runtime': 7.24.7 763 | dev: false 764 | 765 | /@rc-component/color-picker@1.5.3(react-dom@18.3.1)(react@18.3.1): 766 | resolution: {integrity: sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==} 767 | peerDependencies: 768 | react: '>=16.9.0' 769 | react-dom: '>=16.9.0' 770 | dependencies: 771 | '@babel/runtime': 7.24.7 772 | '@ctrl/tinycolor': 3.6.1 773 | classnames: 2.5.1 774 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 775 | react: 18.3.1 776 | react-dom: 18.3.1(react@18.3.1) 777 | dev: false 778 | 779 | /@rc-component/context@1.4.0(react-dom@18.3.1)(react@18.3.1): 780 | resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} 781 | peerDependencies: 782 | react: '>=16.9.0' 783 | react-dom: '>=16.9.0' 784 | dependencies: 785 | '@babel/runtime': 7.24.7 786 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 787 | react: 18.3.1 788 | react-dom: 18.3.1(react@18.3.1) 789 | dev: false 790 | 791 | /@rc-component/mini-decimal@1.1.0: 792 | resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} 793 | engines: {node: '>=8.x'} 794 | dependencies: 795 | '@babel/runtime': 7.24.7 796 | dev: false 797 | 798 | /@rc-component/mutate-observer@1.1.0(react-dom@18.3.1)(react@18.3.1): 799 | resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} 800 | engines: {node: '>=8.x'} 801 | peerDependencies: 802 | react: '>=16.9.0' 803 | react-dom: '>=16.9.0' 804 | dependencies: 805 | '@babel/runtime': 7.24.7 806 | classnames: 2.5.1 807 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 808 | react: 18.3.1 809 | react-dom: 18.3.1(react@18.3.1) 810 | dev: false 811 | 812 | /@rc-component/portal@1.1.2(react-dom@18.3.1)(react@18.3.1): 813 | resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} 814 | engines: {node: '>=8.x'} 815 | peerDependencies: 816 | react: '>=16.9.0' 817 | react-dom: '>=16.9.0' 818 | dependencies: 819 | '@babel/runtime': 7.24.7 820 | classnames: 2.5.1 821 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 822 | react: 18.3.1 823 | react-dom: 18.3.1(react@18.3.1) 824 | dev: false 825 | 826 | /@rc-component/tour@1.15.0(react-dom@18.3.1)(react@18.3.1): 827 | resolution: {integrity: sha512-h6hyILDwL+In9GAgRobwRWihLqqsD7Uft3fZGrJ7L4EiyCoxbnNYwzPXDfz7vNDhWeVyvAWQJj9fJCzpI4+b4g==} 828 | engines: {node: '>=8.x'} 829 | peerDependencies: 830 | react: '>=16.9.0' 831 | react-dom: '>=16.9.0' 832 | dependencies: 833 | '@babel/runtime': 7.24.7 834 | '@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1) 835 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 836 | classnames: 2.5.1 837 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 838 | react: 18.3.1 839 | react-dom: 18.3.1(react@18.3.1) 840 | dev: false 841 | 842 | /@rc-component/trigger@2.2.0(react-dom@18.3.1)(react@18.3.1): 843 | resolution: {integrity: sha512-QarBCji02YE9aRFhZgRZmOpXBj0IZutRippsVBv85sxvG4FGk/vRxwAlkn3MS9zK5mwbETd86mAVg2tKqTkdJA==} 844 | engines: {node: '>=8.x'} 845 | peerDependencies: 846 | react: '>=16.9.0' 847 | react-dom: '>=16.9.0' 848 | dependencies: 849 | '@babel/runtime': 7.24.7 850 | '@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1) 851 | classnames: 2.5.1 852 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 853 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 854 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 855 | react: 18.3.1 856 | react-dom: 18.3.1(react@18.3.1) 857 | dev: false 858 | 859 | /@rollup/plugin-terser@0.4.4(rollup@3.29.4): 860 | resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} 861 | engines: {node: '>=14.0.0'} 862 | peerDependencies: 863 | rollup: ^2.0.0||^3.0.0||^4.0.0 864 | peerDependenciesMeta: 865 | rollup: 866 | optional: true 867 | dependencies: 868 | rollup: 3.29.4 869 | serialize-javascript: 6.0.2 870 | smob: 1.4.1 871 | terser: 5.29.2 872 | dev: true 873 | 874 | /@rollup/plugin-typescript@11.1.6(rollup@3.29.4)(typescript@5.4.3): 875 | resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} 876 | engines: {node: '>=14.0.0'} 877 | peerDependencies: 878 | rollup: ^2.14.0||^3.0.0||^4.0.0 879 | tslib: '*' 880 | typescript: '>=3.7.0' 881 | peerDependenciesMeta: 882 | rollup: 883 | optional: true 884 | tslib: 885 | optional: true 886 | dependencies: 887 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 888 | resolve: 1.22.8 889 | rollup: 3.29.4 890 | typescript: 5.4.3 891 | dev: true 892 | 893 | /@rollup/pluginutils@5.1.0(rollup@3.29.4): 894 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 895 | engines: {node: '>=14.0.0'} 896 | peerDependencies: 897 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 898 | peerDependenciesMeta: 899 | rollup: 900 | optional: true 901 | dependencies: 902 | '@types/estree': 1.0.5 903 | estree-walker: 2.0.2 904 | picomatch: 2.3.1 905 | rollup: 3.29.4 906 | dev: true 907 | 908 | /@sphinxxxx/color-conversion@2.2.2: 909 | resolution: {integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==} 910 | dev: false 911 | 912 | /@types/babel__core@7.20.5: 913 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 914 | dependencies: 915 | '@babel/parser': 7.24.7 916 | '@babel/types': 7.24.7 917 | '@types/babel__generator': 7.6.8 918 | '@types/babel__template': 7.4.4 919 | '@types/babel__traverse': 7.20.6 920 | dev: true 921 | 922 | /@types/babel__generator@7.6.8: 923 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 924 | dependencies: 925 | '@babel/types': 7.24.7 926 | dev: true 927 | 928 | /@types/babel__template@7.4.4: 929 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 930 | dependencies: 931 | '@babel/parser': 7.24.7 932 | '@babel/types': 7.24.7 933 | dev: true 934 | 935 | /@types/babel__traverse@7.20.6: 936 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 937 | dependencies: 938 | '@babel/types': 7.24.7 939 | dev: true 940 | 941 | /@types/chrome@0.0.237: 942 | resolution: {integrity: sha512-krsRmyfMlck5r+H1EapsrrucDRq6iRm0NAi5fapr93CgnpVMDdK+h2+z4x79GegdW7BNH9Vb//gkptORwwwVIQ==} 943 | dependencies: 944 | '@types/filesystem': 0.0.36 945 | '@types/har-format': 1.2.15 946 | dev: true 947 | 948 | /@types/estree@1.0.5: 949 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 950 | dev: true 951 | 952 | /@types/filesystem@0.0.36: 953 | resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==} 954 | dependencies: 955 | '@types/filewriter': 0.0.33 956 | dev: true 957 | 958 | /@types/filewriter@0.0.33: 959 | resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==} 960 | dev: true 961 | 962 | /@types/fs-extra@8.1.5: 963 | resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} 964 | dependencies: 965 | '@types/node': 20.11.30 966 | dev: true 967 | 968 | /@types/glob@7.2.0: 969 | resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} 970 | dependencies: 971 | '@types/minimatch': 5.1.2 972 | '@types/node': 20.11.30 973 | dev: true 974 | 975 | /@types/har-format@1.2.15: 976 | resolution: {integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==} 977 | dev: true 978 | 979 | /@types/js-cookie@2.2.7: 980 | resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} 981 | dev: false 982 | 983 | /@types/minimatch@5.1.2: 984 | resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} 985 | dev: true 986 | 987 | /@types/node@20.11.30: 988 | resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} 989 | dependencies: 990 | undici-types: 5.26.5 991 | dev: true 992 | 993 | /@types/parse-json@4.0.2: 994 | resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 995 | 996 | /@types/prop-types@15.7.12: 997 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 998 | 999 | /@types/react-dom@18.3.0: 1000 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 1001 | dependencies: 1002 | '@types/react': 18.3.3 1003 | dev: true 1004 | 1005 | /@types/react@18.3.3: 1006 | resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} 1007 | dependencies: 1008 | '@types/prop-types': 15.7.12 1009 | csstype: 3.1.3 1010 | 1011 | /@types/uuid@9.0.8: 1012 | resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} 1013 | dev: true 1014 | 1015 | /@vitejs/plugin-react@4.3.1(vite@4.5.3): 1016 | resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} 1017 | engines: {node: ^14.18.0 || >=16.0.0} 1018 | peerDependencies: 1019 | vite: ^4.2.0 || ^5.0.0 1020 | dependencies: 1021 | '@babel/core': 7.24.7 1022 | '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) 1023 | '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) 1024 | '@types/babel__core': 7.20.5 1025 | react-refresh: 0.14.2 1026 | vite: 4.5.3(@types/node@20.11.30) 1027 | transitivePeerDependencies: 1028 | - supports-color 1029 | dev: true 1030 | 1031 | /@xobotyi/scrollbar-width@1.9.5: 1032 | resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} 1033 | dev: false 1034 | 1035 | /ace-builds@1.34.2: 1036 | resolution: {integrity: sha512-wiOZYuxyOSYfZzDasQTe+ZWmRlYxXSJM/kMKZ/bSqO1VgrBl+PaaTz/Sc+y7hXCKAUj3syUdpwxQyvwv9vQe6w==} 1037 | dev: false 1038 | 1039 | /acorn@8.11.3: 1040 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 1041 | engines: {node: '>=0.4.0'} 1042 | hasBin: true 1043 | dev: true 1044 | 1045 | /ajv@6.12.6: 1046 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 1047 | dependencies: 1048 | fast-deep-equal: 3.1.3 1049 | fast-json-stable-stringify: 2.1.0 1050 | json-schema-traverse: 0.4.1 1051 | uri-js: 4.4.1 1052 | dev: false 1053 | 1054 | /ansi-regex@5.0.1: 1055 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1056 | engines: {node: '>=8'} 1057 | dev: true 1058 | 1059 | /ansi-styles@3.2.1: 1060 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1061 | engines: {node: '>=4'} 1062 | dependencies: 1063 | color-convert: 1.9.3 1064 | 1065 | /ansi-styles@4.3.0: 1066 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1067 | engines: {node: '>=8'} 1068 | dependencies: 1069 | color-convert: 2.0.1 1070 | dev: true 1071 | 1072 | /antd@5.18.0(react-dom@18.3.1)(react@18.3.1): 1073 | resolution: {integrity: sha512-xAvqvioW34npeZb8/JLZmCh5mcHU5MLiA0IYWAlpLAVmSgjs3p0tNzbU6a7Yx+y7o7E8PHtlchWfO3yBLQ15FQ==} 1074 | peerDependencies: 1075 | react: '>=16.9.0' 1076 | react-dom: '>=16.9.0' 1077 | dependencies: 1078 | '@ant-design/colors': 7.0.2 1079 | '@ant-design/cssinjs': 1.20.0(react-dom@18.3.1)(react@18.3.1) 1080 | '@ant-design/icons': 5.3.7(react-dom@18.3.1)(react@18.3.1) 1081 | '@ant-design/react-slick': 1.1.2(react@18.3.1) 1082 | '@babel/runtime': 7.24.7 1083 | '@ctrl/tinycolor': 3.6.1 1084 | '@rc-component/color-picker': 1.5.3(react-dom@18.3.1)(react@18.3.1) 1085 | '@rc-component/mutate-observer': 1.1.0(react-dom@18.3.1)(react@18.3.1) 1086 | '@rc-component/tour': 1.15.0(react-dom@18.3.1)(react@18.3.1) 1087 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 1088 | classnames: 2.5.1 1089 | copy-to-clipboard: 3.3.3 1090 | dayjs: 1.11.11 1091 | qrcode.react: 3.1.0(react@18.3.1) 1092 | rc-cascader: 3.26.0(react-dom@18.3.1)(react@18.3.1) 1093 | rc-checkbox: 3.3.0(react-dom@18.3.1)(react@18.3.1) 1094 | rc-collapse: 3.7.3(react-dom@18.3.1)(react@18.3.1) 1095 | rc-dialog: 9.4.0(react-dom@18.3.1)(react@18.3.1) 1096 | rc-drawer: 7.2.0(react-dom@18.3.1)(react@18.3.1) 1097 | rc-dropdown: 4.2.0(react-dom@18.3.1)(react@18.3.1) 1098 | rc-field-form: 2.2.1(react-dom@18.3.1)(react@18.3.1) 1099 | rc-image: 7.8.1(react-dom@18.3.1)(react@18.3.1) 1100 | rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1) 1101 | rc-input-number: 9.1.0(react-dom@18.3.1)(react@18.3.1) 1102 | rc-mentions: 2.13.2(react-dom@18.3.1)(react@18.3.1) 1103 | rc-menu: 9.14.0(react-dom@18.3.1)(react@18.3.1) 1104 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 1105 | rc-notification: 5.6.0(react-dom@18.3.1)(react@18.3.1) 1106 | rc-pagination: 4.0.4(react-dom@18.3.1)(react@18.3.1) 1107 | rc-picker: 4.5.0(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1) 1108 | rc-progress: 4.0.0(react-dom@18.3.1)(react@18.3.1) 1109 | rc-rate: 2.13.0(react-dom@18.3.1)(react@18.3.1) 1110 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 1111 | rc-segmented: 2.3.0(react-dom@18.3.1)(react@18.3.1) 1112 | rc-select: 14.14.0(react-dom@18.3.1)(react@18.3.1) 1113 | rc-slider: 10.6.2(react-dom@18.3.1)(react@18.3.1) 1114 | rc-steps: 6.0.1(react-dom@18.3.1)(react@18.3.1) 1115 | rc-switch: 4.1.0(react-dom@18.3.1)(react@18.3.1) 1116 | rc-table: 7.45.7(react-dom@18.3.1)(react@18.3.1) 1117 | rc-tabs: 15.1.0(react-dom@18.3.1)(react@18.3.1) 1118 | rc-textarea: 1.7.0(react-dom@18.3.1)(react@18.3.1) 1119 | rc-tooltip: 6.2.0(react-dom@18.3.1)(react@18.3.1) 1120 | rc-tree: 5.8.7(react-dom@18.3.1)(react@18.3.1) 1121 | rc-tree-select: 5.21.0(react-dom@18.3.1)(react@18.3.1) 1122 | rc-upload: 4.5.2(react-dom@18.3.1)(react@18.3.1) 1123 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1124 | react: 18.3.1 1125 | react-dom: 18.3.1(react@18.3.1) 1126 | scroll-into-view-if-needed: 3.1.0 1127 | throttle-debounce: 5.0.0 1128 | transitivePeerDependencies: 1129 | - date-fns 1130 | - luxon 1131 | - moment 1132 | dev: false 1133 | 1134 | /array-tree-filter@2.1.0: 1135 | resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} 1136 | dev: false 1137 | 1138 | /array-union@2.1.0: 1139 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1140 | engines: {node: '>=8'} 1141 | dev: true 1142 | 1143 | /babel-plugin-macros@3.1.0: 1144 | resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} 1145 | engines: {node: '>=10', npm: '>=6'} 1146 | dependencies: 1147 | '@babel/runtime': 7.24.1 1148 | cosmiconfig: 7.1.0 1149 | resolve: 1.22.8 1150 | 1151 | /balanced-match@1.0.2: 1152 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1153 | dev: true 1154 | 1155 | /brace-expansion@1.1.11: 1156 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1157 | dependencies: 1158 | balanced-match: 1.0.2 1159 | concat-map: 0.0.1 1160 | dev: true 1161 | 1162 | /braces@3.0.3: 1163 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1164 | engines: {node: '>=8'} 1165 | dependencies: 1166 | fill-range: 7.1.1 1167 | dev: true 1168 | 1169 | /browserslist@4.23.1: 1170 | resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} 1171 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1172 | hasBin: true 1173 | dependencies: 1174 | caniuse-lite: 1.0.30001632 1175 | electron-to-chromium: 1.4.796 1176 | node-releases: 2.0.14 1177 | update-browserslist-db: 1.0.16(browserslist@4.23.1) 1178 | dev: true 1179 | 1180 | /buffer-from@1.1.2: 1181 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1182 | dev: true 1183 | 1184 | /callsites@3.1.0: 1185 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1186 | engines: {node: '>=6'} 1187 | 1188 | /caniuse-lite@1.0.30001632: 1189 | resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} 1190 | dev: true 1191 | 1192 | /chalk@2.4.2: 1193 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1194 | engines: {node: '>=4'} 1195 | dependencies: 1196 | ansi-styles: 3.2.1 1197 | escape-string-regexp: 1.0.5 1198 | supports-color: 5.5.0 1199 | 1200 | /chalk@4.1.2: 1201 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1202 | engines: {node: '>=10'} 1203 | dependencies: 1204 | ansi-styles: 4.3.0 1205 | supports-color: 7.2.0 1206 | dev: true 1207 | 1208 | /classnames@2.5.1: 1209 | resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} 1210 | dev: false 1211 | 1212 | /cliui@8.0.1: 1213 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1214 | engines: {node: '>=12'} 1215 | dependencies: 1216 | string-width: 4.2.3 1217 | strip-ansi: 6.0.1 1218 | wrap-ansi: 7.0.0 1219 | dev: true 1220 | 1221 | /color-convert@1.9.3: 1222 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1223 | dependencies: 1224 | color-name: 1.1.3 1225 | 1226 | /color-convert@2.0.1: 1227 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1228 | engines: {node: '>=7.0.0'} 1229 | dependencies: 1230 | color-name: 1.1.4 1231 | dev: true 1232 | 1233 | /color-name@1.1.3: 1234 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1235 | 1236 | /color-name@1.1.4: 1237 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1238 | dev: true 1239 | 1240 | /colorette@1.4.0: 1241 | resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} 1242 | dev: true 1243 | 1244 | /commander@2.20.3: 1245 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 1246 | dev: true 1247 | 1248 | /compute-scroll-into-view@3.1.0: 1249 | resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} 1250 | dev: false 1251 | 1252 | /concat-map@0.0.1: 1253 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1254 | dev: true 1255 | 1256 | /concurrently@8.2.2: 1257 | resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} 1258 | engines: {node: ^14.13.0 || >=16.0.0} 1259 | hasBin: true 1260 | dependencies: 1261 | chalk: 4.1.2 1262 | date-fns: 2.30.0 1263 | lodash: 4.17.21 1264 | rxjs: 7.8.1 1265 | shell-quote: 1.8.1 1266 | spawn-command: 0.0.2 1267 | supports-color: 8.1.1 1268 | tree-kill: 1.2.2 1269 | yargs: 17.7.2 1270 | dev: true 1271 | 1272 | /convert-source-map@1.9.0: 1273 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 1274 | 1275 | /convert-source-map@2.0.0: 1276 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1277 | dev: true 1278 | 1279 | /copy-to-clipboard@3.3.3: 1280 | resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} 1281 | dependencies: 1282 | toggle-selection: 1.0.6 1283 | dev: false 1284 | 1285 | /cosmiconfig@7.1.0: 1286 | resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} 1287 | engines: {node: '>=10'} 1288 | dependencies: 1289 | '@types/parse-json': 4.0.2 1290 | import-fresh: 3.3.0 1291 | parse-json: 5.2.0 1292 | path-type: 4.0.0 1293 | yaml: 1.10.2 1294 | 1295 | /css-in-js-utils@3.1.0: 1296 | resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} 1297 | dependencies: 1298 | hyphenate-style-name: 1.0.5 1299 | dev: false 1300 | 1301 | /css-tree@1.1.3: 1302 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 1303 | engines: {node: '>=8.0.0'} 1304 | dependencies: 1305 | mdn-data: 2.0.14 1306 | source-map: 0.6.1 1307 | dev: false 1308 | 1309 | /csstype@3.1.3: 1310 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 1311 | 1312 | /date-fns@2.30.0: 1313 | resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} 1314 | engines: {node: '>=0.11'} 1315 | dependencies: 1316 | '@babel/runtime': 7.24.1 1317 | dev: true 1318 | 1319 | /dayjs@1.11.11: 1320 | resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} 1321 | dev: false 1322 | 1323 | /debug@4.3.5: 1324 | resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} 1325 | engines: {node: '>=6.0'} 1326 | peerDependencies: 1327 | supports-color: '*' 1328 | peerDependenciesMeta: 1329 | supports-color: 1330 | optional: true 1331 | dependencies: 1332 | ms: 2.1.2 1333 | 1334 | /dir-glob@3.0.1: 1335 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1336 | engines: {node: '>=8'} 1337 | dependencies: 1338 | path-type: 4.0.0 1339 | dev: true 1340 | 1341 | /electron-to-chromium@1.4.796: 1342 | resolution: {integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==} 1343 | dev: true 1344 | 1345 | /emoji-regex@8.0.0: 1346 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1347 | dev: true 1348 | 1349 | /error-ex@1.3.2: 1350 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1351 | dependencies: 1352 | is-arrayish: 0.2.1 1353 | 1354 | /error-stack-parser@2.1.4: 1355 | resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} 1356 | dependencies: 1357 | stackframe: 1.3.4 1358 | dev: false 1359 | 1360 | /esbuild@0.18.20: 1361 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 1362 | engines: {node: '>=12'} 1363 | hasBin: true 1364 | requiresBuild: true 1365 | optionalDependencies: 1366 | '@esbuild/android-arm': 0.18.20 1367 | '@esbuild/android-arm64': 0.18.20 1368 | '@esbuild/android-x64': 0.18.20 1369 | '@esbuild/darwin-arm64': 0.18.20 1370 | '@esbuild/darwin-x64': 0.18.20 1371 | '@esbuild/freebsd-arm64': 0.18.20 1372 | '@esbuild/freebsd-x64': 0.18.20 1373 | '@esbuild/linux-arm': 0.18.20 1374 | '@esbuild/linux-arm64': 0.18.20 1375 | '@esbuild/linux-ia32': 0.18.20 1376 | '@esbuild/linux-loong64': 0.18.20 1377 | '@esbuild/linux-mips64el': 0.18.20 1378 | '@esbuild/linux-ppc64': 0.18.20 1379 | '@esbuild/linux-riscv64': 0.18.20 1380 | '@esbuild/linux-s390x': 0.18.20 1381 | '@esbuild/linux-x64': 0.18.20 1382 | '@esbuild/netbsd-x64': 0.18.20 1383 | '@esbuild/openbsd-x64': 0.18.20 1384 | '@esbuild/sunos-x64': 0.18.20 1385 | '@esbuild/win32-arm64': 0.18.20 1386 | '@esbuild/win32-ia32': 0.18.20 1387 | '@esbuild/win32-x64': 0.18.20 1388 | dev: true 1389 | 1390 | /escalade@3.1.2: 1391 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 1392 | engines: {node: '>=6'} 1393 | dev: true 1394 | 1395 | /escape-string-regexp@1.0.5: 1396 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1397 | engines: {node: '>=0.8.0'} 1398 | 1399 | /escape-string-regexp@4.0.0: 1400 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1401 | engines: {node: '>=10'} 1402 | 1403 | /estree-walker@2.0.2: 1404 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1405 | dev: true 1406 | 1407 | /fast-deep-equal@3.1.3: 1408 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1409 | dev: false 1410 | 1411 | /fast-glob@3.3.2: 1412 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1413 | engines: {node: '>=8.6.0'} 1414 | dependencies: 1415 | '@nodelib/fs.stat': 2.0.5 1416 | '@nodelib/fs.walk': 1.2.8 1417 | glob-parent: 5.1.2 1418 | merge2: 1.4.1 1419 | micromatch: 4.0.7 1420 | dev: true 1421 | 1422 | /fast-json-stable-stringify@2.1.0: 1423 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1424 | dev: false 1425 | 1426 | /fast-loops@1.1.3: 1427 | resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} 1428 | dev: false 1429 | 1430 | /fast-shallow-equal@1.0.0: 1431 | resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} 1432 | dev: false 1433 | 1434 | /fastest-stable-stringify@2.0.2: 1435 | resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} 1436 | dev: false 1437 | 1438 | /fastq@1.17.1: 1439 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1440 | dependencies: 1441 | reusify: 1.0.4 1442 | dev: true 1443 | 1444 | /fill-range@7.1.1: 1445 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1446 | engines: {node: '>=8'} 1447 | dependencies: 1448 | to-regex-range: 5.0.1 1449 | dev: true 1450 | 1451 | /find-root@1.1.0: 1452 | resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} 1453 | 1454 | /fs-extra@8.1.0: 1455 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 1456 | engines: {node: '>=6 <7 || >=8'} 1457 | dependencies: 1458 | graceful-fs: 4.2.11 1459 | jsonfile: 4.0.0 1460 | universalify: 0.1.2 1461 | dev: true 1462 | 1463 | /fs.realpath@1.0.0: 1464 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1465 | dev: true 1466 | 1467 | /fsevents@2.3.3: 1468 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1469 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1470 | os: [darwin] 1471 | requiresBuild: true 1472 | dev: true 1473 | optional: true 1474 | 1475 | /function-bind@1.1.2: 1476 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1477 | 1478 | /gensync@1.0.0-beta.2: 1479 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1480 | engines: {node: '>=6.9.0'} 1481 | dev: true 1482 | 1483 | /get-caller-file@2.0.5: 1484 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1485 | engines: {node: 6.* || 8.* || >= 10.*} 1486 | dev: true 1487 | 1488 | /glob-parent@5.1.2: 1489 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1490 | engines: {node: '>= 6'} 1491 | dependencies: 1492 | is-glob: 4.0.3 1493 | dev: true 1494 | 1495 | /glob@7.2.3: 1496 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1497 | deprecated: Glob versions prior to v9 are no longer supported 1498 | dependencies: 1499 | fs.realpath: 1.0.0 1500 | inflight: 1.0.6 1501 | inherits: 2.0.4 1502 | minimatch: 3.1.2 1503 | once: 1.4.0 1504 | path-is-absolute: 1.0.1 1505 | dev: true 1506 | 1507 | /globals@11.12.0: 1508 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1509 | engines: {node: '>=4'} 1510 | 1511 | /globby@10.0.1: 1512 | resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==} 1513 | engines: {node: '>=8'} 1514 | dependencies: 1515 | '@types/glob': 7.2.0 1516 | array-union: 2.1.0 1517 | dir-glob: 3.0.1 1518 | fast-glob: 3.3.2 1519 | glob: 7.2.3 1520 | ignore: 5.3.1 1521 | merge2: 1.4.1 1522 | slash: 3.0.0 1523 | dev: true 1524 | 1525 | /graceful-fs@4.2.11: 1526 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1527 | dev: true 1528 | 1529 | /has-flag@3.0.0: 1530 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1531 | engines: {node: '>=4'} 1532 | 1533 | /has-flag@4.0.0: 1534 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1535 | engines: {node: '>=8'} 1536 | dev: true 1537 | 1538 | /hasown@2.0.2: 1539 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1540 | engines: {node: '>= 0.4'} 1541 | dependencies: 1542 | function-bind: 1.1.2 1543 | 1544 | /hoist-non-react-statics@3.3.2: 1545 | resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} 1546 | dependencies: 1547 | react-is: 16.13.1 1548 | dev: false 1549 | 1550 | /hyphenate-style-name@1.0.5: 1551 | resolution: {integrity: sha512-fedL7PRwmeVkgyhu9hLeTBaI6wcGk7JGJswdaRsa5aUbkXI1kr1xZwTPBtaYPpwf56878iDek6VbVnuWMebJmw==} 1552 | dev: false 1553 | 1554 | /ignore@5.3.1: 1555 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1556 | engines: {node: '>= 4'} 1557 | dev: true 1558 | 1559 | /import-fresh@3.3.0: 1560 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1561 | engines: {node: '>=6'} 1562 | dependencies: 1563 | parent-module: 1.0.1 1564 | resolve-from: 4.0.0 1565 | 1566 | /inflight@1.0.6: 1567 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1568 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1569 | dependencies: 1570 | once: 1.4.0 1571 | wrappy: 1.0.2 1572 | dev: true 1573 | 1574 | /inherits@2.0.4: 1575 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1576 | dev: true 1577 | 1578 | /inline-style-prefixer@7.0.0: 1579 | resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==} 1580 | dependencies: 1581 | css-in-js-utils: 3.1.0 1582 | fast-loops: 1.1.3 1583 | dev: false 1584 | 1585 | /is-arrayish@0.2.1: 1586 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1587 | 1588 | /is-core-module@2.13.1: 1589 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1590 | dependencies: 1591 | hasown: 2.0.2 1592 | 1593 | /is-extglob@2.1.1: 1594 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1595 | engines: {node: '>=0.10.0'} 1596 | dev: true 1597 | 1598 | /is-fullwidth-code-point@3.0.0: 1599 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1600 | engines: {node: '>=8'} 1601 | dev: true 1602 | 1603 | /is-glob@4.0.3: 1604 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1605 | engines: {node: '>=0.10.0'} 1606 | dependencies: 1607 | is-extglob: 2.1.1 1608 | dev: true 1609 | 1610 | /is-number@7.0.0: 1611 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1612 | engines: {node: '>=0.12.0'} 1613 | dev: true 1614 | 1615 | /is-plain-object@3.0.1: 1616 | resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} 1617 | engines: {node: '>=0.10.0'} 1618 | dev: true 1619 | 1620 | /javascript-natural-sort@0.7.1: 1621 | resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} 1622 | dev: false 1623 | 1624 | /jmespath@0.16.0: 1625 | resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} 1626 | engines: {node: '>= 0.6.0'} 1627 | dev: false 1628 | 1629 | /js-cookie@2.2.1: 1630 | resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} 1631 | dev: false 1632 | 1633 | /js-tokens@4.0.0: 1634 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1635 | 1636 | /jsesc@2.5.2: 1637 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1638 | engines: {node: '>=4'} 1639 | hasBin: true 1640 | 1641 | /json-parse-even-better-errors@2.3.1: 1642 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1643 | 1644 | /json-schema-traverse@0.4.1: 1645 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1646 | dev: false 1647 | 1648 | /json-source-map@0.6.1: 1649 | resolution: {integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==} 1650 | dev: false 1651 | 1652 | /json2mq@0.2.0: 1653 | resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} 1654 | dependencies: 1655 | string-convert: 0.2.1 1656 | dev: false 1657 | 1658 | /json5@2.2.3: 1659 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1660 | engines: {node: '>=6'} 1661 | hasBin: true 1662 | dev: true 1663 | 1664 | /jsoneditor@9.10.5: 1665 | resolution: {integrity: sha512-fVZ0NMt+zm4rqTKBv2x7zPdLeaRyKo1EjJkaR1QjK4gEM1rMwICILYSW1OPxSc1qqyAoDaA/eeNrluKoxOocCA==} 1666 | dependencies: 1667 | ace-builds: 1.34.2 1668 | ajv: 6.12.6 1669 | javascript-natural-sort: 0.7.1 1670 | jmespath: 0.16.0 1671 | json-source-map: 0.6.1 1672 | jsonrepair: 3.1.0 1673 | mobius1-selectr: 2.4.13 1674 | picomodal: 3.0.0 1675 | vanilla-picker: 2.12.3 1676 | dev: false 1677 | 1678 | /jsonfile@4.0.0: 1679 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1680 | optionalDependencies: 1681 | graceful-fs: 4.2.11 1682 | dev: true 1683 | 1684 | /jsonrepair@3.1.0: 1685 | resolution: {integrity: sha512-idqReg23J0PVRAADmZMc5xQM3xeOX5bTB6OTyMnzq33IXJXmn9iJuWIEvGmrN80rQf4d7uLTMEDwpzujNcI0Rg==} 1686 | hasBin: true 1687 | dev: false 1688 | 1689 | /lines-and-columns@1.2.4: 1690 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1691 | 1692 | /lodash@4.17.21: 1693 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1694 | dev: true 1695 | 1696 | /loose-envify@1.4.0: 1697 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1698 | hasBin: true 1699 | dependencies: 1700 | js-tokens: 4.0.0 1701 | dev: false 1702 | 1703 | /lru-cache@5.1.1: 1704 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1705 | dependencies: 1706 | yallist: 3.1.1 1707 | dev: true 1708 | 1709 | /mdn-data@2.0.14: 1710 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 1711 | dev: false 1712 | 1713 | /merge2@1.4.1: 1714 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1715 | engines: {node: '>= 8'} 1716 | dev: true 1717 | 1718 | /micromatch@4.0.7: 1719 | resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} 1720 | engines: {node: '>=8.6'} 1721 | dependencies: 1722 | braces: 3.0.3 1723 | picomatch: 2.3.1 1724 | dev: true 1725 | 1726 | /minimatch@3.1.2: 1727 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1728 | dependencies: 1729 | brace-expansion: 1.1.11 1730 | dev: true 1731 | 1732 | /mobius1-selectr@2.4.13: 1733 | resolution: {integrity: sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw==} 1734 | dev: false 1735 | 1736 | /ms@2.1.2: 1737 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1738 | 1739 | /nano-css@5.6.1(react-dom@18.3.1)(react@18.3.1): 1740 | resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} 1741 | peerDependencies: 1742 | react: '*' 1743 | react-dom: '*' 1744 | dependencies: 1745 | '@jridgewell/sourcemap-codec': 1.4.15 1746 | css-tree: 1.1.3 1747 | csstype: 3.1.3 1748 | fastest-stable-stringify: 2.0.2 1749 | inline-style-prefixer: 7.0.0 1750 | react: 18.3.1 1751 | react-dom: 18.3.1(react@18.3.1) 1752 | rtl-css-js: 1.16.1 1753 | stacktrace-js: 2.0.2 1754 | stylis: 4.3.2 1755 | dev: false 1756 | 1757 | /nanoid@3.3.7: 1758 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1759 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1760 | hasBin: true 1761 | dev: true 1762 | 1763 | /node-releases@2.0.14: 1764 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1765 | dev: true 1766 | 1767 | /once@1.4.0: 1768 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1769 | dependencies: 1770 | wrappy: 1.0.2 1771 | dev: true 1772 | 1773 | /parent-module@1.0.1: 1774 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1775 | engines: {node: '>=6'} 1776 | dependencies: 1777 | callsites: 3.1.0 1778 | 1779 | /parse-json@5.2.0: 1780 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1781 | engines: {node: '>=8'} 1782 | dependencies: 1783 | '@babel/code-frame': 7.24.7 1784 | error-ex: 1.3.2 1785 | json-parse-even-better-errors: 2.3.1 1786 | lines-and-columns: 1.2.4 1787 | 1788 | /path-is-absolute@1.0.1: 1789 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1790 | engines: {node: '>=0.10.0'} 1791 | dev: true 1792 | 1793 | /path-parse@1.0.7: 1794 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1795 | 1796 | /path-type@4.0.0: 1797 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1798 | engines: {node: '>=8'} 1799 | 1800 | /picocolors@1.0.1: 1801 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 1802 | 1803 | /picomatch@2.3.1: 1804 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1805 | engines: {node: '>=8.6'} 1806 | dev: true 1807 | 1808 | /picomodal@3.0.0: 1809 | resolution: {integrity: sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==} 1810 | dev: false 1811 | 1812 | /postcss@8.4.38: 1813 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1814 | engines: {node: ^10 || ^12 || >=14} 1815 | dependencies: 1816 | nanoid: 3.3.7 1817 | picocolors: 1.0.1 1818 | source-map-js: 1.2.0 1819 | dev: true 1820 | 1821 | /punycode@2.3.1: 1822 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1823 | engines: {node: '>=6'} 1824 | dev: false 1825 | 1826 | /qrcode.react@3.1.0(react@18.3.1): 1827 | resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==} 1828 | peerDependencies: 1829 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1830 | dependencies: 1831 | react: 18.3.1 1832 | dev: false 1833 | 1834 | /queue-microtask@1.2.3: 1835 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1836 | dev: true 1837 | 1838 | /randombytes@2.1.0: 1839 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1840 | dependencies: 1841 | safe-buffer: 5.2.1 1842 | dev: true 1843 | 1844 | /rc-cascader@3.26.0(react-dom@18.3.1)(react@18.3.1): 1845 | resolution: {integrity: sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==} 1846 | peerDependencies: 1847 | react: '>=16.9.0' 1848 | react-dom: '>=16.9.0' 1849 | dependencies: 1850 | '@babel/runtime': 7.24.7 1851 | array-tree-filter: 2.1.0 1852 | classnames: 2.5.1 1853 | rc-select: 14.14.0(react-dom@18.3.1)(react@18.3.1) 1854 | rc-tree: 5.8.7(react-dom@18.3.1)(react@18.3.1) 1855 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1856 | react: 18.3.1 1857 | react-dom: 18.3.1(react@18.3.1) 1858 | dev: false 1859 | 1860 | /rc-checkbox@3.3.0(react-dom@18.3.1)(react@18.3.1): 1861 | resolution: {integrity: sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==} 1862 | peerDependencies: 1863 | react: '>=16.9.0' 1864 | react-dom: '>=16.9.0' 1865 | dependencies: 1866 | '@babel/runtime': 7.24.7 1867 | classnames: 2.5.1 1868 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1869 | react: 18.3.1 1870 | react-dom: 18.3.1(react@18.3.1) 1871 | dev: false 1872 | 1873 | /rc-collapse@3.7.3(react-dom@18.3.1)(react@18.3.1): 1874 | resolution: {integrity: sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==} 1875 | peerDependencies: 1876 | react: '>=16.9.0' 1877 | react-dom: '>=16.9.0' 1878 | dependencies: 1879 | '@babel/runtime': 7.24.7 1880 | classnames: 2.5.1 1881 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 1882 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1883 | react: 18.3.1 1884 | react-dom: 18.3.1(react@18.3.1) 1885 | dev: false 1886 | 1887 | /rc-dialog@9.4.0(react-dom@18.3.1)(react@18.3.1): 1888 | resolution: {integrity: sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==} 1889 | peerDependencies: 1890 | react: '>=16.9.0' 1891 | react-dom: '>=16.9.0' 1892 | dependencies: 1893 | '@babel/runtime': 7.24.7 1894 | '@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1) 1895 | classnames: 2.5.1 1896 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 1897 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1898 | react: 18.3.1 1899 | react-dom: 18.3.1(react@18.3.1) 1900 | dev: false 1901 | 1902 | /rc-drawer@7.2.0(react-dom@18.3.1)(react@18.3.1): 1903 | resolution: {integrity: sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==} 1904 | peerDependencies: 1905 | react: '>=16.9.0' 1906 | react-dom: '>=16.9.0' 1907 | dependencies: 1908 | '@babel/runtime': 7.24.7 1909 | '@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1) 1910 | classnames: 2.5.1 1911 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 1912 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1913 | react: 18.3.1 1914 | react-dom: 18.3.1(react@18.3.1) 1915 | dev: false 1916 | 1917 | /rc-dropdown@4.2.0(react-dom@18.3.1)(react@18.3.1): 1918 | resolution: {integrity: sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==} 1919 | peerDependencies: 1920 | react: '>=16.11.0' 1921 | react-dom: '>=16.11.0' 1922 | dependencies: 1923 | '@babel/runtime': 7.24.7 1924 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 1925 | classnames: 2.5.1 1926 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1927 | react: 18.3.1 1928 | react-dom: 18.3.1(react@18.3.1) 1929 | dev: false 1930 | 1931 | /rc-field-form@2.2.1(react-dom@18.3.1)(react@18.3.1): 1932 | resolution: {integrity: sha512-uoNqDoR7A4tn4QTSqoWPAzrR7ZwOK5I+vuZ/qdcHtbKx+ZjEsTg7QXm2wk/jalDiSksAQmATxL0T5LJkRREdIA==} 1933 | engines: {node: '>=8.x'} 1934 | peerDependencies: 1935 | react: '>=16.9.0' 1936 | react-dom: '>=16.9.0' 1937 | dependencies: 1938 | '@babel/runtime': 7.24.7 1939 | '@rc-component/async-validator': 5.0.4 1940 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1941 | react: 18.3.1 1942 | react-dom: 18.3.1(react@18.3.1) 1943 | dev: false 1944 | 1945 | /rc-image@7.8.1(react-dom@18.3.1)(react@18.3.1): 1946 | resolution: {integrity: sha512-Y7/ALO8kgAddl9WBHUQDcff7Yfcd1T2ALS/JPlRqkau8wcua48k99glv/CcgChy4xwUXCUdO1cM2l1NqtoZZHw==} 1947 | peerDependencies: 1948 | react: '>=16.9.0' 1949 | react-dom: '>=16.9.0' 1950 | dependencies: 1951 | '@babel/runtime': 7.24.7 1952 | '@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1) 1953 | classnames: 2.5.1 1954 | rc-dialog: 9.4.0(react-dom@18.3.1)(react@18.3.1) 1955 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 1956 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1957 | react: 18.3.1 1958 | react-dom: 18.3.1(react@18.3.1) 1959 | dev: false 1960 | 1961 | /rc-input-number@9.1.0(react-dom@18.3.1)(react@18.3.1): 1962 | resolution: {integrity: sha512-NqJ6i25Xn/AgYfVxynlevIhX3FuKlMwIFpucGG1h98SlK32wQwDK0zhN9VY32McOmuaqzftduNYWWooWz8pXQA==} 1963 | peerDependencies: 1964 | react: '>=16.9.0' 1965 | react-dom: '>=16.9.0' 1966 | dependencies: 1967 | '@babel/runtime': 7.24.7 1968 | '@rc-component/mini-decimal': 1.1.0 1969 | classnames: 2.5.1 1970 | rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1) 1971 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1972 | react: 18.3.1 1973 | react-dom: 18.3.1(react@18.3.1) 1974 | dev: false 1975 | 1976 | /rc-input@1.5.1(react-dom@18.3.1)(react@18.3.1): 1977 | resolution: {integrity: sha512-+nOzQJDeIfIpNP/SgY45LXSKbuMlp4Yap2y8c+ZpU7XbLmNzUd6+d5/S75sA/52jsVE6S/AkhkkDEAOjIu7i6g==} 1978 | peerDependencies: 1979 | react: '>=16.0.0' 1980 | react-dom: '>=16.0.0' 1981 | dependencies: 1982 | '@babel/runtime': 7.24.7 1983 | classnames: 2.5.1 1984 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 1985 | react: 18.3.1 1986 | react-dom: 18.3.1(react@18.3.1) 1987 | dev: false 1988 | 1989 | /rc-mentions@2.13.2(react-dom@18.3.1)(react@18.3.1): 1990 | resolution: {integrity: sha512-gJCF6MDax/2wl2CzvJEN9yyQKYDzGKA2hmmymQiEPiYUNUOk6UKvQFSB3TBfAi57vxntPMJZGfxNtda1BDb4kA==} 1991 | peerDependencies: 1992 | react: '>=16.9.0' 1993 | react-dom: '>=16.9.0' 1994 | dependencies: 1995 | '@babel/runtime': 7.24.7 1996 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 1997 | classnames: 2.5.1 1998 | rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1) 1999 | rc-menu: 9.14.0(react-dom@18.3.1)(react@18.3.1) 2000 | rc-textarea: 1.7.0(react-dom@18.3.1)(react@18.3.1) 2001 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2002 | react: 18.3.1 2003 | react-dom: 18.3.1(react@18.3.1) 2004 | dev: false 2005 | 2006 | /rc-menu@9.14.0(react-dom@18.3.1)(react@18.3.1): 2007 | resolution: {integrity: sha512-La3LBCDMLMs9Q/8mTGbnscb+ZeJ26ebkLz9xJFHd2SD8vfsCKl1Z/k3mwbxyKL01lB40fel1s9Nn9LAv/nmVJQ==} 2008 | peerDependencies: 2009 | react: '>=16.9.0' 2010 | react-dom: '>=16.9.0' 2011 | dependencies: 2012 | '@babel/runtime': 7.24.7 2013 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 2014 | classnames: 2.5.1 2015 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2016 | rc-overflow: 1.3.2(react-dom@18.3.1)(react@18.3.1) 2017 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2018 | react: 18.3.1 2019 | react-dom: 18.3.1(react@18.3.1) 2020 | dev: false 2021 | 2022 | /rc-motion@2.9.1(react-dom@18.3.1)(react@18.3.1): 2023 | resolution: {integrity: sha512-QD4bUqByjVQs7PhUT1d4bNxvtTcK9ETwtg7psbDfo6TmYalH/1hhjj4r2hbhW7g5OOEqYHhfwfj4noIvuOVRtQ==} 2024 | peerDependencies: 2025 | react: '>=16.9.0' 2026 | react-dom: '>=16.9.0' 2027 | dependencies: 2028 | '@babel/runtime': 7.24.7 2029 | classnames: 2.5.1 2030 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2031 | react: 18.3.1 2032 | react-dom: 18.3.1(react@18.3.1) 2033 | dev: false 2034 | 2035 | /rc-notification@5.6.0(react-dom@18.3.1)(react@18.3.1): 2036 | resolution: {integrity: sha512-TGQW5T7waOxLwgJG7fXcw8l7AQiFOjaZ7ISF5PrU526nunHRNcTMuzKihQHaF4E/h/KfOCDk3Mv8eqzbu2e28w==} 2037 | engines: {node: '>=8.x'} 2038 | peerDependencies: 2039 | react: '>=16.9.0' 2040 | react-dom: '>=16.9.0' 2041 | dependencies: 2042 | '@babel/runtime': 7.24.7 2043 | classnames: 2.5.1 2044 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2045 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2046 | react: 18.3.1 2047 | react-dom: 18.3.1(react@18.3.1) 2048 | dev: false 2049 | 2050 | /rc-overflow@1.3.2(react-dom@18.3.1)(react@18.3.1): 2051 | resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==} 2052 | peerDependencies: 2053 | react: '>=16.9.0' 2054 | react-dom: '>=16.9.0' 2055 | dependencies: 2056 | '@babel/runtime': 7.24.7 2057 | classnames: 2.5.1 2058 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2059 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2060 | react: 18.3.1 2061 | react-dom: 18.3.1(react@18.3.1) 2062 | dev: false 2063 | 2064 | /rc-pagination@4.0.4(react-dom@18.3.1)(react@18.3.1): 2065 | resolution: {integrity: sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==} 2066 | peerDependencies: 2067 | react: '>=16.9.0' 2068 | react-dom: '>=16.9.0' 2069 | dependencies: 2070 | '@babel/runtime': 7.24.7 2071 | classnames: 2.5.1 2072 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2073 | react: 18.3.1 2074 | react-dom: 18.3.1(react@18.3.1) 2075 | dev: false 2076 | 2077 | /rc-picker@4.5.0(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1): 2078 | resolution: {integrity: sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==} 2079 | engines: {node: '>=8.x'} 2080 | peerDependencies: 2081 | date-fns: '>= 2.x' 2082 | dayjs: '>= 1.x' 2083 | luxon: '>= 3.x' 2084 | moment: '>= 2.x' 2085 | react: '>=16.9.0' 2086 | react-dom: '>=16.9.0' 2087 | peerDependenciesMeta: 2088 | date-fns: 2089 | optional: true 2090 | dayjs: 2091 | optional: true 2092 | luxon: 2093 | optional: true 2094 | moment: 2095 | optional: true 2096 | dependencies: 2097 | '@babel/runtime': 7.24.7 2098 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 2099 | classnames: 2.5.1 2100 | dayjs: 1.11.11 2101 | rc-overflow: 1.3.2(react-dom@18.3.1)(react@18.3.1) 2102 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2103 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2104 | react: 18.3.1 2105 | react-dom: 18.3.1(react@18.3.1) 2106 | dev: false 2107 | 2108 | /rc-progress@4.0.0(react-dom@18.3.1)(react@18.3.1): 2109 | resolution: {integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==} 2110 | peerDependencies: 2111 | react: '>=16.9.0' 2112 | react-dom: '>=16.9.0' 2113 | dependencies: 2114 | '@babel/runtime': 7.24.7 2115 | classnames: 2.5.1 2116 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2117 | react: 18.3.1 2118 | react-dom: 18.3.1(react@18.3.1) 2119 | dev: false 2120 | 2121 | /rc-rate@2.13.0(react-dom@18.3.1)(react@18.3.1): 2122 | resolution: {integrity: sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==} 2123 | engines: {node: '>=8.x'} 2124 | peerDependencies: 2125 | react: '>=16.9.0' 2126 | react-dom: '>=16.9.0' 2127 | dependencies: 2128 | '@babel/runtime': 7.24.7 2129 | classnames: 2.5.1 2130 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2131 | react: 18.3.1 2132 | react-dom: 18.3.1(react@18.3.1) 2133 | dev: false 2134 | 2135 | /rc-resize-observer@1.4.0(react-dom@18.3.1)(react@18.3.1): 2136 | resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==} 2137 | peerDependencies: 2138 | react: '>=16.9.0' 2139 | react-dom: '>=16.9.0' 2140 | dependencies: 2141 | '@babel/runtime': 7.24.7 2142 | classnames: 2.5.1 2143 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2144 | react: 18.3.1 2145 | react-dom: 18.3.1(react@18.3.1) 2146 | resize-observer-polyfill: 1.5.1 2147 | dev: false 2148 | 2149 | /rc-segmented@2.3.0(react-dom@18.3.1)(react@18.3.1): 2150 | resolution: {integrity: sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==} 2151 | peerDependencies: 2152 | react: '>=16.0.0' 2153 | react-dom: '>=16.0.0' 2154 | dependencies: 2155 | '@babel/runtime': 7.24.7 2156 | classnames: 2.5.1 2157 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2158 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2159 | react: 18.3.1 2160 | react-dom: 18.3.1(react@18.3.1) 2161 | dev: false 2162 | 2163 | /rc-select@14.14.0(react-dom@18.3.1)(react@18.3.1): 2164 | resolution: {integrity: sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==} 2165 | engines: {node: '>=8.x'} 2166 | peerDependencies: 2167 | react: '*' 2168 | react-dom: '*' 2169 | dependencies: 2170 | '@babel/runtime': 7.24.7 2171 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 2172 | classnames: 2.5.1 2173 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2174 | rc-overflow: 1.3.2(react-dom@18.3.1)(react@18.3.1) 2175 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2176 | rc-virtual-list: 3.14.2(react-dom@18.3.1)(react@18.3.1) 2177 | react: 18.3.1 2178 | react-dom: 18.3.1(react@18.3.1) 2179 | dev: false 2180 | 2181 | /rc-slider@10.6.2(react-dom@18.3.1)(react@18.3.1): 2182 | resolution: {integrity: sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==} 2183 | engines: {node: '>=8.x'} 2184 | peerDependencies: 2185 | react: '>=16.9.0' 2186 | react-dom: '>=16.9.0' 2187 | dependencies: 2188 | '@babel/runtime': 7.24.7 2189 | classnames: 2.5.1 2190 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2191 | react: 18.3.1 2192 | react-dom: 18.3.1(react@18.3.1) 2193 | dev: false 2194 | 2195 | /rc-steps@6.0.1(react-dom@18.3.1)(react@18.3.1): 2196 | resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} 2197 | engines: {node: '>=8.x'} 2198 | peerDependencies: 2199 | react: '>=16.9.0' 2200 | react-dom: '>=16.9.0' 2201 | dependencies: 2202 | '@babel/runtime': 7.24.7 2203 | classnames: 2.5.1 2204 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2205 | react: 18.3.1 2206 | react-dom: 18.3.1(react@18.3.1) 2207 | dev: false 2208 | 2209 | /rc-switch@4.1.0(react-dom@18.3.1)(react@18.3.1): 2210 | resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} 2211 | peerDependencies: 2212 | react: '>=16.9.0' 2213 | react-dom: '>=16.9.0' 2214 | dependencies: 2215 | '@babel/runtime': 7.24.7 2216 | classnames: 2.5.1 2217 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2218 | react: 18.3.1 2219 | react-dom: 18.3.1(react@18.3.1) 2220 | dev: false 2221 | 2222 | /rc-table@7.45.7(react-dom@18.3.1)(react@18.3.1): 2223 | resolution: {integrity: sha512-wi9LetBL1t1csxyGkMB2p3mCiMt+NDexMlPbXHvQFmBBAsMxrgNSAPwUci2zDLUq9m8QdWc1Nh8suvrpy9mXrg==} 2224 | engines: {node: '>=8.x'} 2225 | peerDependencies: 2226 | react: '>=16.9.0' 2227 | react-dom: '>=16.9.0' 2228 | dependencies: 2229 | '@babel/runtime': 7.24.7 2230 | '@rc-component/context': 1.4.0(react-dom@18.3.1)(react@18.3.1) 2231 | classnames: 2.5.1 2232 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2233 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2234 | rc-virtual-list: 3.14.2(react-dom@18.3.1)(react@18.3.1) 2235 | react: 18.3.1 2236 | react-dom: 18.3.1(react@18.3.1) 2237 | dev: false 2238 | 2239 | /rc-tabs@15.1.0(react-dom@18.3.1)(react@18.3.1): 2240 | resolution: {integrity: sha512-xTNz4Km1025emtkv1q7xKhjPwAtXr/wycuXVTAcFJg+DKhnPDDbnwbA9KRW0SawAVOGvVEj8ZrBlU0u0FGLrbg==} 2241 | engines: {node: '>=8.x'} 2242 | peerDependencies: 2243 | react: '>=16.9.0' 2244 | react-dom: '>=16.9.0' 2245 | dependencies: 2246 | '@babel/runtime': 7.24.7 2247 | classnames: 2.5.1 2248 | rc-dropdown: 4.2.0(react-dom@18.3.1)(react@18.3.1) 2249 | rc-menu: 9.14.0(react-dom@18.3.1)(react@18.3.1) 2250 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2251 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2252 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2253 | react: 18.3.1 2254 | react-dom: 18.3.1(react@18.3.1) 2255 | dev: false 2256 | 2257 | /rc-textarea@1.7.0(react-dom@18.3.1)(react@18.3.1): 2258 | resolution: {integrity: sha512-UxizYJkWkmxP3zofXgc487QiGyDmhhheDLLjIWbFtDmiru1ls30KpO8odDaPyqNUIy9ugj5djxTEuezIn6t3Jg==} 2259 | peerDependencies: 2260 | react: '>=16.9.0' 2261 | react-dom: '>=16.9.0' 2262 | dependencies: 2263 | '@babel/runtime': 7.24.7 2264 | classnames: 2.5.1 2265 | rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1) 2266 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2267 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2268 | react: 18.3.1 2269 | react-dom: 18.3.1(react@18.3.1) 2270 | dev: false 2271 | 2272 | /rc-tooltip@6.2.0(react-dom@18.3.1)(react@18.3.1): 2273 | resolution: {integrity: sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==} 2274 | peerDependencies: 2275 | react: '>=16.9.0' 2276 | react-dom: '>=16.9.0' 2277 | dependencies: 2278 | '@babel/runtime': 7.24.7 2279 | '@rc-component/trigger': 2.2.0(react-dom@18.3.1)(react@18.3.1) 2280 | classnames: 2.5.1 2281 | react: 18.3.1 2282 | react-dom: 18.3.1(react@18.3.1) 2283 | dev: false 2284 | 2285 | /rc-tree-select@5.21.0(react-dom@18.3.1)(react@18.3.1): 2286 | resolution: {integrity: sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==} 2287 | peerDependencies: 2288 | react: '*' 2289 | react-dom: '*' 2290 | dependencies: 2291 | '@babel/runtime': 7.24.7 2292 | classnames: 2.5.1 2293 | rc-select: 14.14.0(react-dom@18.3.1)(react@18.3.1) 2294 | rc-tree: 5.8.7(react-dom@18.3.1)(react@18.3.1) 2295 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2296 | react: 18.3.1 2297 | react-dom: 18.3.1(react@18.3.1) 2298 | dev: false 2299 | 2300 | /rc-tree@5.8.7(react-dom@18.3.1)(react@18.3.1): 2301 | resolution: {integrity: sha512-cpsIQZ4nNYwpj6cqPRt52e/69URuNdgQF9wZ10InmEf8W3+i0A41OVmZWwHuX9gegQSqj+DPmaDkZFKQZ+ZV1w==} 2302 | engines: {node: '>=10.x'} 2303 | peerDependencies: 2304 | react: '*' 2305 | react-dom: '*' 2306 | dependencies: 2307 | '@babel/runtime': 7.24.7 2308 | classnames: 2.5.1 2309 | rc-motion: 2.9.1(react-dom@18.3.1)(react@18.3.1) 2310 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2311 | rc-virtual-list: 3.14.2(react-dom@18.3.1)(react@18.3.1) 2312 | react: 18.3.1 2313 | react-dom: 18.3.1(react@18.3.1) 2314 | dev: false 2315 | 2316 | /rc-upload@4.5.2(react-dom@18.3.1)(react@18.3.1): 2317 | resolution: {integrity: sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==} 2318 | peerDependencies: 2319 | react: '>=16.9.0' 2320 | react-dom: '>=16.9.0' 2321 | dependencies: 2322 | '@babel/runtime': 7.24.7 2323 | classnames: 2.5.1 2324 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2325 | react: 18.3.1 2326 | react-dom: 18.3.1(react@18.3.1) 2327 | dev: false 2328 | 2329 | /rc-util@5.41.0(react-dom@18.3.1)(react@18.3.1): 2330 | resolution: {integrity: sha512-xtlCim9RpmVv0Ar2Nnc3WfJCxjQkTf3xHPWoFdjp1fSs2NirQwqiQrfqdU9HUe0kdfb168M/T8Dq0IaX50xeKg==} 2331 | peerDependencies: 2332 | react: '>=16.9.0' 2333 | react-dom: '>=16.9.0' 2334 | dependencies: 2335 | '@babel/runtime': 7.24.1 2336 | react: 18.3.1 2337 | react-dom: 18.3.1(react@18.3.1) 2338 | react-is: 18.3.1 2339 | dev: false 2340 | 2341 | /rc-virtual-list@3.14.2(react-dom@18.3.1)(react@18.3.1): 2342 | resolution: {integrity: sha512-rA+W5xryhklJAcmswNyuKB3ZGeB855io+yOFQK5u/RXhjdshGblfKpNkQr4/9fBhZns0+uiL/0/s6IP2krtSmg==} 2343 | engines: {node: '>=8.x'} 2344 | peerDependencies: 2345 | react: '>=16.9.0' 2346 | react-dom: '>=16.9.0' 2347 | dependencies: 2348 | '@babel/runtime': 7.24.7 2349 | classnames: 2.5.1 2350 | rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1) 2351 | rc-util: 5.41.0(react-dom@18.3.1)(react@18.3.1) 2352 | react: 18.3.1 2353 | react-dom: 18.3.1(react@18.3.1) 2354 | dev: false 2355 | 2356 | /react-dom@18.3.1(react@18.3.1): 2357 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 2358 | peerDependencies: 2359 | react: ^18.3.1 2360 | dependencies: 2361 | loose-envify: 1.4.0 2362 | react: 18.3.1 2363 | scheduler: 0.23.2 2364 | dev: false 2365 | 2366 | /react-is@16.13.1: 2367 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2368 | dev: false 2369 | 2370 | /react-is@18.3.1: 2371 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 2372 | dev: false 2373 | 2374 | /react-refresh@0.14.2: 2375 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} 2376 | engines: {node: '>=0.10.0'} 2377 | dev: true 2378 | 2379 | /react-universal-interface@0.6.2(react@18.3.1)(tslib@2.6.2): 2380 | resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} 2381 | peerDependencies: 2382 | react: '*' 2383 | tslib: '*' 2384 | dependencies: 2385 | react: 18.3.1 2386 | tslib: 2.6.2 2387 | dev: false 2388 | 2389 | /react-use@17.5.0(react-dom@18.3.1)(react@18.3.1): 2390 | resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==} 2391 | peerDependencies: 2392 | react: '*' 2393 | react-dom: '*' 2394 | dependencies: 2395 | '@types/js-cookie': 2.2.7 2396 | '@xobotyi/scrollbar-width': 1.9.5 2397 | copy-to-clipboard: 3.3.3 2398 | fast-deep-equal: 3.1.3 2399 | fast-shallow-equal: 1.0.0 2400 | js-cookie: 2.2.1 2401 | nano-css: 5.6.1(react-dom@18.3.1)(react@18.3.1) 2402 | react: 18.3.1 2403 | react-dom: 18.3.1(react@18.3.1) 2404 | react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.6.2) 2405 | resize-observer-polyfill: 1.5.1 2406 | screenfull: 5.2.0 2407 | set-harmonic-interval: 1.0.1 2408 | throttle-debounce: 3.0.1 2409 | ts-easing: 0.2.0 2410 | tslib: 2.6.2 2411 | dev: false 2412 | 2413 | /react@18.3.1: 2414 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 2415 | engines: {node: '>=0.10.0'} 2416 | dependencies: 2417 | loose-envify: 1.4.0 2418 | dev: false 2419 | 2420 | /regenerator-runtime@0.14.1: 2421 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 2422 | 2423 | /require-directory@2.1.1: 2424 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2425 | engines: {node: '>=0.10.0'} 2426 | dev: true 2427 | 2428 | /resize-observer-polyfill@1.5.1: 2429 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 2430 | dev: false 2431 | 2432 | /resolve-from@4.0.0: 2433 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2434 | engines: {node: '>=4'} 2435 | 2436 | /resolve@1.22.8: 2437 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2438 | hasBin: true 2439 | dependencies: 2440 | is-core-module: 2.13.1 2441 | path-parse: 1.0.7 2442 | supports-preserve-symlinks-flag: 1.0.0 2443 | 2444 | /reusify@1.0.4: 2445 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2446 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2447 | dev: true 2448 | 2449 | /rollup-plugin-copy@3.5.0: 2450 | resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} 2451 | engines: {node: '>=8.3'} 2452 | dependencies: 2453 | '@types/fs-extra': 8.1.5 2454 | colorette: 1.4.0 2455 | fs-extra: 8.1.0 2456 | globby: 10.0.1 2457 | is-plain-object: 3.0.1 2458 | dev: true 2459 | 2460 | /rollup@3.29.4: 2461 | resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} 2462 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2463 | hasBin: true 2464 | optionalDependencies: 2465 | fsevents: 2.3.3 2466 | dev: true 2467 | 2468 | /rtl-css-js@1.16.1: 2469 | resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} 2470 | dependencies: 2471 | '@babel/runtime': 7.24.1 2472 | dev: false 2473 | 2474 | /run-parallel@1.2.0: 2475 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2476 | dependencies: 2477 | queue-microtask: 1.2.3 2478 | dev: true 2479 | 2480 | /rxjs@7.8.1: 2481 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 2482 | dependencies: 2483 | tslib: 2.6.2 2484 | dev: true 2485 | 2486 | /safe-buffer@5.2.1: 2487 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2488 | dev: true 2489 | 2490 | /scheduler@0.23.2: 2491 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 2492 | dependencies: 2493 | loose-envify: 1.4.0 2494 | dev: false 2495 | 2496 | /screenfull@5.2.0: 2497 | resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} 2498 | engines: {node: '>=0.10.0'} 2499 | dev: false 2500 | 2501 | /scroll-into-view-if-needed@3.1.0: 2502 | resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} 2503 | dependencies: 2504 | compute-scroll-into-view: 3.1.0 2505 | dev: false 2506 | 2507 | /semver@6.3.1: 2508 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2509 | hasBin: true 2510 | dev: true 2511 | 2512 | /serialize-javascript@6.0.2: 2513 | resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 2514 | dependencies: 2515 | randombytes: 2.1.0 2516 | dev: true 2517 | 2518 | /set-harmonic-interval@1.0.1: 2519 | resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} 2520 | engines: {node: '>=6.9'} 2521 | dev: false 2522 | 2523 | /shell-quote@1.8.1: 2524 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 2525 | dev: true 2526 | 2527 | /slash@3.0.0: 2528 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2529 | engines: {node: '>=8'} 2530 | dev: true 2531 | 2532 | /smob@1.4.1: 2533 | resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} 2534 | dev: true 2535 | 2536 | /source-map-js@1.2.0: 2537 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 2538 | engines: {node: '>=0.10.0'} 2539 | dev: true 2540 | 2541 | /source-map-support@0.5.21: 2542 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2543 | dependencies: 2544 | buffer-from: 1.1.2 2545 | source-map: 0.6.1 2546 | dev: true 2547 | 2548 | /source-map@0.5.6: 2549 | resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} 2550 | engines: {node: '>=0.10.0'} 2551 | dev: false 2552 | 2553 | /source-map@0.5.7: 2554 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 2555 | engines: {node: '>=0.10.0'} 2556 | 2557 | /source-map@0.6.1: 2558 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2559 | engines: {node: '>=0.10.0'} 2560 | 2561 | /spawn-command@0.0.2: 2562 | resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} 2563 | dev: true 2564 | 2565 | /stack-generator@2.0.10: 2566 | resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} 2567 | dependencies: 2568 | stackframe: 1.3.4 2569 | dev: false 2570 | 2571 | /stackframe@1.3.4: 2572 | resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} 2573 | dev: false 2574 | 2575 | /stacktrace-gps@3.1.2: 2576 | resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} 2577 | dependencies: 2578 | source-map: 0.5.6 2579 | stackframe: 1.3.4 2580 | dev: false 2581 | 2582 | /stacktrace-js@2.0.2: 2583 | resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} 2584 | dependencies: 2585 | error-stack-parser: 2.1.4 2586 | stack-generator: 2.0.10 2587 | stacktrace-gps: 3.1.2 2588 | dev: false 2589 | 2590 | /string-convert@0.2.1: 2591 | resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} 2592 | dev: false 2593 | 2594 | /string-width@4.2.3: 2595 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2596 | engines: {node: '>=8'} 2597 | dependencies: 2598 | emoji-regex: 8.0.0 2599 | is-fullwidth-code-point: 3.0.0 2600 | strip-ansi: 6.0.1 2601 | dev: true 2602 | 2603 | /strip-ansi@6.0.1: 2604 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2605 | engines: {node: '>=8'} 2606 | dependencies: 2607 | ansi-regex: 5.0.1 2608 | dev: true 2609 | 2610 | /stylis@4.2.0: 2611 | resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} 2612 | 2613 | /stylis@4.3.2: 2614 | resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} 2615 | dev: false 2616 | 2617 | /supports-color@5.5.0: 2618 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2619 | engines: {node: '>=4'} 2620 | dependencies: 2621 | has-flag: 3.0.0 2622 | 2623 | /supports-color@7.2.0: 2624 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2625 | engines: {node: '>=8'} 2626 | dependencies: 2627 | has-flag: 4.0.0 2628 | dev: true 2629 | 2630 | /supports-color@8.1.1: 2631 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 2632 | engines: {node: '>=10'} 2633 | dependencies: 2634 | has-flag: 4.0.0 2635 | dev: true 2636 | 2637 | /supports-preserve-symlinks-flag@1.0.0: 2638 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2639 | engines: {node: '>= 0.4'} 2640 | 2641 | /terser@5.29.2: 2642 | resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} 2643 | engines: {node: '>=10'} 2644 | hasBin: true 2645 | dependencies: 2646 | '@jridgewell/source-map': 0.3.6 2647 | acorn: 8.11.3 2648 | commander: 2.20.3 2649 | source-map-support: 0.5.21 2650 | dev: true 2651 | 2652 | /throttle-debounce@3.0.1: 2653 | resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} 2654 | engines: {node: '>=10'} 2655 | dev: false 2656 | 2657 | /throttle-debounce@5.0.0: 2658 | resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} 2659 | engines: {node: '>=12.22'} 2660 | dev: false 2661 | 2662 | /to-fast-properties@2.0.0: 2663 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2664 | engines: {node: '>=4'} 2665 | 2666 | /to-regex-range@5.0.1: 2667 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2668 | engines: {node: '>=8.0'} 2669 | dependencies: 2670 | is-number: 7.0.0 2671 | dev: true 2672 | 2673 | /toggle-selection@1.0.6: 2674 | resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} 2675 | dev: false 2676 | 2677 | /tree-kill@1.2.2: 2678 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2679 | hasBin: true 2680 | dev: true 2681 | 2682 | /ts-easing@0.2.0: 2683 | resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} 2684 | dev: false 2685 | 2686 | /tslib@2.6.2: 2687 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2688 | 2689 | /typescript@5.4.3: 2690 | resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} 2691 | engines: {node: '>=14.17'} 2692 | hasBin: true 2693 | 2694 | /undici-types@5.26.5: 2695 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2696 | dev: true 2697 | 2698 | /universalify@0.1.2: 2699 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2700 | engines: {node: '>= 4.0.0'} 2701 | dev: true 2702 | 2703 | /update-browserslist-db@1.0.16(browserslist@4.23.1): 2704 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} 2705 | hasBin: true 2706 | peerDependencies: 2707 | browserslist: '>= 4.21.0' 2708 | dependencies: 2709 | browserslist: 4.23.1 2710 | escalade: 3.1.2 2711 | picocolors: 1.0.1 2712 | dev: true 2713 | 2714 | /uri-js@4.4.1: 2715 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2716 | dependencies: 2717 | punycode: 2.3.1 2718 | dev: false 2719 | 2720 | /uuid@9.0.1: 2721 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} 2722 | hasBin: true 2723 | dev: false 2724 | 2725 | /vanilla-picker@2.12.3: 2726 | resolution: {integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==} 2727 | dependencies: 2728 | '@sphinxxxx/color-conversion': 2.2.2 2729 | dev: false 2730 | 2731 | /vite@4.5.3(@types/node@20.11.30): 2732 | resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} 2733 | engines: {node: ^14.18.0 || >=16.0.0} 2734 | hasBin: true 2735 | peerDependencies: 2736 | '@types/node': '>= 14' 2737 | less: '*' 2738 | lightningcss: ^1.21.0 2739 | sass: '*' 2740 | stylus: '*' 2741 | sugarss: '*' 2742 | terser: ^5.4.0 2743 | peerDependenciesMeta: 2744 | '@types/node': 2745 | optional: true 2746 | less: 2747 | optional: true 2748 | lightningcss: 2749 | optional: true 2750 | sass: 2751 | optional: true 2752 | stylus: 2753 | optional: true 2754 | sugarss: 2755 | optional: true 2756 | terser: 2757 | optional: true 2758 | dependencies: 2759 | '@types/node': 20.11.30 2760 | esbuild: 0.18.20 2761 | postcss: 8.4.38 2762 | rollup: 3.29.4 2763 | optionalDependencies: 2764 | fsevents: 2.3.3 2765 | dev: true 2766 | 2767 | /wrap-ansi@7.0.0: 2768 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2769 | engines: {node: '>=10'} 2770 | dependencies: 2771 | ansi-styles: 4.3.0 2772 | string-width: 4.2.3 2773 | strip-ansi: 6.0.1 2774 | dev: true 2775 | 2776 | /wrappy@1.0.2: 2777 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2778 | dev: true 2779 | 2780 | /y18n@5.0.8: 2781 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2782 | engines: {node: '>=10'} 2783 | dev: true 2784 | 2785 | /yallist@3.1.1: 2786 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 2787 | dev: true 2788 | 2789 | /yaml@1.10.2: 2790 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2791 | engines: {node: '>= 6'} 2792 | 2793 | /yargs-parser@21.1.1: 2794 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2795 | engines: {node: '>=12'} 2796 | dev: true 2797 | 2798 | /yargs@17.7.2: 2799 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2800 | engines: {node: '>=12'} 2801 | dependencies: 2802 | cliui: 8.0.1 2803 | escalade: 3.1.2 2804 | get-caller-file: 2.0.5 2805 | require-directory: 2.1.1 2806 | string-width: 4.2.3 2807 | y18n: 5.0.8 2808 | yargs-parser: 21.1.1 2809 | dev: true 2810 | --------------------------------------------------------------------------------