├── src
├── panel
│ ├── components
│ │ ├── .gitkeep
│ │ └── edit.vue
│ ├── views
│ │ ├── Home.vue
│ │ ├── Popup.vue
│ │ └── DevTool.vue
│ ├── utils
│ │ ├── index.ts
│ │ └── is.ts
│ ├── index.html
│ ├── router
│ │ └── index.ts
│ ├── App.vue
│ ├── main.ts
│ └── themes
│ │ └── app.scss
├── devtools
│ ├── index.html
│ └── main.ts
├── background
│ └── index.ts
└── content-script
│ └── index.ts
├── public
├── logo.png
├── favicon.ico
└── logo_128.png
├── .vscode
└── settings.json
├── preview
├── Add Item.png
└── preview.png
├── tsconfig.node.json
├── vite.config.ts
├── tsconfig.json
├── package.json
├── README.md
├── manifest.json
├── .gitignore
├── LICENSE
└── pnpm-lock.yaml
/src/panel/components/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/devtools/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imlinhanchao/crx_storage_editor/HEAD/public/logo.png
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "GitCommitPlugin.ShowEmoji": true,
3 | "files.autoSave": "off"
4 | }
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imlinhanchao/crx_storage_editor/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/preview/Add Item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imlinhanchao/crx_storage_editor/HEAD/preview/Add Item.png
--------------------------------------------------------------------------------
/preview/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imlinhanchao/crx_storage_editor/HEAD/preview/preview.png
--------------------------------------------------------------------------------
/public/logo_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imlinhanchao/crx_storage_editor/HEAD/public/logo_128.png
--------------------------------------------------------------------------------
/src/panel/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
--------------------------------------------------------------------------------
/src/panel/utils/index.ts:
--------------------------------------------------------------------------------
1 |
2 | export function copyText(text: string) {
3 | const copyFrom = document.createElement("textarea");
4 | copyFrom.textContent = text;
5 | document.body.appendChild(copyFrom);
6 | copyFrom.select();
7 | document.execCommand('copy');
8 | copyFrom.blur();
9 | document.body.removeChild(copyFrom);
10 | }
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "esnext",
5 | "allowSyntheticDefaultImports": true,
6 | "moduleResolution": "node",
7 | "resolveJsonModule": true,
8 | "types": [
9 | "element-plus/global"
10 | ]
11 | },
12 | "include": [
13 | "vite.config.ts",
14 | "src/**/*.json",
15 | "manifest.json",
16 | "package.json"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/src/panel/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
Open DevTools and look for the Storage Editor panel.
2 |
3 |
A Editor for Local Storage and Session Storage.
7 | 8 | ## ✨ Feature 9 | 1. 🙈 Preview Local Storage and Session Storage Data as a tree. 10 | 2. ✏️ Edit, Add, Remove or Clear Storage Data. 11 | 3. 🔌 Add a New Node or Data to Object or Array. 12 | 4. 🔍 Search Value or Key in Storage Data Tree. 13 | 14 | ## ⚙️ Debug 15 | 1. Clone git repository in local. 16 | 2. Execute `npm install` to install dependencies. 17 | 3. Execute `npm run dev`. 18 | 4. Open browser and enable "Developer mode". 19 | 5. Click load an unpacked directory, and then choose `//dist`.
20 | 6. Restart Browser.
21 |
22 | ## 👀 Preview
23 | 1. Data Preview:
24 | 
25 | 2. Edit Preview:
26 | 
27 |
28 | ## 🔔 Others
29 | * Chrome Web Store: https://chrome.google.com/webstore/detail/lpmmcjhefcghagdhnpbodfdamfmlicfn
30 | * Icon made by [Freepik](https://www.flaticon.com/authors/freepik) from www.flaticon.com
--------------------------------------------------------------------------------
/src/panel/main.ts:
--------------------------------------------------------------------------------
1 | import { library } from "@fortawesome/fontawesome-svg-core";
2 | import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
3 | import { fas } from "@fortawesome/free-solid-svg-icons";
4 | import { far } from "@fortawesome/free-regular-svg-icons";
5 | import { IconPack } from "@fortawesome/fontawesome-svg-core";
6 | import * as ElementPlusIconsVue from '@element-plus/icons-vue'
7 | import ElementPlus from "element-plus";
8 | import "element-plus/dist/index.css";
9 | import "element-plus/theme-chalk/dark/css-vars.css";
10 | import "./themes/app.scss";
11 | import { createApp } from "vue";
12 | import App from "./App.vue";
13 | import { router } from "./router";
14 | import { useDark, useToggle } from '@vueuse/core'
15 |
16 | const isDark = useDark()
17 | useToggle(isDark);
18 |
19 | library.add(fas as IconPack);
20 | library.add(far as IconPack);
21 |
22 | const app = createApp(App)
23 | for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
24 | app.component(key, component)
25 | }
26 | app.component("font-awesome-icon", FontAwesomeIcon)
27 | app.use(router);
28 | app.use(ElementPlus).mount('#app')
29 |
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 3,
3 | "name": "Storage Editor",
4 | "version": "1.0.2",
5 | "action": {
6 | "default_popup": "src/panel/index.html#/popup"
7 | },
8 | "description": "Editor for Local Storage and Session Storage.",
9 | "icons": {
10 | "128": "public/logo.png",
11 | "16": "public/logo.png",
12 | "48": "public/logo.png"
13 | },
14 | "author": "Hancel.Lin",
15 | "homepage_url": "https://github.com/imlinhanchao/crx_storage_editor",
16 | "background": {
17 | "service_worker": "src/background/index.ts",
18 | "type": "module"
19 | },
20 | "content_scripts": [
21 | {
22 | "all_frames": true,
23 | "js": [
24 | "src/content-script/index.ts"
25 | ],
26 | "matches": [
27 | "*://*/*"
28 | ],
29 | "run_at": "document_idle"
30 | }
31 | ],
32 | "host_permissions": [
33 | "*://*/*"
34 | ],
35 | "devtools_page": "src/devtools/index.html",
36 | "permissions": [
37 | "activeTab"
38 | ],
39 | "web_accessible_resources": [
40 | {
41 | "matches": [
42 | "*://*/*"
43 | ],
44 | "resources": [
45 | "src/content-script/index.ts",
46 | "public/logo_128.png"
47 | ]
48 | }
49 | ]
50 | }
51 |
--------------------------------------------------------------------------------
/src/content-script/index.ts:
--------------------------------------------------------------------------------
1 | function sendStorage(storage: Storage) {
2 | chrome.runtime.sendMessage({
3 | message: 'update',
4 | type: getType(storage),
5 | data: { ...storage }
6 | }, response => {
7 | })
8 | return storage;
9 | }
10 |
11 | function getType(storage: Storage) {
12 | return storage == localStorage ? 'local' : 'session'
13 | }
14 |
15 | window.addEventListener('message', ({ data }) => {
16 | if (data.from != 'tab_storage_editor') return;
17 | switch (data.message) {
18 | case 'storage':
19 | sendStorage(data.data == 'local' ? localStorage : sessionStorage);
20 | break;
21 |
22 | default:
23 | break;
24 | }
25 | })
26 |
27 | chrome.runtime.onMessage.addListener(function (message, sender) {
28 | let request = message;
29 | if (request.from != '__devtools_storage_editor') return;
30 | switch(request.message) {
31 | case 'send':
32 | send(request.data)
33 | break;
34 | case 'listen':
35 | window.postMessage({
36 | from: '__content_script_storage_editor',
37 | message: 'listen'
38 | })
39 | break;
40 | case 'setItem':
41 | setItem(request.data);
42 | break;
43 | case 'removeItem':
44 | removeItem(request.data);
45 | break;
46 | }
47 | });
48 |
49 | function setItem({ type, key, data }: { type: string, key: string, data: string }) {
50 | switch(type) {
51 | case 'local':
52 | localStorage.setItem(key, data);
53 | break;
54 | case 'session':
55 | sessionStorage.setItem(key, data);
56 | break;
57 | }
58 | }
59 |
60 | function removeItem({ type, key }: { type: string, key: string }) {
61 | switch(type) {
62 | case 'local':
63 | localStorage.removeItem(key);
64 | break;
65 | case 'session':
66 | sessionStorage.removeItem(key);
67 | break;
68 | }
69 | }
70 |
71 | function send(type: string) {
72 | switch (type) {
73 | case 'local':
74 | sendStorage(localStorage);
75 | break;
76 | case 'session':
77 | sendStorage(sessionStorage);
78 | break;
79 | default:
80 | break;
81 | }
82 | }
83 |
84 | export { }
85 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Microbundle cache
57 | .rpt2_cache/
58 | .rts2_cache_cjs/
59 | .rts2_cache_es/
60 | .rts2_cache_umd/
61 |
62 | # Optional REPL history
63 | .node_repl_history
64 |
65 | # Output of 'npm pack'
66 | *.tgz
67 |
68 | # Yarn Integrity file
69 | .yarn-integrity
70 |
71 | # dotenv environment variables file
72 | .env
73 | .env.test
74 |
75 | # parcel-bundler cache (https://parceljs.org/)
76 | .cache
77 |
78 | # Next.js build output
79 | .next
80 |
81 | # Nuxt.js build / generate output
82 | .nuxt
83 | dist
84 |
85 | # Gatsby files
86 | .cache/
87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
88 | # https://nextjs.org/blog/next-9-1#public-directory-support
89 | # public
90 |
91 | # vuepress build output
92 | .vuepress/dist
93 |
94 | # Serverless directories
95 | .serverless/
96 |
97 | # FuseBox cache
98 | .fusebox/
99 |
100 | # DynamoDB Local files
101 | .dynamodb/
102 |
103 | # TernJS port file
104 | .tern-port
105 |
106 | # Lock file
107 | yarn.lock
108 | package-lock.json
109 |
110 | # crx file
111 | *.crx
112 | *.pem
--------------------------------------------------------------------------------
/src/panel/utils/is.ts:
--------------------------------------------------------------------------------
1 | const toString = Object.prototype.toString;
2 |
3 | export const asStr = toString;
4 |
5 | export function is(val: unknown, type: string) {
6 | return toString.call(val) === `[object ${type}]`;
7 | }
8 |
9 | export function isDef(val?: T): val is T {
10 | return typeof val !== 'undefined';
11 | }
12 |
13 | export function isUnDef(val?: T): val is T {
14 | return !isDef(val);
15 | }
16 |
17 | export function isObject(val: any): val is Record {
18 | return val !== null && is(val, 'Object');
19 | }
20 |
21 | export function isEmpty(val: T): val is T {
22 | if (isArray(val) || isString(val)) {
23 | return val.length === 0;
24 | }
25 |
26 | if (val instanceof Map || val instanceof Set) {
27 | return val.size === 0;
28 | }
29 |
30 | if (isObject(val)) {
31 | return Object.keys(val).length === 0;
32 | }
33 |
34 | return val == null;
35 | }
36 |
37 | export function isDate(val: unknown): val is Date {
38 | return is(val, 'Date');
39 | }
40 |
41 | export function isNull(val: unknown): val is null {
42 | return val === null;
43 | }
44 |
45 | export function isNullAndUnDef(val: unknown): val is null | undefined {
46 | return isUnDef(val) && isNull(val);
47 | }
48 |
49 | export function isNullOrUnDef(val: unknown): val is null | undefined {
50 | return isUnDef(val) || isNull(val);
51 | }
52 |
53 | export function isNumber(val: unknown): val is number {
54 | return is(val, 'Number');
55 | }
56 |
57 | export function isPromise(val: unknown): val is Promise {
58 | return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch);
59 | }
60 |
61 | export function isString(val: unknown): val is string {
62 | return is(val, 'String');
63 | }
64 |
65 | export function isFunction(val: unknown): val is Function {
66 | return typeof val === 'function';
67 | }
68 |
69 | export function isBoolean(val: unknown): val is boolean {
70 | return is(val, 'Boolean');
71 | }
72 |
73 | export function isRegExp(val: unknown): val is RegExp {
74 | return is(val, 'RegExp');
75 | }
76 |
77 | export function isArray(val: any): val is Array {
78 | return val && Array.isArray(val);
79 | }
80 |
81 | export function isWindow(val: any): val is Window {
82 | return typeof window !== 'undefined' && is(val, 'Window');
83 | }
84 |
85 | export function isElement(val: unknown): val is Element {
86 | return isObject(val) && !!val.tagName;
87 | }
88 |
89 | export function isMap(val: unknown): val is Map {
90 | return is(val, 'Map');
91 | }
92 |
93 | export const isServer = typeof window === 'undefined';
94 |
95 | export const isClient = !isServer;
96 |
97 | export function isUrl(path: string): boolean {
98 | const reg =
99 | /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
100 | return reg.test(path);
101 | }
102 |
103 | /**
104 | * @description props简写方法
105 | * @param {*} [def={}] 默认值
106 | * @param {*} [conf={}] 扩展字段
107 | */
108 | export const defType = (def = {}, conf = {}) => ({
109 | type: Object(def).constructor,
110 | default: () => def,
111 | ...conf,
112 | });
113 |
--------------------------------------------------------------------------------
/src/devtools/main.ts:
--------------------------------------------------------------------------------
1 |
2 | let panelWindow: { [key:number]: Window} = {};
3 | let tabListener: { [key:number]: ({ data }: { data: any}) => void } = {}
4 | chrome.devtools.panels.create("Storage Editor", "public/logo_128.png", "src/panel/index.html#/devtools", panel => {
5 | // code invoked on panel creation
6 | panel.onShown.addListener( (extPanelWindow) => {
7 | panelWindow[chrome.devtools.inspectedWindow.tabId] = extPanelWindow;
8 | const tabId = chrome.devtools.inspectedWindow.tabId;
9 | if (tabListener[tabId]) panelWindow[tabId].removeEventListener('message', tabListener[tabId]);
10 | tabListener[tabId] = panelListener(chrome.devtools.inspectedWindow.tabId);
11 | panelWindow[chrome.devtools.inspectedWindow.tabId].addEventListener('message', tabListener[tabId]);
12 | initTabWindow(tabId)
13 | });
14 | });
15 |
16 | function initTabWindow(tabId: number) {
17 | chrome.devtools.inspectedWindow.eval(`
18 | try {
19 | if (!window.postStorage) {
20 | window.postStorage = (storage) => {
21 | try {
22 | window.postMessage({
23 | from: 'tab_storage_editor',
24 | message: 'storage',
25 | data: storage == localStorage ? 'local' : 'session'
26 | }, '*')
27 | } catch (e) {
28 |
29 | }
30 | }
31 | const _setItem = Storage.prototype.setItem;
32 | Storage.prototype.setItem = function(keyName, keyValue) {
33 | postStorage(this)
34 | return _setItem.call(this, keyName, keyValue)
35 | }
36 | window.addEventListener('message', function({ data }) {
37 | if (data && data.from === '__content_script_storage_editor') {
38 | switch(data.message) {
39 | case 'listen':
40 | window.addEventListener('storage', (e) => {
41 | postStorage(e.storageArea)
42 | }
43 | )
44 | }
45 | }
46 | });
47 | }
48 | postStorage(localStorage)
49 | postStorage(sessionStorage)
50 | } catch (e) {
51 |
52 | }
53 | `)
54 |
55 | chrome.tabs.sendMessage(tabId,
56 | { from: '__devtools_storage_editor', message: 'listen' },
57 | function(response) {
58 | });
59 | }
60 |
61 | chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
62 | // Messages from content scripts should have sender.tab set
63 | if (sender.tab && sender.tab.active
64 | && chrome.devtools.inspectedWindow.tabId == sender.tab.id
65 | && panelWindow) {
66 | panelWindow[chrome.devtools.inspectedWindow.tabId].postMessage({ ...request, from: '__devtools_storage_editor'});
67 | sendResponse({
68 | result: 'success'
69 | })
70 | }
71 | });
72 |
73 | function panelListener(tabId: number) {
74 | return async function({ data }: { data: any}) {
75 | chrome.tabs.sendMessage(tabId,
76 | { from: '__devtools_storage_editor', ...data },
77 | function(response) {
78 | });
79 | }
80 | }
81 |
82 | chrome.tabs.onUpdated.addListener((tabId, change) => {
83 | if (change.status != 'complete') return;
84 | initTabWindow(tabId);
85 | })
86 |
87 | // Create a connection to the background service worker
88 | const backgroundPageConnection = chrome.runtime.connect({
89 | name: "devtools-page"
90 | });
91 |
92 | // Relay the tab ID to the background service worker
93 | backgroundPageConnection.postMessage({
94 | name: 'init',
95 | tabId: chrome.devtools.inspectedWindow.tabId
96 | });
97 |
98 | export {};
--------------------------------------------------------------------------------
/src/panel/components/edit.vue:
--------------------------------------------------------------------------------
1 |
52 |
53 |
54 |
62 |
63 |
64 |
65 |
66 | Edit
67 |
68 |
75 |
76 |
77 | {{ getNodeKey(nodeData) }}
78 |
79 |
80 |
81 |
82 | Cancel
83 |
84 |
85 | Save
86 |
87 |
88 |
89 |
90 |
91 | {{ error }}
92 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/src/panel/themes/app.scss:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: var(--el-bg-color);
3 | font-family: "Roboto Mono", Menlo, Consolas, monospace;
4 | margin: 0;
5 | padding: 5px 0;
6 | height: calc(100% - 10px);
7 | }
8 | @media (prefers-color-scheme: dark) {
9 | body {
10 | background-color: #0b1015;
11 | }
12 | }
13 | #app, html {
14 | height: 100%;
15 | }
16 | html#popup {
17 | height: auto;
18 | #app {
19 | height: auto;
20 | }
21 | }
22 | img#preload {
23 | width: 128px;
24 | height: 128px;
25 | position: absolute;
26 | top: 0;
27 | left: 0;
28 | bottom: 0;
29 | right: 0;
30 | margin: auto;
31 | }
32 | html.dark, html, :root {
33 | --el-color-primary: #42b983;
34 | .el-dialog {
35 | --el-dialog-padding-primary: 10px;
36 | display: flex;
37 | flex-direction: column;
38 | }
39 | .el-dialog__body {
40 | padding: var(--el-dialog-padding-primary);
41 | height: 100%;
42 | overflow: auto;
43 | }
44 | .el-tree {
45 | --el-tree-node-hover-bg-color: transparent;
46 | }
47 | }
48 | * {
49 | font-family: inherit;
50 | }
51 | .el-input__inner {
52 | color: inherit;
53 | }
54 | .el-tabs__header {
55 | margin: 0;
56 | }
57 | .el-tabs--card>.el-tabs__header {
58 | .el-tabs__item {
59 | background-color: rgba($color: #aaa, $alpha: .2);
60 | border-bottom: 1px solid var(--el-border-color-light);
61 | &.is-active {
62 | background-color: transparent;
63 | border-bottom: 1px solid #FFF;
64 | }
65 | &:first-child {
66 | border-left: none;
67 | }
68 | }
69 | }
70 | .el-tabs {
71 | height: 100%;
72 | display: flex;
73 | flex-direction: column;
74 | }
75 | .el-tabs__nav-scroll {
76 | padding-left: 50px;
77 | }
78 | .el-tabs__content {
79 | overflow: auto;
80 | flex: 1;
81 | padding: 2px;
82 | }
83 | .el-tabs__item {
84 | font-weight: bold;
85 | }
86 | .el-message {
87 | .el-message__content {
88 | white-space: nowrap;
89 | }
90 | }
91 | ::-webkit-scrollbar-track-piece {
92 | background: 0 0;
93 | }
94 | ::-webkit-scrollbar-thumb {
95 | background-color: #b6c6ce;
96 | border: 3px solid transparent;
97 | background-clip: padding-box;
98 | border-radius: 5px;
99 | }
100 | ::-webkit-scrollbar {
101 | width: 10px;
102 | height: 10px;
103 | }
104 | .el-button--primary {
105 | .is-link,
106 | .is-plain,
107 | .is-text {
108 | color: inherit;
109 | margin: 0 2px;
110 | }
111 | }
112 | .el-button.is-link:not(.is-disabled) {
113 | color: #2c3e50;
114 | margin-left: 5px;
115 | &:focus,
116 | &:hover {
117 | color: #2c3e50;
118 | background-color: #e8faf2;
119 | }
120 | }
121 | .value {
122 | color: #bdc6cf;
123 | }
124 | .data-boolean {
125 | display: inline-block;
126 | width: 3em;
127 | }
128 | .data-boolean, .data-number {
129 | color: #03c;
130 | }
131 | .data-string {
132 | color: #c41a16;
133 | }
134 | .data-null {
135 | color: #999;
136 | }
137 | .dark {
138 | --el-bg-color: #0b1015;
139 | ::-webkit-scrollbar-thumb {
140 | background-color: #2c3e50;
141 | }
142 | .el-button.is-link {
143 | color: #fff;
144 | &:focus,
145 | &:hover {
146 | color: #fff;
147 | background: #4e6e8e;
148 | }
149 | }
150 | .data-boolean, .data-number {
151 | color: #997fff;
152 | }
153 | .data-string {
154 | color: #e33e3a;
155 | }
156 | .el-tabs--card>.el-tabs__header {
157 | .el-tabs__item {
158 | background-color: rgba($color: #666, $alpha: .2);
159 | &.is-active {
160 | background-color: transparent;
161 | border-bottom: 1px solid var(--el-bg-color);
162 | }
163 | &:first-child {
164 | border-left: none;
165 | }
166 | }
167 | }
168 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/src/panel/views/DevTool.vue:
--------------------------------------------------------------------------------
1 |
252 |
253 |
254 |
268 |
272 |
273 |
274 |
284 |
285 |
286 | {{ data.key }}
287 | e.stopPropagation()"
291 | @keydown.esc="cancel(data)"
292 | @keydown.enter="confirm(data)"
293 | v-model="editKey[data.path]"
294 | v-if="!isArray(data.parent) && editPath[data.path]"
295 | size="small"
296 | />
297 | :
298 | {{ data.type }}
299 |
300 | "{{ data.data }}"
301 | {{ data.data }}
302 | {{ data.data }}
303 | null
304 | undefined
305 | {{ data.data }}
306 |
307 | e.stopPropagation()"
311 | @keydown.esc="cancel(data)"
312 | @keydown.enter="confirm(data)"
313 | v-if="editPath[data.path]"
314 | size="small"
315 | />
316 | e.stopPropagation()">
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 | e.stopPropagation()">
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@crxjs/vite-plugin': ^1.0.12
5 | '@element-plus/icons-vue': ^2.0.6
6 | '@fortawesome/fontawesome-svg-core': ^6.3.0
7 | '@fortawesome/free-regular-svg-icons': ^6.4.0
8 | '@fortawesome/free-solid-svg-icons': ^6.3.0
9 | '@fortawesome/vue-fontawesome': ^3.0.3
10 | '@types/chrome': ^0.0.212
11 | '@vitejs/plugin-vue': ^2.3.3
12 | '@vueuse/core': ^9.12.0
13 | element-plus: ^2.2.9
14 | sass: ^1.58.0
15 | typescript: ^4.7.4
16 | vite: ^2.9.14
17 | vue: ^3.2.37
18 | vue-router: ^4.1.6
19 | vue-tsc: ^0.38.5
20 |
21 | dependencies:
22 | '@element-plus/icons-vue': 2.0.10_vue@3.2.47
23 | '@fortawesome/fontawesome-svg-core': 6.3.0
24 | '@fortawesome/free-regular-svg-icons': 6.4.0
25 | '@fortawesome/free-solid-svg-icons': 6.3.0
26 | '@fortawesome/vue-fontawesome': 3.0.3_g53m6cvcbg5vm4kvi53csl4bcu
27 | '@vueuse/core': 9.12.0_vue@3.2.47
28 | element-plus: 2.2.29_vue@3.2.47
29 | vue: 3.2.47
30 | vue-router: 4.1.6_vue@3.2.47
31 |
32 | devDependencies:
33 | '@crxjs/vite-plugin': 1.0.14_vite@2.9.15
34 | '@types/chrome': 0.0.212
35 | '@vitejs/plugin-vue': 2.3.4_vite@2.9.15+vue@3.2.47
36 | sass: 1.58.0
37 | typescript: 4.9.5
38 | vite: 2.9.15_sass@1.58.0
39 | vue-tsc: 0.38.9_typescript@4.9.5
40 |
41 | packages:
42 |
43 | /@ampproject/remapping/2.2.0:
44 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
45 | engines: {node: '>=6.0.0'}
46 | dependencies:
47 | '@jridgewell/gen-mapping': 0.1.1
48 | '@jridgewell/trace-mapping': 0.3.17
49 | dev: true
50 | optional: true
51 |
52 | /@babel/code-frame/7.18.6:
53 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
54 | engines: {node: '>=6.9.0'}
55 | dependencies:
56 | '@babel/highlight': 7.18.6
57 | dev: true
58 | optional: true
59 |
60 | /@babel/compat-data/7.20.14:
61 | resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==}
62 | engines: {node: '>=6.9.0'}
63 | dev: true
64 | optional: true
65 |
66 | /@babel/core/7.20.12:
67 | resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
68 | engines: {node: '>=6.9.0'}
69 | dependencies:
70 | '@ampproject/remapping': 2.2.0
71 | '@babel/code-frame': 7.18.6
72 | '@babel/generator': 7.20.14
73 | '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
74 | '@babel/helper-module-transforms': 7.20.11
75 | '@babel/helpers': 7.20.13
76 | '@babel/parser': 7.20.15
77 | '@babel/template': 7.20.7
78 | '@babel/traverse': 7.20.13
79 | '@babel/types': 7.20.7
80 | convert-source-map: 1.9.0
81 | debug: 4.3.4
82 | gensync: 1.0.0-beta.2
83 | json5: 2.2.3
84 | semver: 6.3.0
85 | transitivePeerDependencies:
86 | - supports-color
87 | dev: true
88 | optional: true
89 |
90 | /@babel/generator/7.20.14:
91 | resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==}
92 | engines: {node: '>=6.9.0'}
93 | dependencies:
94 | '@babel/types': 7.20.7
95 | '@jridgewell/gen-mapping': 0.3.2
96 | jsesc: 2.5.2
97 | dev: true
98 | optional: true
99 |
100 | /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
101 | resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
102 | engines: {node: '>=6.9.0'}
103 | peerDependencies:
104 | '@babel/core': ^7.0.0
105 | dependencies:
106 | '@babel/compat-data': 7.20.14
107 | '@babel/core': 7.20.12
108 | '@babel/helper-validator-option': 7.18.6
109 | browserslist: 4.21.5
110 | lru-cache: 5.1.1
111 | semver: 6.3.0
112 | dev: true
113 | optional: true
114 |
115 | /@babel/helper-environment-visitor/7.18.9:
116 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
117 | engines: {node: '>=6.9.0'}
118 | dev: true
119 | optional: true
120 |
121 | /@babel/helper-function-name/7.19.0:
122 | resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
123 | engines: {node: '>=6.9.0'}
124 | dependencies:
125 | '@babel/template': 7.20.7
126 | '@babel/types': 7.20.7
127 | dev: true
128 | optional: true
129 |
130 | /@babel/helper-hoist-variables/7.18.6:
131 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
132 | engines: {node: '>=6.9.0'}
133 | dependencies:
134 | '@babel/types': 7.20.7
135 | dev: true
136 | optional: true
137 |
138 | /@babel/helper-module-imports/7.18.6:
139 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
140 | engines: {node: '>=6.9.0'}
141 | dependencies:
142 | '@babel/types': 7.20.7
143 | dev: true
144 | optional: true
145 |
146 | /@babel/helper-module-transforms/7.20.11:
147 | resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
148 | engines: {node: '>=6.9.0'}
149 | dependencies:
150 | '@babel/helper-environment-visitor': 7.18.9
151 | '@babel/helper-module-imports': 7.18.6
152 | '@babel/helper-simple-access': 7.20.2
153 | '@babel/helper-split-export-declaration': 7.18.6
154 | '@babel/helper-validator-identifier': 7.19.1
155 | '@babel/template': 7.20.7
156 | '@babel/traverse': 7.20.13
157 | '@babel/types': 7.20.7
158 | transitivePeerDependencies:
159 | - supports-color
160 | dev: true
161 | optional: true
162 |
163 | /@babel/helper-plugin-utils/7.20.2:
164 | resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
165 | engines: {node: '>=6.9.0'}
166 | dev: true
167 | optional: true
168 |
169 | /@babel/helper-simple-access/7.20.2:
170 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
171 | engines: {node: '>=6.9.0'}
172 | dependencies:
173 | '@babel/types': 7.20.7
174 | dev: true
175 | optional: true
176 |
177 | /@babel/helper-split-export-declaration/7.18.6:
178 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
179 | engines: {node: '>=6.9.0'}
180 | dependencies:
181 | '@babel/types': 7.20.7
182 | dev: true
183 | optional: true
184 |
185 | /@babel/helper-string-parser/7.19.4:
186 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
187 | engines: {node: '>=6.9.0'}
188 |
189 | /@babel/helper-validator-identifier/7.19.1:
190 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
191 | engines: {node: '>=6.9.0'}
192 |
193 | /@babel/helper-validator-option/7.18.6:
194 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
195 | engines: {node: '>=6.9.0'}
196 | dev: true
197 | optional: true
198 |
199 | /@babel/helpers/7.20.13:
200 | resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==}
201 | engines: {node: '>=6.9.0'}
202 | dependencies:
203 | '@babel/template': 7.20.7
204 | '@babel/traverse': 7.20.13
205 | '@babel/types': 7.20.7
206 | transitivePeerDependencies:
207 | - supports-color
208 | dev: true
209 | optional: true
210 |
211 | /@babel/highlight/7.18.6:
212 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
213 | engines: {node: '>=6.9.0'}
214 | dependencies:
215 | '@babel/helper-validator-identifier': 7.19.1
216 | chalk: 2.4.2
217 | js-tokens: 4.0.0
218 | dev: true
219 | optional: true
220 |
221 | /@babel/parser/7.20.15:
222 | resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==}
223 | engines: {node: '>=6.0.0'}
224 | hasBin: true
225 | dependencies:
226 | '@babel/types': 7.20.7
227 |
228 | /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.12:
229 | resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==}
230 | engines: {node: '>=6.9.0'}
231 | peerDependencies:
232 | '@babel/core': ^7.0.0-0
233 | dependencies:
234 | '@babel/core': 7.20.12
235 | '@babel/helper-plugin-utils': 7.20.2
236 | dev: true
237 | optional: true
238 |
239 | /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.12:
240 | resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
241 | engines: {node: '>=6.9.0'}
242 | peerDependencies:
243 | '@babel/core': ^7.0.0-0
244 | dependencies:
245 | '@babel/core': 7.20.12
246 | '@babel/helper-plugin-utils': 7.20.2
247 | dev: true
248 | optional: true
249 |
250 | /@babel/template/7.20.7:
251 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
252 | engines: {node: '>=6.9.0'}
253 | dependencies:
254 | '@babel/code-frame': 7.18.6
255 | '@babel/parser': 7.20.15
256 | '@babel/types': 7.20.7
257 | dev: true
258 | optional: true
259 |
260 | /@babel/traverse/7.20.13:
261 | resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==}
262 | engines: {node: '>=6.9.0'}
263 | dependencies:
264 | '@babel/code-frame': 7.18.6
265 | '@babel/generator': 7.20.14
266 | '@babel/helper-environment-visitor': 7.18.9
267 | '@babel/helper-function-name': 7.19.0
268 | '@babel/helper-hoist-variables': 7.18.6
269 | '@babel/helper-split-export-declaration': 7.18.6
270 | '@babel/parser': 7.20.15
271 | '@babel/types': 7.20.7
272 | debug: 4.3.4
273 | globals: 11.12.0
274 | transitivePeerDependencies:
275 | - supports-color
276 | dev: true
277 | optional: true
278 |
279 | /@babel/types/7.20.7:
280 | resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
281 | engines: {node: '>=6.9.0'}
282 | dependencies:
283 | '@babel/helper-string-parser': 7.19.4
284 | '@babel/helper-validator-identifier': 7.19.1
285 | to-fast-properties: 2.0.0
286 |
287 | /@crxjs/vite-plugin/1.0.14_vite@2.9.15:
288 | resolution: {integrity: sha512-emOueVCqFRFmpcfT80Xsm4mfuFw9VSp5GY4eh5qeLDeiP81g0hddlobVQCo0pE2ZvNnWbyhLrXEYAaMAXjNL6A==}
289 | engines: {node: '>=14'}
290 | peerDependencies:
291 | vite: ^2.9.0
292 | dependencies:
293 | '@rollup/pluginutils': 4.2.1
294 | '@webcomponents/custom-elements': 1.5.1
295 | acorn-walk: 8.2.0
296 | cheerio: 1.0.0-rc.12
297 | connect-injector: 0.4.4
298 | debug: 4.3.4
299 | es-module-lexer: 0.10.5
300 | fast-glob: 3.2.12
301 | fs-extra: 10.1.0
302 | jsesc: 3.0.2
303 | magic-string: 0.26.7
304 | picocolors: 1.0.0
305 | react-refresh: 0.13.0
306 | rollup: 2.79.1
307 | vite: 2.9.15_sass@1.58.0
308 | optionalDependencies:
309 | '@vitejs/plugin-react': 3.1.0_vite@2.9.15
310 | transitivePeerDependencies:
311 | - supports-color
312 | dev: true
313 |
314 | /@ctrl/tinycolor/3.5.0:
315 | resolution: {integrity: sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==}
316 | engines: {node: '>=10'}
317 | dev: false
318 |
319 | /@element-plus/icons-vue/2.0.10_vue@3.2.47:
320 | resolution: {integrity: sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==}
321 | peerDependencies:
322 | vue: ^3.2.0
323 | dependencies:
324 | vue: 3.2.47
325 | dev: false
326 |
327 | /@esbuild/linux-loong64/0.14.54:
328 | resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
329 | engines: {node: '>=12'}
330 | cpu: [loong64]
331 | os: [linux]
332 | requiresBuild: true
333 | dev: true
334 | optional: true
335 |
336 | /@floating-ui/core/1.2.0:
337 | resolution: {integrity: sha512-GHUXPEhMEmTpnpIfesFA2KAoMJPb1SPQw964tToQwt+BbGXdhqTCWT1rOb0VURGylsxsYxiGMnseJ3IlclVpVA==}
338 | dev: false
339 |
340 | /@floating-ui/dom/1.2.0:
341 | resolution: {integrity: sha512-QXzg57o1cjLz3cGETzKXjI3kx1xyS49DW9l7kV2jw2c8Yftd434t2hllX0sVGn2Q8MtcW/4pNm8bfE1/4n6mng==}
342 | dependencies:
343 | '@floating-ui/core': 1.2.0
344 | dev: false
345 |
346 | /@fortawesome/fontawesome-common-types/6.3.0:
347 | resolution: {integrity: sha512-4BC1NMoacEBzSXRwKjZ/X/gmnbp/HU5Qqat7E8xqorUtBFZS+bwfGH5/wqOC2K6GV0rgEobp3OjGRMa5fK9pFg==}
348 | engines: {node: '>=6'}
349 | requiresBuild: true
350 | dev: false
351 |
352 | /@fortawesome/fontawesome-common-types/6.4.0:
353 | resolution: {integrity: sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==}
354 | engines: {node: '>=6'}
355 | requiresBuild: true
356 | dev: false
357 |
358 | /@fortawesome/fontawesome-svg-core/6.3.0:
359 | resolution: {integrity: sha512-uz9YifyKlixV6AcKlOX8WNdtF7l6nakGyLYxYaCa823bEBqyj/U2ssqtctO38itNEwXb8/lMzjdoJ+aaJuOdrw==}
360 | engines: {node: '>=6'}
361 | requiresBuild: true
362 | dependencies:
363 | '@fortawesome/fontawesome-common-types': 6.3.0
364 | dev: false
365 |
366 | /@fortawesome/free-regular-svg-icons/6.4.0:
367 | resolution: {integrity: sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==}
368 | engines: {node: '>=6'}
369 | requiresBuild: true
370 | dependencies:
371 | '@fortawesome/fontawesome-common-types': 6.4.0
372 | dev: false
373 |
374 | /@fortawesome/free-solid-svg-icons/6.3.0:
375 | resolution: {integrity: sha512-x5tMwzF2lTH8pyv8yeZRodItP2IVlzzmBuD1M7BjawWgg9XAvktqJJ91Qjgoaf8qJpHQ8FEU9VxRfOkLhh86QA==}
376 | engines: {node: '>=6'}
377 | requiresBuild: true
378 | dependencies:
379 | '@fortawesome/fontawesome-common-types': 6.3.0
380 | dev: false
381 |
382 | /@fortawesome/vue-fontawesome/3.0.3_g53m6cvcbg5vm4kvi53csl4bcu:
383 | resolution: {integrity: sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA==}
384 | peerDependencies:
385 | '@fortawesome/fontawesome-svg-core': ~1 || ~6
386 | vue: '>= 3.0.0 < 4'
387 | dependencies:
388 | '@fortawesome/fontawesome-svg-core': 6.3.0
389 | vue: 3.2.47
390 | dev: false
391 |
392 | /@jridgewell/gen-mapping/0.1.1:
393 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
394 | engines: {node: '>=6.0.0'}
395 | dependencies:
396 | '@jridgewell/set-array': 1.1.2
397 | '@jridgewell/sourcemap-codec': 1.4.14
398 | dev: true
399 | optional: true
400 |
401 | /@jridgewell/gen-mapping/0.3.2:
402 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
403 | engines: {node: '>=6.0.0'}
404 | dependencies:
405 | '@jridgewell/set-array': 1.1.2
406 | '@jridgewell/sourcemap-codec': 1.4.14
407 | '@jridgewell/trace-mapping': 0.3.17
408 | dev: true
409 | optional: true
410 |
411 | /@jridgewell/resolve-uri/3.1.0:
412 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
413 | engines: {node: '>=6.0.0'}
414 | dev: true
415 | optional: true
416 |
417 | /@jridgewell/set-array/1.1.2:
418 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
419 | engines: {node: '>=6.0.0'}
420 | dev: true
421 | optional: true
422 |
423 | /@jridgewell/sourcemap-codec/1.4.14:
424 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
425 | dev: true
426 | optional: true
427 |
428 | /@jridgewell/trace-mapping/0.3.17:
429 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
430 | dependencies:
431 | '@jridgewell/resolve-uri': 3.1.0
432 | '@jridgewell/sourcemap-codec': 1.4.14
433 | dev: true
434 | optional: true
435 |
436 | /@nodelib/fs.scandir/2.1.5:
437 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
438 | engines: {node: '>= 8'}
439 | dependencies:
440 | '@nodelib/fs.stat': 2.0.5
441 | run-parallel: 1.2.0
442 | dev: true
443 |
444 | /@nodelib/fs.stat/2.0.5:
445 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
446 | engines: {node: '>= 8'}
447 | dev: true
448 |
449 | /@nodelib/fs.walk/1.2.8:
450 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
451 | engines: {node: '>= 8'}
452 | dependencies:
453 | '@nodelib/fs.scandir': 2.1.5
454 | fastq: 1.15.0
455 | dev: true
456 |
457 | /@rollup/pluginutils/4.2.1:
458 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
459 | engines: {node: '>= 8.0.0'}
460 | dependencies:
461 | estree-walker: 2.0.2
462 | picomatch: 2.3.1
463 | dev: true
464 |
465 | /@sxzz/popperjs-es/2.11.7:
466 | resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
467 | dev: false
468 |
469 | /@types/chrome/0.0.212:
470 | resolution: {integrity: sha512-O9blKfj6mQyBvkexEa71xcpRfkjAu8izQD3qGYfdwffk+mJhF7eogz628bZr5dETT6Eu7vU0stUGYG/+EQWj9g==}
471 | dependencies:
472 | '@types/filesystem': 0.0.32
473 | '@types/har-format': 1.2.10
474 | dev: true
475 |
476 | /@types/filesystem/0.0.32:
477 | resolution: {integrity: sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==}
478 | dependencies:
479 | '@types/filewriter': 0.0.29
480 | dev: true
481 |
482 | /@types/filewriter/0.0.29:
483 | resolution: {integrity: sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==}
484 | dev: true
485 |
486 | /@types/har-format/1.2.10:
487 | resolution: {integrity: sha512-o0J30wqycjF5miWDKYKKzzOU1ZTLuA42HZ4HE7/zqTOc/jTLdQ5NhYWvsRQo45Nfi1KHoRdNhteSI4BAxTF1Pg==}
488 | dev: true
489 |
490 | /@types/lodash-es/4.17.6:
491 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==}
492 | dependencies:
493 | '@types/lodash': 4.14.191
494 | dev: false
495 |
496 | /@types/lodash/4.14.191:
497 | resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
498 | dev: false
499 |
500 | /@types/web-bluetooth/0.0.16:
501 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
502 | dev: false
503 |
504 | /@vitejs/plugin-react/3.1.0_vite@2.9.15:
505 | resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==}
506 | engines: {node: ^14.18.0 || >=16.0.0}
507 | requiresBuild: true
508 | peerDependencies:
509 | vite: ^4.1.0-beta.0
510 | dependencies:
511 | '@babel/core': 7.20.12
512 | '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.12
513 | '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12
514 | magic-string: 0.27.0
515 | react-refresh: 0.14.0
516 | vite: 2.9.15_sass@1.58.0
517 | transitivePeerDependencies:
518 | - supports-color
519 | dev: true
520 | optional: true
521 |
522 | /@vitejs/plugin-vue/2.3.4_vite@2.9.15+vue@3.2.47:
523 | resolution: {integrity: sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==}
524 | engines: {node: '>=12.0.0'}
525 | peerDependencies:
526 | vite: ^2.5.10
527 | vue: ^3.2.25
528 | dependencies:
529 | vite: 2.9.15_sass@1.58.0
530 | vue: 3.2.47
531 | dev: true
532 |
533 | /@volar/code-gen/0.38.9:
534 | resolution: {integrity: sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==}
535 | dependencies:
536 | '@volar/source-map': 0.38.9
537 | dev: true
538 |
539 | /@volar/source-map/0.38.9:
540 | resolution: {integrity: sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==}
541 | dev: true
542 |
543 | /@volar/vue-code-gen/0.38.9:
544 | resolution: {integrity: sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==}
545 | dependencies:
546 | '@volar/code-gen': 0.38.9
547 | '@volar/source-map': 0.38.9
548 | '@vue/compiler-core': 3.2.47
549 | '@vue/compiler-dom': 3.2.47
550 | '@vue/shared': 3.2.47
551 | dev: true
552 |
553 | /@volar/vue-typescript/0.38.9:
554 | resolution: {integrity: sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==}
555 | dependencies:
556 | '@volar/code-gen': 0.38.9
557 | '@volar/source-map': 0.38.9
558 | '@volar/vue-code-gen': 0.38.9
559 | '@vue/compiler-sfc': 3.2.47
560 | '@vue/reactivity': 3.2.47
561 | dev: true
562 |
563 | /@vue/compiler-core/3.2.47:
564 | resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
565 | dependencies:
566 | '@babel/parser': 7.20.15
567 | '@vue/shared': 3.2.47
568 | estree-walker: 2.0.2
569 | source-map: 0.6.1
570 |
571 | /@vue/compiler-dom/3.2.47:
572 | resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
573 | dependencies:
574 | '@vue/compiler-core': 3.2.47
575 | '@vue/shared': 3.2.47
576 |
577 | /@vue/compiler-sfc/3.2.47:
578 | resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
579 | dependencies:
580 | '@babel/parser': 7.20.15
581 | '@vue/compiler-core': 3.2.47
582 | '@vue/compiler-dom': 3.2.47
583 | '@vue/compiler-ssr': 3.2.47
584 | '@vue/reactivity-transform': 3.2.47
585 | '@vue/shared': 3.2.47
586 | estree-walker: 2.0.2
587 | magic-string: 0.25.9
588 | postcss: 8.4.21
589 | source-map: 0.6.1
590 |
591 | /@vue/compiler-ssr/3.2.47:
592 | resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
593 | dependencies:
594 | '@vue/compiler-dom': 3.2.47
595 | '@vue/shared': 3.2.47
596 |
597 | /@vue/devtools-api/6.5.0:
598 | resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
599 | dev: false
600 |
601 | /@vue/reactivity-transform/3.2.47:
602 | resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
603 | dependencies:
604 | '@babel/parser': 7.20.15
605 | '@vue/compiler-core': 3.2.47
606 | '@vue/shared': 3.2.47
607 | estree-walker: 2.0.2
608 | magic-string: 0.25.9
609 |
610 | /@vue/reactivity/3.2.47:
611 | resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
612 | dependencies:
613 | '@vue/shared': 3.2.47
614 |
615 | /@vue/runtime-core/3.2.47:
616 | resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==}
617 | dependencies:
618 | '@vue/reactivity': 3.2.47
619 | '@vue/shared': 3.2.47
620 |
621 | /@vue/runtime-dom/3.2.47:
622 | resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==}
623 | dependencies:
624 | '@vue/runtime-core': 3.2.47
625 | '@vue/shared': 3.2.47
626 | csstype: 2.6.21
627 |
628 | /@vue/server-renderer/3.2.47_vue@3.2.47:
629 | resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==}
630 | peerDependencies:
631 | vue: 3.2.47
632 | dependencies:
633 | '@vue/compiler-ssr': 3.2.47
634 | '@vue/shared': 3.2.47
635 | vue: 3.2.47
636 |
637 | /@vue/shared/3.2.47:
638 | resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
639 |
640 | /@vueuse/core/9.12.0_vue@3.2.47:
641 | resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==}
642 | dependencies:
643 | '@types/web-bluetooth': 0.0.16
644 | '@vueuse/metadata': 9.12.0
645 | '@vueuse/shared': 9.12.0_vue@3.2.47
646 | vue-demi: 0.13.11_vue@3.2.47
647 | transitivePeerDependencies:
648 | - '@vue/composition-api'
649 | - vue
650 | dev: false
651 |
652 | /@vueuse/metadata/9.12.0:
653 | resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==}
654 | dev: false
655 |
656 | /@vueuse/shared/9.12.0_vue@3.2.47:
657 | resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==}
658 | dependencies:
659 | vue-demi: 0.13.11_vue@3.2.47
660 | transitivePeerDependencies:
661 | - '@vue/composition-api'
662 | - vue
663 | dev: false
664 |
665 | /@webcomponents/custom-elements/1.5.1:
666 | resolution: {integrity: sha512-6T/XT3S1UHDlRWFSxRXdeSoYWczEl78sygNPS7jDyHVrfZcF/pUtWGYgxF4uviH59iPVw1eOWbhubm8CqO0MpA==}
667 | dev: true
668 |
669 | /acorn-walk/8.2.0:
670 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
671 | engines: {node: '>=0.4.0'}
672 | dev: true
673 |
674 | /ansi-styles/3.2.1:
675 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
676 | engines: {node: '>=4'}
677 | dependencies:
678 | color-convert: 1.9.3
679 | dev: true
680 | optional: true
681 |
682 | /anymatch/3.1.3:
683 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
684 | engines: {node: '>= 8'}
685 | dependencies:
686 | normalize-path: 3.0.0
687 | picomatch: 2.3.1
688 | dev: true
689 |
690 | /async-validator/4.2.5:
691 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
692 | dev: false
693 |
694 | /binary-extensions/2.2.0:
695 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
696 | engines: {node: '>=8'}
697 | dev: true
698 |
699 | /boolbase/1.0.0:
700 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
701 | dev: true
702 |
703 | /braces/3.0.2:
704 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
705 | engines: {node: '>=8'}
706 | dependencies:
707 | fill-range: 7.0.1
708 | dev: true
709 |
710 | /browserslist/4.21.5:
711 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
712 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
713 | hasBin: true
714 | dependencies:
715 | caniuse-lite: 1.0.30001450
716 | electron-to-chromium: 1.4.286
717 | node-releases: 2.0.10
718 | update-browserslist-db: 1.0.10_browserslist@4.21.5
719 | dev: true
720 | optional: true
721 |
722 | /caniuse-lite/1.0.30001450:
723 | resolution: {integrity: sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==}
724 | dev: true
725 | optional: true
726 |
727 | /chalk/2.4.2:
728 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
729 | engines: {node: '>=4'}
730 | dependencies:
731 | ansi-styles: 3.2.1
732 | escape-string-regexp: 1.0.5
733 | supports-color: 5.5.0
734 | dev: true
735 | optional: true
736 |
737 | /cheerio-select/2.1.0:
738 | resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
739 | dependencies:
740 | boolbase: 1.0.0
741 | css-select: 5.1.0
742 | css-what: 6.1.0
743 | domelementtype: 2.3.0
744 | domhandler: 5.0.3
745 | domutils: 3.0.1
746 | dev: true
747 |
748 | /cheerio/1.0.0-rc.12:
749 | resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
750 | engines: {node: '>= 6'}
751 | dependencies:
752 | cheerio-select: 2.1.0
753 | dom-serializer: 2.0.0
754 | domhandler: 5.0.3
755 | domutils: 3.0.1
756 | htmlparser2: 8.0.1
757 | parse5: 7.1.2
758 | parse5-htmlparser2-tree-adapter: 7.0.0
759 | dev: true
760 |
761 | /chokidar/3.5.3:
762 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
763 | engines: {node: '>= 8.10.0'}
764 | dependencies:
765 | anymatch: 3.1.3
766 | braces: 3.0.2
767 | glob-parent: 5.1.2
768 | is-binary-path: 2.1.0
769 | is-glob: 4.0.3
770 | normalize-path: 3.0.0
771 | readdirp: 3.6.0
772 | optionalDependencies:
773 | fsevents: 2.3.2
774 | dev: true
775 |
776 | /color-convert/1.9.3:
777 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
778 | dependencies:
779 | color-name: 1.1.3
780 | dev: true
781 | optional: true
782 |
783 | /color-name/1.1.3:
784 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
785 | dev: true
786 | optional: true
787 |
788 | /connect-injector/0.4.4:
789 | resolution: {integrity: sha512-hdBG8nXop42y2gWCqOV8y1O3uVk4cIU+SoxLCPyCUKRImyPiScoNiSulpHjoktRU1BdI0UzoUdxUa87thrcmHw==}
790 | engines: {node: '>= 0.8.0'}
791 | dependencies:
792 | debug: 2.6.9
793 | q: 1.5.1
794 | stream-buffers: 0.2.6
795 | uberproto: 1.2.0
796 | transitivePeerDependencies:
797 | - supports-color
798 | dev: true
799 |
800 | /convert-source-map/1.9.0:
801 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
802 | dev: true
803 | optional: true
804 |
805 | /css-select/5.1.0:
806 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
807 | dependencies:
808 | boolbase: 1.0.0
809 | css-what: 6.1.0
810 | domhandler: 5.0.3
811 | domutils: 3.0.1
812 | nth-check: 2.1.1
813 | dev: true
814 |
815 | /css-what/6.1.0:
816 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
817 | engines: {node: '>= 6'}
818 | dev: true
819 |
820 | /csstype/2.6.21:
821 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
822 |
823 | /dayjs/1.11.7:
824 | resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
825 | dev: false
826 |
827 | /debug/2.6.9:
828 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
829 | peerDependencies:
830 | supports-color: '*'
831 | peerDependenciesMeta:
832 | supports-color:
833 | optional: true
834 | dependencies:
835 | ms: 2.0.0
836 | dev: true
837 |
838 | /debug/4.3.4:
839 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
840 | engines: {node: '>=6.0'}
841 | peerDependencies:
842 | supports-color: '*'
843 | peerDependenciesMeta:
844 | supports-color:
845 | optional: true
846 | dependencies:
847 | ms: 2.1.2
848 | dev: true
849 |
850 | /dom-serializer/2.0.0:
851 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
852 | dependencies:
853 | domelementtype: 2.3.0
854 | domhandler: 5.0.3
855 | entities: 4.4.0
856 | dev: true
857 |
858 | /domelementtype/2.3.0:
859 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
860 | dev: true
861 |
862 | /domhandler/5.0.3:
863 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
864 | engines: {node: '>= 4'}
865 | dependencies:
866 | domelementtype: 2.3.0
867 | dev: true
868 |
869 | /domutils/3.0.1:
870 | resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
871 | dependencies:
872 | dom-serializer: 2.0.0
873 | domelementtype: 2.3.0
874 | domhandler: 5.0.3
875 | dev: true
876 |
877 | /electron-to-chromium/1.4.286:
878 | resolution: {integrity: sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==}
879 | dev: true
880 | optional: true
881 |
882 | /element-plus/2.2.29_vue@3.2.47:
883 | resolution: {integrity: sha512-g4dcrURrKkR5uUX8n5RVnnqGnimoki9HfqS4yHHG6XwCHBkZGozdq4x+478BzeWUe31h++BO+7dakSx4VnM8RQ==}
884 | peerDependencies:
885 | vue: ^3.2.0
886 | dependencies:
887 | '@ctrl/tinycolor': 3.5.0
888 | '@element-plus/icons-vue': 2.0.10_vue@3.2.47
889 | '@floating-ui/dom': 1.2.0
890 | '@popperjs/core': /@sxzz/popperjs-es/2.11.7
891 | '@types/lodash': 4.14.191
892 | '@types/lodash-es': 4.17.6
893 | '@vueuse/core': 9.12.0_vue@3.2.47
894 | async-validator: 4.2.5
895 | dayjs: 1.11.7
896 | escape-html: 1.0.3
897 | lodash: 4.17.21
898 | lodash-es: 4.17.21
899 | lodash-unified: 1.0.3_3ib2ivapxullxkx3xftsimdk7u
900 | memoize-one: 6.0.0
901 | normalize-wheel-es: 1.2.0
902 | vue: 3.2.47
903 | transitivePeerDependencies:
904 | - '@vue/composition-api'
905 | dev: false
906 |
907 | /entities/4.4.0:
908 | resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
909 | engines: {node: '>=0.12'}
910 | dev: true
911 |
912 | /es-module-lexer/0.10.5:
913 | resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==}
914 | dev: true
915 |
916 | /esbuild-android-64/0.14.54:
917 | resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
918 | engines: {node: '>=12'}
919 | cpu: [x64]
920 | os: [android]
921 | requiresBuild: true
922 | dev: true
923 | optional: true
924 |
925 | /esbuild-android-arm64/0.14.54:
926 | resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
927 | engines: {node: '>=12'}
928 | cpu: [arm64]
929 | os: [android]
930 | requiresBuild: true
931 | dev: true
932 | optional: true
933 |
934 | /esbuild-darwin-64/0.14.54:
935 | resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
936 | engines: {node: '>=12'}
937 | cpu: [x64]
938 | os: [darwin]
939 | requiresBuild: true
940 | dev: true
941 | optional: true
942 |
943 | /esbuild-darwin-arm64/0.14.54:
944 | resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
945 | engines: {node: '>=12'}
946 | cpu: [arm64]
947 | os: [darwin]
948 | requiresBuild: true
949 | dev: true
950 | optional: true
951 |
952 | /esbuild-freebsd-64/0.14.54:
953 | resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
954 | engines: {node: '>=12'}
955 | cpu: [x64]
956 | os: [freebsd]
957 | requiresBuild: true
958 | dev: true
959 | optional: true
960 |
961 | /esbuild-freebsd-arm64/0.14.54:
962 | resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
963 | engines: {node: '>=12'}
964 | cpu: [arm64]
965 | os: [freebsd]
966 | requiresBuild: true
967 | dev: true
968 | optional: true
969 |
970 | /esbuild-linux-32/0.14.54:
971 | resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
972 | engines: {node: '>=12'}
973 | cpu: [ia32]
974 | os: [linux]
975 | requiresBuild: true
976 | dev: true
977 | optional: true
978 |
979 | /esbuild-linux-64/0.14.54:
980 | resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
981 | engines: {node: '>=12'}
982 | cpu: [x64]
983 | os: [linux]
984 | requiresBuild: true
985 | dev: true
986 | optional: true
987 |
988 | /esbuild-linux-arm/0.14.54:
989 | resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
990 | engines: {node: '>=12'}
991 | cpu: [arm]
992 | os: [linux]
993 | requiresBuild: true
994 | dev: true
995 | optional: true
996 |
997 | /esbuild-linux-arm64/0.14.54:
998 | resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
999 | engines: {node: '>=12'}
1000 | cpu: [arm64]
1001 | os: [linux]
1002 | requiresBuild: true
1003 | dev: true
1004 | optional: true
1005 |
1006 | /esbuild-linux-mips64le/0.14.54:
1007 | resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
1008 | engines: {node: '>=12'}
1009 | cpu: [mips64el]
1010 | os: [linux]
1011 | requiresBuild: true
1012 | dev: true
1013 | optional: true
1014 |
1015 | /esbuild-linux-ppc64le/0.14.54:
1016 | resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
1017 | engines: {node: '>=12'}
1018 | cpu: [ppc64]
1019 | os: [linux]
1020 | requiresBuild: true
1021 | dev: true
1022 | optional: true
1023 |
1024 | /esbuild-linux-riscv64/0.14.54:
1025 | resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
1026 | engines: {node: '>=12'}
1027 | cpu: [riscv64]
1028 | os: [linux]
1029 | requiresBuild: true
1030 | dev: true
1031 | optional: true
1032 |
1033 | /esbuild-linux-s390x/0.14.54:
1034 | resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
1035 | engines: {node: '>=12'}
1036 | cpu: [s390x]
1037 | os: [linux]
1038 | requiresBuild: true
1039 | dev: true
1040 | optional: true
1041 |
1042 | /esbuild-netbsd-64/0.14.54:
1043 | resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
1044 | engines: {node: '>=12'}
1045 | cpu: [x64]
1046 | os: [netbsd]
1047 | requiresBuild: true
1048 | dev: true
1049 | optional: true
1050 |
1051 | /esbuild-openbsd-64/0.14.54:
1052 | resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
1053 | engines: {node: '>=12'}
1054 | cpu: [x64]
1055 | os: [openbsd]
1056 | requiresBuild: true
1057 | dev: true
1058 | optional: true
1059 |
1060 | /esbuild-sunos-64/0.14.54:
1061 | resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
1062 | engines: {node: '>=12'}
1063 | cpu: [x64]
1064 | os: [sunos]
1065 | requiresBuild: true
1066 | dev: true
1067 | optional: true
1068 |
1069 | /esbuild-windows-32/0.14.54:
1070 | resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
1071 | engines: {node: '>=12'}
1072 | cpu: [ia32]
1073 | os: [win32]
1074 | requiresBuild: true
1075 | dev: true
1076 | optional: true
1077 |
1078 | /esbuild-windows-64/0.14.54:
1079 | resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
1080 | engines: {node: '>=12'}
1081 | cpu: [x64]
1082 | os: [win32]
1083 | requiresBuild: true
1084 | dev: true
1085 | optional: true
1086 |
1087 | /esbuild-windows-arm64/0.14.54:
1088 | resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
1089 | engines: {node: '>=12'}
1090 | cpu: [arm64]
1091 | os: [win32]
1092 | requiresBuild: true
1093 | dev: true
1094 | optional: true
1095 |
1096 | /esbuild/0.14.54:
1097 | resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
1098 | engines: {node: '>=12'}
1099 | hasBin: true
1100 | requiresBuild: true
1101 | optionalDependencies:
1102 | '@esbuild/linux-loong64': 0.14.54
1103 | esbuild-android-64: 0.14.54
1104 | esbuild-android-arm64: 0.14.54
1105 | esbuild-darwin-64: 0.14.54
1106 | esbuild-darwin-arm64: 0.14.54
1107 | esbuild-freebsd-64: 0.14.54
1108 | esbuild-freebsd-arm64: 0.14.54
1109 | esbuild-linux-32: 0.14.54
1110 | esbuild-linux-64: 0.14.54
1111 | esbuild-linux-arm: 0.14.54
1112 | esbuild-linux-arm64: 0.14.54
1113 | esbuild-linux-mips64le: 0.14.54
1114 | esbuild-linux-ppc64le: 0.14.54
1115 | esbuild-linux-riscv64: 0.14.54
1116 | esbuild-linux-s390x: 0.14.54
1117 | esbuild-netbsd-64: 0.14.54
1118 | esbuild-openbsd-64: 0.14.54
1119 | esbuild-sunos-64: 0.14.54
1120 | esbuild-windows-32: 0.14.54
1121 | esbuild-windows-64: 0.14.54
1122 | esbuild-windows-arm64: 0.14.54
1123 | dev: true
1124 |
1125 | /escalade/3.1.1:
1126 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1127 | engines: {node: '>=6'}
1128 | dev: true
1129 | optional: true
1130 |
1131 | /escape-html/1.0.3:
1132 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
1133 | dev: false
1134 |
1135 | /escape-string-regexp/1.0.5:
1136 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1137 | engines: {node: '>=0.8.0'}
1138 | dev: true
1139 | optional: true
1140 |
1141 | /estree-walker/2.0.2:
1142 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1143 |
1144 | /fast-glob/3.2.12:
1145 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1146 | engines: {node: '>=8.6.0'}
1147 | dependencies:
1148 | '@nodelib/fs.stat': 2.0.5
1149 | '@nodelib/fs.walk': 1.2.8
1150 | glob-parent: 5.1.2
1151 | merge2: 1.4.1
1152 | micromatch: 4.0.5
1153 | dev: true
1154 |
1155 | /fastq/1.15.0:
1156 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1157 | dependencies:
1158 | reusify: 1.0.4
1159 | dev: true
1160 |
1161 | /fill-range/7.0.1:
1162 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1163 | engines: {node: '>=8'}
1164 | dependencies:
1165 | to-regex-range: 5.0.1
1166 | dev: true
1167 |
1168 | /fs-extra/10.1.0:
1169 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
1170 | engines: {node: '>=12'}
1171 | dependencies:
1172 | graceful-fs: 4.2.10
1173 | jsonfile: 6.1.0
1174 | universalify: 2.0.0
1175 | dev: true
1176 |
1177 | /fsevents/2.3.2:
1178 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1179 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1180 | os: [darwin]
1181 | requiresBuild: true
1182 | dev: true
1183 | optional: true
1184 |
1185 | /function-bind/1.1.1:
1186 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1187 | dev: true
1188 |
1189 | /gensync/1.0.0-beta.2:
1190 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1191 | engines: {node: '>=6.9.0'}
1192 | dev: true
1193 | optional: true
1194 |
1195 | /glob-parent/5.1.2:
1196 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1197 | engines: {node: '>= 6'}
1198 | dependencies:
1199 | is-glob: 4.0.3
1200 | dev: true
1201 |
1202 | /globals/11.12.0:
1203 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1204 | engines: {node: '>=4'}
1205 | dev: true
1206 | optional: true
1207 |
1208 | /graceful-fs/4.2.10:
1209 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
1210 | dev: true
1211 |
1212 | /has-flag/3.0.0:
1213 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1214 | engines: {node: '>=4'}
1215 | dev: true
1216 | optional: true
1217 |
1218 | /has/1.0.3:
1219 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1220 | engines: {node: '>= 0.4.0'}
1221 | dependencies:
1222 | function-bind: 1.1.1
1223 | dev: true
1224 |
1225 | /htmlparser2/8.0.1:
1226 | resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==}
1227 | dependencies:
1228 | domelementtype: 2.3.0
1229 | domhandler: 5.0.3
1230 | domutils: 3.0.1
1231 | entities: 4.4.0
1232 | dev: true
1233 |
1234 | /immutable/4.2.4:
1235 | resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==}
1236 | dev: true
1237 |
1238 | /is-binary-path/2.1.0:
1239 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1240 | engines: {node: '>=8'}
1241 | dependencies:
1242 | binary-extensions: 2.2.0
1243 | dev: true
1244 |
1245 | /is-core-module/2.11.0:
1246 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1247 | dependencies:
1248 | has: 1.0.3
1249 | dev: true
1250 |
1251 | /is-extglob/2.1.1:
1252 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1253 | engines: {node: '>=0.10.0'}
1254 | dev: true
1255 |
1256 | /is-glob/4.0.3:
1257 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1258 | engines: {node: '>=0.10.0'}
1259 | dependencies:
1260 | is-extglob: 2.1.1
1261 | dev: true
1262 |
1263 | /is-number/7.0.0:
1264 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1265 | engines: {node: '>=0.12.0'}
1266 | dev: true
1267 |
1268 | /js-tokens/4.0.0:
1269 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1270 | dev: true
1271 | optional: true
1272 |
1273 | /jsesc/2.5.2:
1274 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1275 | engines: {node: '>=4'}
1276 | hasBin: true
1277 | dev: true
1278 | optional: true
1279 |
1280 | /jsesc/3.0.2:
1281 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
1282 | engines: {node: '>=6'}
1283 | hasBin: true
1284 | dev: true
1285 |
1286 | /json5/2.2.3:
1287 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1288 | engines: {node: '>=6'}
1289 | hasBin: true
1290 | dev: true
1291 | optional: true
1292 |
1293 | /jsonfile/6.1.0:
1294 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1295 | dependencies:
1296 | universalify: 2.0.0
1297 | optionalDependencies:
1298 | graceful-fs: 4.2.10
1299 | dev: true
1300 |
1301 | /lodash-es/4.17.21:
1302 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
1303 | dev: false
1304 |
1305 | /lodash-unified/1.0.3_3ib2ivapxullxkx3xftsimdk7u:
1306 | resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
1307 | peerDependencies:
1308 | '@types/lodash-es': '*'
1309 | lodash: '*'
1310 | lodash-es: '*'
1311 | dependencies:
1312 | '@types/lodash-es': 4.17.6
1313 | lodash: 4.17.21
1314 | lodash-es: 4.17.21
1315 | dev: false
1316 |
1317 | /lodash/4.17.21:
1318 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1319 | dev: false
1320 |
1321 | /lru-cache/5.1.1:
1322 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1323 | dependencies:
1324 | yallist: 3.1.1
1325 | dev: true
1326 | optional: true
1327 |
1328 | /magic-string/0.25.9:
1329 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
1330 | dependencies:
1331 | sourcemap-codec: 1.4.8
1332 |
1333 | /magic-string/0.26.7:
1334 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
1335 | engines: {node: '>=12'}
1336 | dependencies:
1337 | sourcemap-codec: 1.4.8
1338 | dev: true
1339 |
1340 | /magic-string/0.27.0:
1341 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1342 | engines: {node: '>=12'}
1343 | dependencies:
1344 | '@jridgewell/sourcemap-codec': 1.4.14
1345 | dev: true
1346 | optional: true
1347 |
1348 | /memoize-one/6.0.0:
1349 | resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
1350 | dev: false
1351 |
1352 | /merge2/1.4.1:
1353 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1354 | engines: {node: '>= 8'}
1355 | dev: true
1356 |
1357 | /micromatch/4.0.5:
1358 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1359 | engines: {node: '>=8.6'}
1360 | dependencies:
1361 | braces: 3.0.2
1362 | picomatch: 2.3.1
1363 | dev: true
1364 |
1365 | /ms/2.0.0:
1366 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1367 | dev: true
1368 |
1369 | /ms/2.1.2:
1370 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1371 | dev: true
1372 |
1373 | /nanoid/3.3.4:
1374 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1375 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1376 | hasBin: true
1377 |
1378 | /node-releases/2.0.10:
1379 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
1380 | dev: true
1381 | optional: true
1382 |
1383 | /normalize-path/3.0.0:
1384 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1385 | engines: {node: '>=0.10.0'}
1386 | dev: true
1387 |
1388 | /normalize-wheel-es/1.2.0:
1389 | resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
1390 | dev: false
1391 |
1392 | /nth-check/2.1.1:
1393 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1394 | dependencies:
1395 | boolbase: 1.0.0
1396 | dev: true
1397 |
1398 | /parse5-htmlparser2-tree-adapter/7.0.0:
1399 | resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
1400 | dependencies:
1401 | domhandler: 5.0.3
1402 | parse5: 7.1.2
1403 | dev: true
1404 |
1405 | /parse5/7.1.2:
1406 | resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
1407 | dependencies:
1408 | entities: 4.4.0
1409 | dev: true
1410 |
1411 | /path-parse/1.0.7:
1412 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1413 | dev: true
1414 |
1415 | /picocolors/1.0.0:
1416 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1417 |
1418 | /picomatch/2.3.1:
1419 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1420 | engines: {node: '>=8.6'}
1421 | dev: true
1422 |
1423 | /postcss/8.4.21:
1424 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
1425 | engines: {node: ^10 || ^12 || >=14}
1426 | dependencies:
1427 | nanoid: 3.3.4
1428 | picocolors: 1.0.0
1429 | source-map-js: 1.0.2
1430 |
1431 | /q/1.5.1:
1432 | resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
1433 | engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
1434 | dev: true
1435 |
1436 | /queue-microtask/1.2.3:
1437 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1438 | dev: true
1439 |
1440 | /react-refresh/0.13.0:
1441 | resolution: {integrity: sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==}
1442 | engines: {node: '>=0.10.0'}
1443 | dev: true
1444 |
1445 | /react-refresh/0.14.0:
1446 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
1447 | engines: {node: '>=0.10.0'}
1448 | dev: true
1449 | optional: true
1450 |
1451 | /readdirp/3.6.0:
1452 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1453 | engines: {node: '>=8.10.0'}
1454 | dependencies:
1455 | picomatch: 2.3.1
1456 | dev: true
1457 |
1458 | /resolve/1.22.1:
1459 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1460 | hasBin: true
1461 | dependencies:
1462 | is-core-module: 2.11.0
1463 | path-parse: 1.0.7
1464 | supports-preserve-symlinks-flag: 1.0.0
1465 | dev: true
1466 |
1467 | /reusify/1.0.4:
1468 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1469 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1470 | dev: true
1471 |
1472 | /rollup/2.77.3:
1473 | resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
1474 | engines: {node: '>=10.0.0'}
1475 | hasBin: true
1476 | optionalDependencies:
1477 | fsevents: 2.3.2
1478 | dev: true
1479 |
1480 | /rollup/2.79.1:
1481 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
1482 | engines: {node: '>=10.0.0'}
1483 | hasBin: true
1484 | optionalDependencies:
1485 | fsevents: 2.3.2
1486 | dev: true
1487 |
1488 | /run-parallel/1.2.0:
1489 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1490 | dependencies:
1491 | queue-microtask: 1.2.3
1492 | dev: true
1493 |
1494 | /sass/1.58.0:
1495 | resolution: {integrity: sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==}
1496 | engines: {node: '>=12.0.0'}
1497 | hasBin: true
1498 | dependencies:
1499 | chokidar: 3.5.3
1500 | immutable: 4.2.4
1501 | source-map-js: 1.0.2
1502 | dev: true
1503 |
1504 | /semver/6.3.0:
1505 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
1506 | hasBin: true
1507 | dev: true
1508 | optional: true
1509 |
1510 | /source-map-js/1.0.2:
1511 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1512 | engines: {node: '>=0.10.0'}
1513 |
1514 | /source-map/0.6.1:
1515 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1516 | engines: {node: '>=0.10.0'}
1517 |
1518 | /sourcemap-codec/1.4.8:
1519 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
1520 | deprecated: Please use @jridgewell/sourcemap-codec instead
1521 |
1522 | /stream-buffers/0.2.6:
1523 | resolution: {integrity: sha512-ZRpmWyuCdg0TtNKk8bEqvm13oQvXMmzXDsfD4cBgcx5LouborvU5pm3JMkdTP3HcszyUI08AM1dHMXA5r2g6Sg==}
1524 | engines: {node: '>= 0.3.0'}
1525 | dev: true
1526 |
1527 | /supports-color/5.5.0:
1528 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1529 | engines: {node: '>=4'}
1530 | dependencies:
1531 | has-flag: 3.0.0
1532 | dev: true
1533 | optional: true
1534 |
1535 | /supports-preserve-symlinks-flag/1.0.0:
1536 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1537 | engines: {node: '>= 0.4'}
1538 | dev: true
1539 |
1540 | /to-fast-properties/2.0.0:
1541 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1542 | engines: {node: '>=4'}
1543 |
1544 | /to-regex-range/5.0.1:
1545 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1546 | engines: {node: '>=8.0'}
1547 | dependencies:
1548 | is-number: 7.0.0
1549 | dev: true
1550 |
1551 | /typescript/4.9.5:
1552 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
1553 | engines: {node: '>=4.2.0'}
1554 | hasBin: true
1555 | dev: true
1556 |
1557 | /uberproto/1.2.0:
1558 | resolution: {integrity: sha512-pGtPAQmLwh+R9w81WVHzui1FfedpQWQpiaIIfPCwhtsBez4q6DYbJFfyXPVHPUTNFnedAvNEnkoFiLuhXIR94w==}
1559 | dev: true
1560 |
1561 | /universalify/2.0.0:
1562 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
1563 | engines: {node: '>= 10.0.0'}
1564 | dev: true
1565 |
1566 | /update-browserslist-db/1.0.10_browserslist@4.21.5:
1567 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
1568 | hasBin: true
1569 | peerDependencies:
1570 | browserslist: '>= 4.21.0'
1571 | dependencies:
1572 | browserslist: 4.21.5
1573 | escalade: 3.1.1
1574 | picocolors: 1.0.0
1575 | dev: true
1576 | optional: true
1577 |
1578 | /vite/2.9.15_sass@1.58.0:
1579 | resolution: {integrity: sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==}
1580 | engines: {node: '>=12.2.0'}
1581 | hasBin: true
1582 | peerDependencies:
1583 | less: '*'
1584 | sass: '*'
1585 | stylus: '*'
1586 | peerDependenciesMeta:
1587 | less:
1588 | optional: true
1589 | sass:
1590 | optional: true
1591 | stylus:
1592 | optional: true
1593 | dependencies:
1594 | esbuild: 0.14.54
1595 | postcss: 8.4.21
1596 | resolve: 1.22.1
1597 | rollup: 2.77.3
1598 | sass: 1.58.0
1599 | optionalDependencies:
1600 | fsevents: 2.3.2
1601 | dev: true
1602 |
1603 | /vue-demi/0.13.11_vue@3.2.47:
1604 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
1605 | engines: {node: '>=12'}
1606 | hasBin: true
1607 | requiresBuild: true
1608 | peerDependencies:
1609 | '@vue/composition-api': ^1.0.0-rc.1
1610 | vue: ^3.0.0-0 || ^2.6.0
1611 | peerDependenciesMeta:
1612 | '@vue/composition-api':
1613 | optional: true
1614 | dependencies:
1615 | vue: 3.2.47
1616 | dev: false
1617 |
1618 | /vue-router/4.1.6_vue@3.2.47:
1619 | resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==}
1620 | peerDependencies:
1621 | vue: ^3.2.0
1622 | dependencies:
1623 | '@vue/devtools-api': 6.5.0
1624 | vue: 3.2.47
1625 | dev: false
1626 |
1627 | /vue-tsc/0.38.9_typescript@4.9.5:
1628 | resolution: {integrity: sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==}
1629 | hasBin: true
1630 | peerDependencies:
1631 | typescript: '*'
1632 | dependencies:
1633 | '@volar/vue-typescript': 0.38.9
1634 | typescript: 4.9.5
1635 | dev: true
1636 |
1637 | /vue/3.2.47:
1638 | resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==}
1639 | dependencies:
1640 | '@vue/compiler-dom': 3.2.47
1641 | '@vue/compiler-sfc': 3.2.47
1642 | '@vue/runtime-dom': 3.2.47
1643 | '@vue/server-renderer': 3.2.47_vue@3.2.47
1644 | '@vue/shared': 3.2.47
1645 |
1646 | /yallist/3.1.1:
1647 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1648 | dev: true
1649 | optional: true
1650 |
--------------------------------------------------------------------------------