commit c77780fa0ec0bab9ac2c6960b776c8d27455c604 Author: liangzai <2440983361@qq.com> Date: Mon Apr 20 16:42:28 2026 +0800 first commit diff --git a/.cursor/rules/app-pages-mini-style.mdc b/.cursor/rules/app-pages-mini-style.mdc new file mode 100644 index 0000000..8c8b1d3 --- /dev/null +++ b/.cursor/rules/app-pages-mini-style.mdc @@ -0,0 +1,68 @@ +--- +description: bdrp-app 页面写法(参考 bdrp-mini) +globs: src/pages/**/*.vue +alwaysApply: false +--- + +# bdrp-app 页面规范(按 mini 风格) + +- 使用 Vue SFC + `script setup`,不要混用 Options API。 +- 页面元信息统一写在 `definePage(...)`,并放在脚本顶部。 +- `layout` 只用三种:`home`(首页/资产/我的/推广类)、`default`(普通业务页)、`false`(登录/分享/维护等无壳页面)。 +- 站内路由跳转必须使用 uni 官方导航 API,不使用 `window.location.href`、`router.push`、`router.back`。 +- 跳转规范:普通页用 `uni.navigateTo`,替换当前页用 `uni.redirectTo`,回首页/重开流程用 `uni.reLaunch`,tab 页切换用 `uni.switchTab`,返回用 `uni.navigateBack`。 +- 接口调用使用 `async/await` + `try/catch`;失败统一 `uni.showToast({ title: 'xxx', icon: 'none' })`。 +- 页面不要直接硬编码产品枚举,优先后端配置 + 本地白名单兜底(与 mini 的动态加载策略一致)。 +- 页面模板优先使用 uni 标签:``、``、``、``、``;避免在页面层大量使用纯 H5 标签(如 `div/span/img`)。 +- 图片与资源使用 uni 写法:``,避免直接依赖 H5 行为。 +- 生命周期优先使用 uni 页面生命周期:`onLoad`、`onShow`、`onPullDownRefresh`、`onReachBottom`、`onUnload`;通用副作用再用 Vue 的 `onMounted/onUnmounted`。 +- 页面文件尾部允许并推荐使用 `` 声明页面配置(如 `layout`、`style`、`title`、`auth`、`agent`);与 `definePage(...)` 保持一致,避免冲突。 +- UI 组件库统一优先使用 `wot-design-uni`(`wd-*` 组件);新增或重构页面时不再引入 `vant` 组件。 +- 历史页面若存在 `van-*` 组件(如 `van-button`、`van-icon`、`van-popup`、`van-field`),重构时应替换为 `wd-*` 或 uni 原生标签实现。 + +## 示例 + +```vue + +``` + +```vue + +``` + +```vue + +{ + "layout": "home", + "style": { + "navigationStyle": "custom" + } +} + +``` diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.env b/.env new file mode 100644 index 0000000..5a6e77f --- /dev/null +++ b/.env @@ -0,0 +1,50 @@ +############################# +# API +############################# +# 与 `src/constants/env.ts` 拼成 apiBaseUrl,供 useApiFetch / request / 热更新等 +VITE_API_URL=https://chimei.ronsafe.cn +VITE_API_PREFIX=/api/v1 + +############################# +# 品牌展示 +############################# +# `src/layouts/home.vue` 必需 +VITE_COMPANY_NAME=戎行技术有限公司 +# `src/components/Payment.vue` 等;未配时默认 "App" +VITE_APP_NAME=赤眉 + +############################# +# 查询表单加密(须与后端 Encrypt.SecretKey 等业务约定一致) +############################# +# `src/components/InquireForm.vue` 必需 +VITE_INQUIRE_AES_KEY=ff83609b2b24fc73196aac3d3dfb874f + +############################# +# 提现 +############################# +# `src/pages/withdraw.vue` 必需。例:both / alipay / bankcard +VITE_WITHDRAW_METHODS=both + +############################# +# 站点 / 报告 WebView / 404 +############################# +# `useReportWebview`、`QRcode` 基地址;可与下一项二选一或同时填 +VITE_SITE_ORIGIN=https://chimei.ronsafe.cn +# 报告 H5 根地址(可选,优先与 VITE_SITE_ORIGIN 配合使用) +VITE_REPORT_BASE_URL= + +# `src/pages/not-found.vue` 必需 +VITE_SEO_SITE_NAME=赤眉 + +############################# +# 客服(企业微信) +############################# +VITE_CUSTOMER_SERVICE_URL= +VITE_WXWORK_CORP_ID= +# 设为 1 则跳过微信 SDK,直接系统打开客服链接(基座不支持客服能力时使用) +# VITE_CUSTOMER_SERVICE_SKIP_SDK=1 + +############################# +# 邀请链接加密(须与后端代理链路 key 一致) +############################# +VITE_INVITE_CHANNEL_KEY=8e3e7a2f60edb49221e953b9c029ed10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f71dc2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# unh +pages.json +manifest.json diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..8ae452a --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,9 @@ +{ + "version" : "1.0", + "configurations" : [ + { + "playground" : "standard", + "type" : "uni-app:app-android" + } + ] +} diff --git a/.node-version b/.node-version new file mode 100644 index 0000000..2bd5a0a --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22 diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..d8b8386 --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +strict-peer-dependencies=false +auto-install-peers=true +shamefully-hoist=true diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..54d3dc3 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + "recommendations": [ + "antfu.vite", + "antfu.iconify", + "antfu.unocss", + "vue.volar", + "dbaeumer.vscode-eslint", + "editorConfig.editorConfig", + "uni-helper.uni-helper-vscode" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..40f965b --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug h5", + "type": "chrome", + "runtimeArgs": ["--remote-debugging-port=9222"], + "request": "launch", + "url": "http://localhost:5173", + "webRoot": "${workspaceFolder}", + "preLaunchTask": "uni:h5" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9a38908 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,62 @@ +{ + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + + // Silent the stylistic rules in you IDE, but still auto fix them + "eslint.rules.customizations": [ + { "rule": "style/*", "severity": "off", "fixable": true }, + { "rule": "format/*", "severity": "off", "fixable": true }, + { "rule": "*-indent", "severity": "off", "fixable": true }, + { "rule": "*-spacing", "severity": "off", "fixable": true }, + { "rule": "*-spaces", "severity": "off", "fixable": true }, + { "rule": "*-order", "severity": "off", "fixable": true }, + { "rule": "*-dangle", "severity": "off", "fixable": true }, + { "rule": "*-newline", "severity": "off", "fixable": true }, + { "rule": "*quotes", "severity": "off", "fixable": true }, + { "rule": "*semi", "severity": "off", "fixable": true } + ], + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "svelte", + "css", + "less", + "scss", + "pcss", + "postcss" + ], + + // Enable file nesting + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "vite.config.*": "pages.config.*, manifest.config.*, uno.config.*, volar.config.*, *.env, .env.*" + }, + + // Associate JSON files with comments as JSONC + "files.associations": { + "**/pages.json": "jsonc", + "**/manifest.json": "jsonc" + } +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..e8c343f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,16 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "uni:h5", + "type": "npm", + "script": "dev --devtools", + "isBackground": true, + "problemMatcher": "$vite", + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e321c3c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-PRESENT KeJun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3877b5d --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +

+ +

+ +

+Vitesse for uni-app +

+

+ 📱 在线预览 + 📖 阅读文档 +

+ +## 特性 + +- ⚡️ [Vue 3](https://github.com/vuejs/core), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [esbuild](https://github.com/evanw/esbuild) - 就是快! + +- 🔧 [ESM 优先](https://github.com/uni-helper/plugin-uni) + +- 🗂 [基于文件的路由](./src/pages) + +- 📦 [组件自动化加载](./src/components) + +- 📑 [布局系统](./src/layouts) + +- 🎨 [UnoCSS](https://github.com/unocss/unocss) - 高性能且极具灵活性的即时原子化 CSS 引擎 + +- 😃 [各种图标集为你所用](https://github.com/antfu/unocss/tree/main/packages/preset-icons) + +- 🔥 使用 [新的 ` + + + + + +
+ + + diff --git a/manifest.config.ts b/manifest.config.ts new file mode 100644 index 0000000..db0a8e7 --- /dev/null +++ b/manifest.config.ts @@ -0,0 +1,56 @@ +import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest' + +export default defineManifestConfig({ + 'name': 'bdrp-app', + 'appid': '', + 'description': '', + 'versionName': '1.0.0', + 'versionCode': '100', + 'transformPx': false, + /* 5+App特有相关 */ + 'app-plus': { + usingComponents: true, + nvueStyleCompiler: 'uni-app', + compilerVersion: 3, + splashscreen: { + alwaysShowBeforeRender: true, + waiting: true, + autoclose: true, + delay: 0, + }, + /* 模块配置 */ + modules: {}, + /* 应用发布信息 */ + distribute: { + /* android打包配置 */ + android: { + permissions: [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ], + }, + /* ios打包配置 */ + ios: {}, + /* SDK配置 */ + sdkConfigs: {}, + }, + }, + // 迁移目标仅 App 端,微信 H5/小程序配置不启用 + 'uniStatistics': { + enable: false, + }, + 'vueVersion': '3', +}) diff --git a/package.json b/package.json new file mode 100644 index 0000000..faf6150 --- /dev/null +++ b/package.json @@ -0,0 +1,101 @@ +{ + "name": "bdrp-app", + "type": "module", + "version": "0.0.0", + "private": true, + "packageManager": "pnpm@9.15.4", + "license": "MIT", + "scripts": { + "dev": "unh dev", + "build": "unh build", + "build:app": "unh build -p app", + "build:app-android": "unh build -p app-android", + "build:app-ios": "unh build -p app-ios", + "about": "unh info", + "type-check": "vue-tsc --noEmit", + "test": "vitest", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "postinstall": "npx simple-git-hooks" + }, + "dependencies": { + "@dcloudio/uni-app": "3.0.0-4080720251210001", + "@dcloudio/uni-app-harmony": "3.0.0-4080720251210001", + "@dcloudio/uni-app-plus": "3.0.0-4080720251210001", + "@dcloudio/uni-components": "3.0.0-4080720251210001", + "@dcloudio/uni-h5": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-alipay": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-baidu": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-harmony": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-jd": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-lark": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-qq": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-toutiao": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-weixin": "3.0.0-4080720251210001", + "@dcloudio/uni-mp-xhs": "3.0.0-4080720251210001", + "@dcloudio/uni-quickapp-webview": "3.0.0-4080720251210001", + "@vant/area-data": "^2.1.0", + "@vueuse/core": "^13.5.0", + "crypto-js": "^4.2.0", + "echarts": "^6.0.0", + "lodash": "^4.18.1", + "lodash-es": "^4.18.1", + "nprogress": "^0.2.0", + "pinia": "^2.3.1", + "qrcode": "^1.5.4", + "uqrcodejs": "^4.0.7", + "vue": "3.4.21", + "vue-echarts": "^8.0.1", + "vue-i18n": "^9.14.5", + "vue-router": "4.5.1", + "wot-design-uni": "^1.14.0" + }, + "devDependencies": { + "@dcloudio/types": "^3.4.16", + "@dcloudio/uni-automator": "3.0.0-4080720251210001", + "@dcloudio/uni-cli-shared": "3.0.0-4080720251210001", + "@dcloudio/uni-stacktracey": "3.0.0-4080720251210001", + "@dcloudio/vite-plugin-uni": "3.0.0-4080720251210001", + "@iconify-json/carbon": "^1.2.11", + "@mini-types/alipay": "^3.0.14", + "@types/node": "^24.1.0", + "@uni-helper/eslint-config": "^0.4.0", + "@uni-helper/plugin-uni": "^0.1.0", + "@uni-helper/unh": "^0.2.3", + "@uni-helper/uni-env": "^0.1.7", + "@uni-helper/uni-types": "1.0.0-alpha.6", + "@uni-helper/unocss-preset-uni": "^0.2.11", + "@uni-helper/vite-plugin-uni-components": "^0.2.3", + "@uni-helper/vite-plugin-uni-layouts": "^0.1.11", + "@uni-helper/vite-plugin-uni-manifest": "^0.2.9", + "@uni-helper/vite-plugin-uni-pages": "^0.3.19", + "@unocss/eslint-config": "^66.3.3", + "@vue/runtime-core": "3.4.21", + "@vue/tsconfig": "^0.7.0", + "eslint": "^9.32.0", + "lint-staged": "^16.1.2", + "miniprogram-api-typings": "^4.1.0", + "sass": "^1.78.0", + "simple-git-hooks": "^2.13.0", + "typescript": "~5.8.3", + "unocss": "66.0.0", + "unplugin-auto-import": "^19.3.0", + "vite": "^5.2.8", + "vite-plugin-uni-polyfill": "^0.1.0", + "vitest": "^4.0.18", + "vitest-environment-uniapp": "^0.0.5", + "vue-tsc": "^3.0.4" + }, + "pnpm": { + "overrides": { + "unconfig": "7.3.2" + } + }, + "simple-git-hooks": { + "pre-commit": "pnpm lint-staged" + }, + "lint-staged": { + "*": "eslint --fix" + } +} \ No newline at end of file diff --git a/pages.config.ts b/pages.config.ts new file mode 100644 index 0000000..78c1b2e --- /dev/null +++ b/pages.config.ts @@ -0,0 +1,49 @@ +import { defineUniPages } from '@uni-helper/vite-plugin-uni-pages' + +export default defineUniPages({ + pages: [ + { path: 'pages/agent', style: { navigationBarTitleText: '代理中心' } }, + { path: 'pages/agent-manage-agreement', style: { navigationBarTitleText: '代理管理协议', navigationStyle: 'default' } }, + { path: 'pages/agent-promote-details', auth: true, style: { navigationBarTitleText: '直推收益明细' } }, + { path: 'pages/agent-rewards-details', auth: true, style: { navigationBarTitleText: '代理奖励明细' } }, + { path: 'pages/agent-service-agreement', style: { navigationBarTitleText: '信息技术服务合同', navigationStyle: 'default' } }, + { path: 'pages/agent-vip', auth: true, style: { navigationBarTitleText: '代理会员' } }, + { path: 'pages/agent-vip-apply', auth: true, style: { navigationBarTitleText: 'VIP申请' } }, + { path: 'pages/agent-vip-config', auth: true, style: { navigationBarTitleText: 'VIP配置' } }, + { path: 'pages/authorization', style: { navigationBarTitleText: '授权书', navigationStyle: 'default' } }, + { path: 'pages/help', style: { navigationBarTitleText: '帮助中心' } }, + { path: 'pages/help-detail', style: { navigationBarTitleText: '帮助详情' } }, + { path: 'pages/help-guide', style: { navigationBarTitleText: '引导指南' } }, + { path: 'pages/history-query', auth: true, style: { navigationBarTitleText: '历史报告' } }, + { path: 'pages/index', style: { navigationBarTitleText: '首页' } }, + { path: 'pages/inquire', style: { navigationBarTitleText: '查询报告' } }, + { path: 'pages/invitation', auth: true, style: { navigationBarTitleText: '邀请下级' } }, + { path: 'pages/invitation-agent-apply', auth: true, style: { navigationBarTitleText: '代理申请' } }, + { path: 'pages/login', style: { navigationBarTitleText: '登录' } }, + { path: 'pages/me', style: { navigationBarTitleText: '我的' } }, + { path: 'pages/cancel-account', auth: true, style: { navigationBarTitleText: '注销账号', navigationStyle: 'default' } }, + { path: 'pages/not-found', style: { navigationBarTitleText: '页面不存在' } }, + { path: 'pages/payment-result', auth: true, style: { navigationBarTitleText: '支付结果' } }, + { path: 'pages/privacy-policy', style: { navigationBarTitleText: '隐私政策', navigationStyle: 'default' } }, + { path: 'pages/promote', auth: true, style: { navigationBarTitleText: '推广管理' } }, + { path: 'pages/promotion-inquire', style: { navigationBarTitleText: '推广查询' } }, + { path: 'pages/report-example-webview', style: { navigationBarTitleText: '示例报告', navigationStyle: 'default' } }, + { path: 'pages/report-result-webview', auth: true, style: { navigationBarTitleText: '报告结果', navigationStyle: 'default' } }, + { path: 'pages/report-share', style: { navigationBarTitleText: '报告分享', navigationStyle: 'default' } }, + { path: 'pages/subordinate-detail', auth: true, style: { navigationBarTitleText: '下级详情' } }, + { path: 'pages/subordinate-list', auth: true, style: { navigationBarTitleText: '我的下级' } }, + { path: 'pages/user-agreement', style: { navigationBarTitleText: '用户协议', navigationStyle: 'default' } }, + { path: 'pages/withdraw', auth: true, style: { navigationBarTitleText: '提现' } }, + { path: 'pages/withdraw-details', auth: true, style: { navigationBarTitleText: '提现记录' } }, + ], + globalStyle: { + backgroundColor: '@bgColor', + backgroundColorBottom: '@bgColorBottom', + backgroundColorTop: '@bgColorTop', + backgroundTextStyle: '@bgTxtStyle', + navigationBarBackgroundColor: '#ffffff', + navigationBarTextStyle: 'black', + navigationBarTitleText: 'BDRP', + navigationStyle: 'custom', + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..363d3fc --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,13811 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +overrides: + unconfig: 7.3.2 + +importers: + + .: + dependencies: + '@dcloudio/uni-app': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@dcloudio/types@3.4.16)(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-app-harmony': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-app-plus': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-components': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-h5': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-alipay': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-baidu': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@dcloudio/types@3.4.16)(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-harmony': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-jd': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-kuaishou': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-lark': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-qq': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-toutiao': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-weixin': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-xhs': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-quickapp-webview': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@vant/area-data': + specifier: ^2.1.0 + version: 2.1.0 + '@vueuse/core': + specifier: ^13.5.0 + version: 13.5.0(vue@3.4.21(typescript@5.8.3)) + crypto-js: + specifier: ^4.2.0 + version: 4.2.0 + echarts: + specifier: ^6.0.0 + version: 6.0.0 + lodash: + specifier: ^4.18.1 + version: 4.18.1 + lodash-es: + specifier: ^4.18.1 + version: 4.18.1 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.3.1 + version: 2.3.1(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + qrcode: + specifier: ^1.5.4 + version: 1.5.4 + uqrcodejs: + specifier: ^4.0.7 + version: 4.0.7 + vue: + specifier: 3.4.21 + version: 3.4.21(typescript@5.8.3) + vue-echarts: + specifier: ^8.0.1 + version: 8.0.1(echarts@6.0.0)(vue@3.4.21(typescript@5.8.3)) + vue-i18n: + specifier: ^9.14.5 + version: 9.14.5(vue@3.4.21(typescript@5.8.3)) + vue-router: + specifier: 4.5.1 + version: 4.5.1(vue@3.4.21(typescript@5.8.3)) + wot-design-uni: + specifier: ^1.14.0 + version: 1.14.0(vue@3.4.21(typescript@5.8.3)) + devDependencies: + '@dcloudio/types': + specifier: ^3.4.16 + version: 3.4.16 + '@dcloudio/uni-automator': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-cli-shared': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-stacktracey': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001 + '@dcloudio/vite-plugin-uni': + specifier: 3.0.0-4080720251210001 + version: 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@iconify-json/carbon': + specifier: ^1.2.11 + version: 1.2.11 + '@mini-types/alipay': + specifier: ^3.0.14 + version: 3.0.14 + '@types/node': + specifier: ^24.1.0 + version: 24.1.0 + '@uni-helper/eslint-config': + specifier: ^0.4.0 + version: 0.4.0(@antfu/eslint-config@3.14.0(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@unocss/eslint-plugin@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)))(eslint@9.32.0(jiti@2.5.1)) + '@uni-helper/plugin-uni': + specifier: ^0.1.0 + version: 0.1.0(@dcloudio/vite-plugin-uni@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))) + '@uni-helper/unh': + specifier: ^0.2.3 + version: 0.2.3 + '@uni-helper/uni-env': + specifier: ^0.1.7 + version: 0.1.7 + '@uni-helper/uni-types': + specifier: 1.0.0-alpha.6 + version: 1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + '@uni-helper/unocss-preset-uni': + specifier: ^0.2.11 + version: 0.2.11(@unocss/preset-legacy-compat@65.4.0)(@unocss/preset-mini@66.5.1)(@unocss/rule-utils@66.5.1)(@unocss/vite@66.5.1(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)))(unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))))(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))) + '@uni-helper/vite-plugin-uni-components': + specifier: ^0.2.3 + version: 0.2.3(rollup@4.59.0) + '@uni-helper/vite-plugin-uni-layouts': + specifier: ^0.1.11 + version: 0.1.11(rollup@4.59.0) + '@uni-helper/vite-plugin-uni-manifest': + specifier: ^0.2.9 + version: 0.2.9(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)) + '@uni-helper/vite-plugin-uni-pages': + specifier: ^0.3.19 + version: 0.3.19(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)) + '@unocss/eslint-config': + specifier: ^66.3.3 + version: 66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@vue/runtime-core': + specifier: 3.4.21 + version: 3.4.21 + '@vue/tsconfig': + specifier: ^0.7.0 + version: 0.7.0(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + eslint: + specifier: ^9.32.0 + version: 9.32.0(jiti@2.5.1) + lint-staged: + specifier: ^16.1.2 + version: 16.1.2 + miniprogram-api-typings: + specifier: ^4.1.0 + version: 4.1.0 + sass: + specifier: ^1.78.0 + version: 1.78.0 + simple-git-hooks: + specifier: ^2.13.0 + version: 2.13.0 + typescript: + specifier: ~5.8.3 + version: 5.8.3 + unocss: + specifier: 66.0.0 + version: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + unplugin-auto-import: + specifier: ^19.3.0 + version: 19.3.0(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))) + vite: + specifier: ^5.2.8 + version: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + vite-plugin-uni-polyfill: + specifier: ^0.1.0 + version: 0.1.0 + vitest: + specifier: ^4.0.18 + version: 4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1) + vitest-environment-uniapp: + specifier: ^0.0.5 + version: 0.0.5(@dcloudio/uni-automator@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)))(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)) + vue-tsc: + specifier: ^3.0.4 + version: 3.0.4(typescript@5.8.3) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/eslint-config@3.14.0': + resolution: {integrity: sha512-SBQOFrF/d2aqsVhxcHZ6g5DAoUaNyaV3Vd+lGNJx4CfSuwk9EuC8sRUF819GkNdCMbH5wNdFoJ4+Tsd9sr/NBw==} + hasBin: true + peerDependencies: + '@eslint-react/eslint-plugin': ^1.19.0 + '@prettier/plugin-xml': ^3.4.1 + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^1.0.2 + eslint: ^9.10.0 + eslint-plugin-astro: ^1.2.0 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react-hooks: ^5.0.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-solid: ^0.14.3 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.14.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: '>=0.37.0' + peerDependenciesMeta: + '@eslint-react/eslint-plugin': + optional: true + '@prettier/plugin-xml': + optional: true + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.5': + resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.26.3': + resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.3': + resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.26.5': + resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.26.5': + resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.27.3': + resolution: {integrity: sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.28.3': + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.26.5': + resolution: {integrity: sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6': + resolution: {integrity: sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.26.5': + resolution: {integrity: sha512-GJhPO0y8SD5EYVCy2Zr+9dSZcEgaSmq5BLR0Oc25TOEhC+ba49vUAGZFjy8v79z9E1mdldq4x9d1xgh4L1d5dQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.3': + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.5': + resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.27.3': + resolution: {integrity: sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.2': + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} + + '@dcloudio/types@3.4.16': + resolution: {integrity: sha512-gJIr1OWtePTDDdjtp8Kh72S/ZGLunoSfHiUvRtXhBmAFNkDWuAKFO90hv62k3GYN/st04xUBQNtBfvhu/YHjww==} + + '@dcloudio/uni-app-harmony@3.0.0-4080720251210001': + resolution: {integrity: sha512-tJjuOq/TJD4rdOE8vAtuIQbRlHeSnu0yt0pFjtRBi4ypZ1h15lxFB9cwFzgcpgI+06ZsK5SZb30IpmjUKr5NYA==} + + '@dcloudio/uni-app-plus@3.0.0-4080720251210001': + resolution: {integrity: sha512-qxbcpXvoouCX4ueY/CTHyPf/23ZJxkwg3YBJLYkRutpa3NEn6gflUtm0y19doJDX7eOSA2Q1OexS+DMOp6QlpQ==} + + '@dcloudio/uni-app-uts@3.0.0-4080720251210001': + resolution: {integrity: sha512-sOgLm3HRtZuVMSGbz+MT/D0vdz4Pp3+h9oJJTG+4U5u7JNR6rhaWlYhCIkDmBSFMWAiFvFsejkGRH8oc7NTRNQ==} + + '@dcloudio/uni-app-vite@3.0.0-4080720251210001': + resolution: {integrity: sha512-ao4o71saOrW0ZrNuZ2V372p5iEqo77fcU22hQNOzgLE6AsrSPBfGGwB6zZdqIJa2s0Dn43U2Bc+DLkf2iQa3KQ==} + + '@dcloudio/uni-app-vue@3.0.0-4080720251210001': + resolution: {integrity: sha512-Kwq7lgGF/e7T//3t7vLTjqLHiyvcJE0LeJuwl5EpTSXDXoCAugcaBqY4qzDDHtGRcpRK96ARbHPSrL/YXeuDFA==} + + '@dcloudio/uni-app@3.0.0-4080720251210001': + resolution: {integrity: sha512-NBsyams5RpnH2CDDnMtm9oPcx2yFcBW+8O9MBXptPUvj6HNo9VoM6f7qhAgaQbG1wri0UIvZKRjkhSIyOL7wgA==} + peerDependencies: + '@dcloudio/types': 3.4.19 + + '@dcloudio/uni-automator@3.0.0-4080720251210001': + resolution: {integrity: sha512-WF19tMp5kAso3Sv5tU0YxYI1lXSV28wUQAujXM/9g8DHheruQYMymk8MgKwQh5mjVKi0Ftvwbw5Qy5vS8G7WVg==} + peerDependencies: + jest: 27.0.4 + jest-environment-node: 27.5.1 + + '@dcloudio/uni-cli-shared@3.0.0-4080720251210001': + resolution: {integrity: sha512-VBbpXKcEk8zw20wRT06/5GFeO4Q5+r/kCn1paDwg4Yl0xoSD2zLHwPsOlyVUMNteIiQVRrRVxZeQ6FKXIzCzUw==} + engines: {node: ^14.18.0 || >=16.0.0} + + '@dcloudio/uni-cloud@3.0.0-4080720251210001': + resolution: {integrity: sha512-d50N3P/qyWrEutxN5KCdAfoW2/TI+fbj/P5sDWavItxJ5eH2VDjIFsvt2zGdQVqOAROVrGZku8ZO40lL3wv2Kw==} + + '@dcloudio/uni-components@3.0.0-4080720251210001': + resolution: {integrity: sha512-QOi1Qphqmf0nlWZmOT/38gHllCFYW699UupsaPoabq9rLimRGZqNacjHaeUU75v7/1msimFZam/KYsz7vaS/MQ==} + + '@dcloudio/uni-console@3.0.0-4080720251210001': + resolution: {integrity: sha512-eLgdK6Tq242FSmpfKPAAExq7zJEw1jT8gOQ8w8M3Bv6m4VwV/6VXXuEqDaqM+oBXUUzCf0eWVci76hXx+SoQpg==} + + '@dcloudio/uni-h5-vite@3.0.0-4080720251210001': + resolution: {integrity: sha512-WNflMJKZ4hpxgcppVXbngeFja3sJLizUlF+LzLWvMUww9CpIsKCNVGZuPsL93y2Zal5k0OJ48x9GXF/o2zB3MA==} + + '@dcloudio/uni-h5-vue@3.0.0-4080720251210001': + resolution: {integrity: sha512-x6IOZ+QyXUbOacc8/3h4HhwX0r0ORz57pNd95y9hAk/gVotqIKhNKwlH4JfMWIl21V6M3bSRY33w+4n1t+vRFA==} + + '@dcloudio/uni-h5@3.0.0-4080720251210001': + resolution: {integrity: sha512-ZAE6RhhmTOGK5fx/ygCf2+yqttE9Bj1U20fESbwzCrObyHrcHG7X7wllR+FKqy4cxVk+JIJcMSgftUpBgh346Q==} + + '@dcloudio/uni-i18n@3.0.0-4080720251210001': + resolution: {integrity: sha512-ko+JeTjrr48o3l0oNvFTWguTT8U6RICgtN1d0oz3H1z0WI8R7+r058dMF3K5cZzljYVIjZh/kMBgGeLhP6mbog==} + + '@dcloudio/uni-mp-alipay@3.0.0-4080720251210001': + resolution: {integrity: sha512-lii9Ww2lCoWek5N59hUoNDH6moXl7ku8Ugl0wnbJGJoytzhMhkEKycXDtwR5wPfuXsgBqCVX2tE12vx9LGzjGg==} + + '@dcloudio/uni-mp-baidu@3.0.0-4080720251210001': + resolution: {integrity: sha512-a6R4mM9yA70XMA0bkg9AXDrBcmj13nX8e44WscMALqfy/HgRCDibiBusJ7Alv5BRFhjxQlWDIw5HDlMcj0stkQ==} + + '@dcloudio/uni-mp-compiler@3.0.0-4080720251210001': + resolution: {integrity: sha512-OK0IHjhH8N1b3EUtX9LSx8M1vNK1xhhpOVENQKfNvxPRAoYqS96Ha5LRL9G//mYyc+WLNBQTmojFcjLPJmnPxw==} + + '@dcloudio/uni-mp-harmony@3.0.0-4080720251210001': + resolution: {integrity: sha512-4KIbSWNQYmJiEVeoo0mgxS6nqpcPcUEZH4dy6yi09CD5VoN1raRglHLGUU0du4DSH/9MfjTmcIIaru14po2v6Q==} + + '@dcloudio/uni-mp-jd@3.0.0-4080720251210001': + resolution: {integrity: sha512-gUPsQcAUgrnbnivp+43PBliojKyolTLDVnCvpMQAbOrA0IlrZSMbKhl2sGZTlqBPH0tNjYSLjKmQvw0Mi2sBqg==} + + '@dcloudio/uni-mp-kuaishou@3.0.0-4080720251210001': + resolution: {integrity: sha512-skgavnL/UwIX2ql9tJZ0nRnyOCupHzyZtJ3IMA9Ybk0tAqF9dmG0o8u9c5462ayfARnim97wkUeQ3sqfnqey3g==} + + '@dcloudio/uni-mp-lark@3.0.0-4080720251210001': + resolution: {integrity: sha512-fWapAz6zg7/v95zhAjhpFjgR1R3iMwU3SL8tNjDMr9vfPR2MQmiTktTc3q/AWUOn/EfjQAgNAPIJkMZphQ6avQ==} + + '@dcloudio/uni-mp-qq@3.0.0-4080720251210001': + resolution: {integrity: sha512-IzFdD3sW0laRvXlwb7Zb9qfB+ZUzbSwN0JIZDqg/MBEHaobZc70qN3jJSS9p/SOM5SoyMJZZr6nyhWA77P83aQ==} + + '@dcloudio/uni-mp-toutiao@3.0.0-4080720251210001': + resolution: {integrity: sha512-KdjFx/R9CEKFKwyfC9VwIuXqDjiLn0wmuEN7FhwJwz+M/q8DpHH4LiqpfQECR29vqYEsuwiA6U0LCZScNC7Gwg==} + + '@dcloudio/uni-mp-vite@3.0.0-4080720251210001': + resolution: {integrity: sha512-PUjXx3a1KYeJc5N5vIjht73NkXDmpkqlpz6YawSuHjnP0in+d4+U83YcK70D2W6pKi0Sy++J8b4JcRIwdUSO7A==} + + '@dcloudio/uni-mp-vue@3.0.0-4080720251210001': + resolution: {integrity: sha512-X4t5xvtavUO+FxqcB8sOw/9dQ3191i9OfPyoRawlJiT2xq8aOdKwc5jj2CUwUdJwBbFynMSUHXKoZtLWZe1Lkg==} + + '@dcloudio/uni-mp-weixin@3.0.0-4080720251210001': + resolution: {integrity: sha512-Hg3Hqb1YyBpkY5Anj6m5N67ezLLWTZUo1yM5ie3NgXI7z/f9MY3Vm27edg0dqHehKN3PKcF3CbkaJ9JAfCy6/g==} + + '@dcloudio/uni-mp-xhs@3.0.0-4080720251210001': + resolution: {integrity: sha512-jAN9OBf8b2doKL4WafxWXzCSH5tkpk0eVfhDfLsd3VbvWMaGlfKA2b6Nu2fcbo1y+JYqZYuEVJz39/YkWh91hA==} + + '@dcloudio/uni-nvue-styler@3.0.0-4080720251210001': + resolution: {integrity: sha512-naHVOSm6Kwq9WBQEwqGj7qxy7kt3g3H8AXxJbGSn1VEKKge0X6d0Q8bfYipccL20mPkoLJIkKyCZHk8R+ioaVw==} + + '@dcloudio/uni-push@3.0.0-4080720251210001': + resolution: {integrity: sha512-A7cT2Wmc6OmDX4KIhUtPwJrzpZDfcEhAkbza+4Y4KaSaeTsNIfyTmrPnjPsJoV2ETclaJduMGxMAb6l/FeV9DQ==} + + '@dcloudio/uni-quickapp-webview@3.0.0-4080720251210001': + resolution: {integrity: sha512-qP703/nwcFvu3AFD2uu5KGjuPWQ88tv3aYMxCkLbtkiFMFbTyQM8lT8Ene2GZ8fycFe06zLHNL5/15HAWoZm5g==} + + '@dcloudio/uni-shared@3.0.0-4080720251210001': + resolution: {integrity: sha512-SJZBF5XXXhx9+4Uv/dKu9SAtQbvCWDBpHeQ9QBma0pwgFerSAlD0VP0BtypOcPRafthTGsGsy9MdnItHyX/XgQ==} + + '@dcloudio/uni-stacktracey@3.0.0-4080720251210001': + resolution: {integrity: sha512-Y2zDgQqe/cWicPjOgZCVWMPIuWKoGGpRbxrU4MH1W8T9TKwC+oumabd9pYemfTK431qyn7T6Pz9W8WPHB466Ew==} + + '@dcloudio/uni-stat@3.0.0-4080720251210001': + resolution: {integrity: sha512-r0lnxnVSTZZ1/j0IcqnotkkvXLgwqcX8i76oTEf9g+MJgBFi9Ay0ZRCoGtPoLu2+FbHOb86K1JeI4KR3+wYhDg==} + + '@dcloudio/vite-plugin-uni@3.0.0-4080720251210001': + resolution: {integrity: sha512-WmxQxETumZ9diyua5XT28Y80lVVSqh8bkgwVyZB5z5aVn/sYDTFdVdjWBK0qiU1Ah6LtGCSaGCp7RSwzTKmKog==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + vite: 5.2.8 + + '@emnapi/core@1.4.5': + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + + '@emnapi/wasi-threads@1.0.4': + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + + '@es-joy/jsdoccomment@0.50.2': + resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} + engines: {node: '>=18'} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-plugin-eslint-comments@4.5.0': + resolution: {integrity: sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/compat@1.3.2': + resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.40 || 9 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.3.0': + resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.1': + resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.32.0': + resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/markdown@6.6.0': + resolution: {integrity: sha512-IsWPy2jU3gaQDlioDC4sT4I4kG1hX1OMWs/q2sWwJrPoMASHW/Z4SDw+6Aql6EsHejGbagYuJbFq9Zvx+Y1b1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.4': + resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@iconify-json/carbon@1.2.11': + resolution: {integrity: sha512-fWcoR0V4dLGLsgUvgjioBcTmj+l8NlMMEP/aMMUwR9PWAr5mCBg52rsTe/bvOnL1zj9PUCNxaj2M4H27GrnO3g==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + + '@intlify/core-base@9.1.9': + resolution: {integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==} + engines: {node: '>= 10'} + + '@intlify/core-base@9.14.5': + resolution: {integrity: sha512-5ah5FqZG4pOoHjkvs8mjtv+gPKYU0zCISaYNjBNNqYiaITxW8ZtVih3GS/oTOqN8d9/mDLyrjD46GBApNxmlsA==} + engines: {node: '>= 16'} + + '@intlify/devtools-if@9.1.9': + resolution: {integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==} + engines: {node: '>= 10'} + + '@intlify/message-compiler@9.1.9': + resolution: {integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==} + engines: {node: '>= 10'} + + '@intlify/message-compiler@9.14.5': + resolution: {integrity: sha512-IHzgEu61/YIpQV5Pc3aRWScDcnFKWvQA9kigcINcCBXN8mbW+vk9SK+lDxA6STzKQsVJxUPg9ACC52pKKo3SVQ==} + engines: {node: '>= 16'} + + '@intlify/message-resolver@9.1.9': + resolution: {integrity: sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==} + engines: {node: '>= 10'} + + '@intlify/runtime@9.1.9': + resolution: {integrity: sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==} + engines: {node: '>= 10'} + + '@intlify/shared@9.1.9': + resolution: {integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==} + engines: {node: '>= 10'} + + '@intlify/shared@9.14.5': + resolution: {integrity: sha512-9gB+E53BYuAEMhbCAxVgG38EZrk59sxBtv3jSizNL2hEWlgjBjAw1AwpLHtNaeda12pe6W20OGEa0TwuMSRbyQ==} + engines: {node: '>= 16'} + + '@intlify/vue-devtools@9.1.9': + resolution: {integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==} + engines: {node: '>= 10'} + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@27.5.1': + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/core@27.5.1': + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@27.5.1': + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/fake-timers@27.5.1': + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/globals@27.5.1': + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/reporters@27.5.1': + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/source-map@27.5.1': + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@27.5.1': + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-sequencer@27.5.1': + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/transform@27.5.1': + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jimp/bmp@0.10.3': + resolution: {integrity: sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/core@0.10.3': + resolution: {integrity: sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==} + + '@jimp/custom@0.10.3': + resolution: {integrity: sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==} + + '@jimp/gif@0.10.3': + resolution: {integrity: sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/jpeg@0.10.3': + resolution: {integrity: sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-blit@0.10.3': + resolution: {integrity: sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-blur@0.10.3': + resolution: {integrity: sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-circle@0.10.3': + resolution: {integrity: sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-color@0.10.3': + resolution: {integrity: sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-contain@0.10.3': + resolution: {integrity: sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + + '@jimp/plugin-cover@0.10.3': + resolution: {integrity: sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + + '@jimp/plugin-crop@0.10.3': + resolution: {integrity: sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-displace@0.10.3': + resolution: {integrity: sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-dither@0.10.3': + resolution: {integrity: sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-fisheye@0.10.3': + resolution: {integrity: sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-flip@0.10.3': + resolution: {integrity: sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-rotate': '>=0.3.5' + + '@jimp/plugin-gaussian@0.10.3': + resolution: {integrity: sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-invert@0.10.3': + resolution: {integrity: sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-mask@0.10.3': + resolution: {integrity: sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-normalize@0.10.3': + resolution: {integrity: sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-print@0.10.3': + resolution: {integrity: sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + + '@jimp/plugin-resize@0.10.3': + resolution: {integrity: sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/plugin-rotate@0.10.3': + resolution: {integrity: sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + + '@jimp/plugin-scale@0.10.3': + resolution: {integrity: sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + + '@jimp/plugin-shadow@0.10.3': + resolution: {integrity: sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blur': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + + '@jimp/plugin-threshold@0.10.3': + resolution: {integrity: sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-color': '>=0.8.0' + '@jimp/plugin-resize': '>=0.8.0' + + '@jimp/plugins@0.10.3': + resolution: {integrity: sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/png@0.10.3': + resolution: {integrity: sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/tiff@0.10.3': + resolution: {integrity: sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/types@0.10.3': + resolution: {integrity: sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + + '@jimp/utils@0.10.3': + resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==} + + '@jridgewell/gen-mapping@0.3.12': + resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.29': + resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + + '@mini-types/alipay@3.0.14': + resolution: {integrity: sha512-FakzSsKvybtWlEIVTIRlr89kuQFn+XY86Ho9VUFFaKLplhW6Wx8FUxTDE7IzV7B9rT8DP/Icy637vUHlXPsw1g==} + + '@mini-types/global@3.0.14': + resolution: {integrity: sha512-St2ucFRfKRskposOqV/9iNJTKn1MbyqDypQiy/0DaVJjEm2MFi82RJjX9sBz1uWhQIqzu741PgTjGSy7L/Qj9g==} + + '@mini-types/my@3.0.14': + resolution: {integrity: sha512-aEgmM+rbEvEzTvqltCFRAg/h6KKs14M1y+FrOkz+hn2EyNpOVPesUzTjbRhSiFFsE3WdfBh54lHNYBahAmHq7w==} + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + + '@quansync/fs@0.1.5': + resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.41.1': + resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm-eabi@4.59.0': + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.41.1': + resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-android-arm64@4.59.0': + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.41.1': + resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-arm64@4.59.0': + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.41.1': + resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.59.0': + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.41.1': + resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-arm64@4.59.0': + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.41.1': + resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.59.0': + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': + resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.41.1': + resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.41.1': + resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-gnu@4.59.0': + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.41.1': + resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-musl@4.59.0': + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.59.0': + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-loong64-musl@4.59.0': + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': + resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': + resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-musl@4.59.0': + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.41.1': + resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.41.1': + resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-musl@4.59.0': + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.41.1': + resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-s390x-gnu@4.59.0': + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.41.1': + resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.59.0': + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.41.1': + resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-x64-musl@4.59.0': + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openbsd-x64@4.59.0': + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.59.0': + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.41.1': + resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-arm64-msvc@4.59.0': + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.41.1': + resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.59.0': + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.59.0': + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.41.1': + resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.59.0': + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + cpu: [x64] + os: [win32] + + '@sinonjs/commons@1.8.6': + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + + '@sinonjs/fake-timers@8.1.0': + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@stylistic/eslint-plugin@2.13.0': + resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + + '@tybys/wasm-util@0.10.0': + resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + + '@types/node@24.3.0': + resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/proper-lockfile@4.1.4': + resolution: {integrity: sha512-uo2ABllncSqg9F1D4nugVl9v93RmjxF6LJzQLMLDdPaXCUIDPeOJ21Gbqi43xNKzBi/WQ0Q0dICqufzQbMjipQ==} + + '@types/retry@0.12.5': + resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@16.0.9': + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + + '@typescript-eslint/eslint-plugin@8.41.0': + resolution: {integrity: sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.41.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.41.0': + resolution: {integrity: sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.38.0': + resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.41.0': + resolution: {integrity: sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.38.0': + resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.41.0': + resolution: {integrity: sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.38.0': + resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/tsconfig-utils@8.41.0': + resolution: {integrity: sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.41.0': + resolution: {integrity: sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.38.0': + resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.41.0': + resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.38.0': + resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/typescript-estree@8.41.0': + resolution: {integrity: sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.38.0': + resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.41.0': + resolution: {integrity: sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.38.0': + resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.41.0': + resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@uni-helper/eslint-config@0.4.0': + resolution: {integrity: sha512-8Cbe4Ortvxs9A708LWN5gyZoUx4TpjPQwusL7tPmRLeSgKvwMppeRq3pDckhXiFXXT2RTdn3LKE8SH5gMPD8fg==} + peerDependencies: + '@antfu/eslint-config': ^4.0.1 + eslint: ^9.10.0 + + '@uni-helper/plugin-uni@0.1.0': + resolution: {integrity: sha512-hBPUjoQc/SgqKsyGUl0fJiL+dDwLPhf2es1PJdsXcxHyOujoBP2+D4z5ie+Q72wVwKtTsQSP3tSjww/63JRmbA==} + peerDependencies: + '@dcloudio/vite-plugin-uni': '*' + + '@uni-helper/unh@0.2.3': + resolution: {integrity: sha512-uioHeLp0Aw458jAzE3B/uKMAeqpx5EVP2nmAmZSZaIA+kGg5B9zNruMfIK/tDmWdxRyA2/3vbrMWh6cYjXc68Q==} + hasBin: true + + '@uni-helper/uni-app-types@1.0.0-alpha.6': + resolution: {integrity: sha512-t9AKDYBmDaz4IW0fgtBt25ubEzf7kyUeMlHaBaG5nyNGd6pVuDpYkABhsnNPDiZcaHAoN6SbX1SQQx5axDOWbA==} + engines: {node: '>=14.18'} + peerDependencies: + typescript: ^5.0.0 + vue: ^3.0.0 + + '@uni-helper/uni-cloud-types@1.0.0-alpha.6': + resolution: {integrity: sha512-xnLiRcqf14NXcmkcekF3BbN0O157WROpzHfyKVAeLhcXRhO0HIRUMy0+h9KnCDZ+LFteeIOZXJWC5ere3yhIiQ==} + engines: {node: '>=14.18'} + peerDependencies: + typescript: ^5.0.0 + vue: ^3.0.0 + + '@uni-helper/uni-env@0.1.7': + resolution: {integrity: sha512-vxWnscbm1VgmK4ZzqN721mY0mIIVCeJutA32fH9P29itaYewVfL9VAWZWZi7nHJEssTkzhfdTTfydcnJKxUQzg==} + + '@uni-helper/uni-types@1.0.0-alpha.6': + resolution: {integrity: sha512-lGSm3RUOQThyYIUuJI46b8ug3nGZMyRfMQ/ktOGNxOXBukGA1TF1TN2m4MjKUklIQ+kiIuIgZJoU3S7oIK5emw==} + engines: {node: '>=14.18'} + peerDependencies: + '@uni-helper/uni-app-types': 1.0.0-alpha.6 + '@uni-helper/uni-cloud-types': 1.0.0-alpha.6 + '@uni-helper/uni-ui-types': 1.0.0-alpha.6 + typescript: ^5.0.0 + vue: ^3.0.0 + + '@uni-helper/uni-ui-types@1.0.0-alpha.6': + resolution: {integrity: sha512-2KuAup2M7rPVzpLaXhhnxCD/Cs5VQYiqzC9XNI/VZuA88+ApPmHzkwyS0THSHnz1VbDIGX/Ju69nj+mApfYKDw==} + engines: {node: '>=14.18'} + peerDependencies: + '@uni-helper/uni-app-types': 1.0.0-alpha.6 + typescript: ^5.0.0 + vue: ^3.0.0 + + '@uni-helper/unocss-preset-uni@0.2.11': + resolution: {integrity: sha512-/863vV/9y89j0ZzEGSrz+dCsOjxxUpGTNHL7+i/yokhyscmvcH8KPEpcOTfNtbkE5ALyJdNnfN70g2jbpxC3mw==} + peerDependencies: + '@unocss/preset-legacy-compat': '>=0.58' + '@unocss/preset-mini': '>=0.58' + '@unocss/rule-utils': '>=0.58' + '@unocss/vite': '>=0.58' + unocss: '>=0.58' + unocss-applet: '>=0.7' + peerDependenciesMeta: + '@unocss/preset-mini': + optional: true + '@unocss/vite': + optional: true + + '@uni-helper/vite-plugin-uni-components@0.2.3': + resolution: {integrity: sha512-in7jRYQnPkLg6W13dzz8mzHDuZC+OFc3qb8MrnmDQgniIxHfxJw8vaibL1au6gvq7ij3h6EHvhHaRytIJ2PkYw==} + + '@uni-helper/vite-plugin-uni-layouts@0.1.11': + resolution: {integrity: sha512-FXdFATBFsHAl7xY9q3KO0EexMRGua/7txIiQTm2rQi1/bXcft4CUXldtuHl9Upq0V6CT47aanmfzcOF5CpHK7Q==} + + '@uni-helper/vite-plugin-uni-manifest@0.2.9': + resolution: {integrity: sha512-lm1BUw11ZsORxiY8jRyQuUy+qFDdLz76TERZehuH6i140X5Q5JU/XIq2G2STo8aPhrXYHCfX3848TgVUlcxM0g==} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@uni-helper/vite-plugin-uni-pages@0.3.19': + resolution: {integrity: sha512-vpzLpg4K8sxa3Fvh1Vntswl5FktoTBRSMfAaaZ+JHrM2Mszh84EDIX28oksLTjM4/xqrpG9/mghw/z/E+jkGbQ==} + peerDependencies: + vite: ^5.0.0 + + '@unocss-applet/preset-applet@0.11.0': + resolution: {integrity: sha512-nIDwW2hgb+aNGGQHHgRomGiGSKEhLOwtuwisdWbEwqzTzfdgw1dW5wzKrmgp+S+i3UQwNq1LGBnDJU4p6SH4hQ==} + + '@unocss-applet/preset-rem-rpx@0.11.0': + resolution: {integrity: sha512-sisoat2UPDvf6wQrLTRLkU71CdAhMByoiBNDSOTpy14rQuq74BUVhdHKmCYV10GRCOzQN/N4gwKFZAUwrWe0EQ==} + + '@unocss-applet/transformer-attributify@0.11.0': + resolution: {integrity: sha512-kmanW2EtkB0x18uIUT9VHQg17QZ5Q114aITOGTrNp+nb1ttM5wvN/zG29VTvkKyPBX7sSkMWJuXxWxux06Jb3w==} + + '@unocss/astro@66.0.0': + resolution: {integrity: sha512-GBhXT6JPqXjDXoJZTXhySk83NgOt0UigChqrUUdG4x7Z+DVYkDBION8vZUJjw0OdIaxNQ4euGWu4GDsMF6gQQg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@66.0.0': + resolution: {integrity: sha512-KVQiskoOjVkLVpNaG6WpLa4grPplrZROYZJVIUYSTqZyZRFNSvjttHcsCwpoWUEUdEombPtVZl8FrXePjY5IiQ==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@66.0.0': + resolution: {integrity: sha512-nFRGop/guBa4jLkrgXjaRDm5JPz4x3YpP10m5IQkHpHwlnHUVn1L9smyPl04ohYWhYn9ZcAHgR28Ih2jwta8hw==} + engines: {node: '>=14'} + + '@unocss/config@66.3.3': + resolution: {integrity: sha512-D/UxnAmkabapqWU4tF85dWWhNfCUyNutWmd4AD2VsQRZOykufJedLV74r3Z3XhoPJn4IGr3BKZm5/rflf5viDg==} + engines: {node: '>=14'} + + '@unocss/config@66.5.1': + resolution: {integrity: sha512-eL9P+WDX42B6ZkNGGSkMgOyR99xeuJ2Gkj0uarhag5kaRwvwHLn/CJptZ7/oZLLIn0uTH8TQ6MG8ErhK0ymewA==} + engines: {node: '>=14'} + + '@unocss/core@65.4.0': + resolution: {integrity: sha512-UZPvyqS7jj5gRzFeozXG9gOEsGwdbOrQnWjeKLFbfE1upZlG3cwrwIuEl9bqTWNVAtqbpQLyaRiC09YBre52oA==} + + '@unocss/core@66.0.0': + resolution: {integrity: sha512-PdVbSMHNDDkr++9nkqzsZRAkaU84gxMTEgYbqI7dt2p1DXp/5tomVtmMsr2/whXGYKRiUc0xZ3p4Pzraz8TcXA==} + + '@unocss/core@66.3.3': + resolution: {integrity: sha512-6WFLd92TJelVQARtCGaF+EgEoHKIVe43gkGXVoWILu0HUDRWdhv+cpcyX0RTJV22Y976AxeneU7/zmhAh+CXNg==} + + '@unocss/core@66.5.1': + resolution: {integrity: sha512-BUgN87sUIffco1d+1IuV4a1gKTI1YAFa7CTjxglLUAnopXPPJ+Q77G10zoBoFLzutiIOYLsesa3hzbQvDhosnA==} + + '@unocss/eslint-config@66.3.3': + resolution: {integrity: sha512-gNTBP+GX6OsUSfQgvheuW6fetxLg9tn+7rTDqpxld5WqBPiutXo/adjcZ127kSTNMz4FF6hlsz5bkYyfsMuGaQ==} + engines: {node: '>=14'} + + '@unocss/eslint-plugin@66.3.3': + resolution: {integrity: sha512-n2Jd22Z5QEAAdXPBzq5i4L8gzYLy7vMF/2N8TE7b8GdIF9kuawyYxTmcjgg+Tp/Sr1HXp/Fcs7Oic2lv5ZvU+A==} + engines: {node: '>=14'} + + '@unocss/extractor-arbitrary-variants@66.0.0': + resolution: {integrity: sha512-vlkOIOuwBfaFBJcN6o7+obXjigjOlzVFN/jT6pG1WXbQDTRZ021jeF3i9INdb9D/0cQHSeDvNgi1TJ5oUxfiow==} + + '@unocss/extractor-arbitrary-variants@66.5.1': + resolution: {integrity: sha512-SpI2uv6bWyPyY3Tv7CxsFnHBjSTlNRcPCnfvD8gSKbAt7R+RqV0nrdkv7wSW+Woc5TYl8PClLEFSBIvo0c1h9Q==} + + '@unocss/inspector@66.0.0': + resolution: {integrity: sha512-mkIxieVm0kMOKw+E4ABpIerihYMdjgq9A92RD5h2+W/ebpxTEw5lTTK1xcMLiAlmOrVYMQKjpgPeu3vQmDyGZQ==} + + '@unocss/inspector@66.5.1': + resolution: {integrity: sha512-EyHcEM9BPZACJhl9YoTlgc/5i4as9MQ4zwaThAXbXoO9l+IfxdNrJoy3ED8qqkKLO5jgzyhPvy1COBdaoSlxsg==} + + '@unocss/postcss@66.0.0': + resolution: {integrity: sha512-6bi+ujzh8I1PJwtmHX71LH8z/H9+vPxeYD4XgFihyU1k4Y6MVhjr7giGjLX4yP27IP+NsVyotD22V7by/dBVEA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@66.0.0': + resolution: {integrity: sha512-eYsOgmcDoiIgGAepIwRX+DKGYxc/wm0r4JnDuZdz29AB+A6oY/FGHS1BVt4rq9ny4B5PofP4p6Rty+vwD9rigw==} + + '@unocss/preset-icons@66.0.0': + resolution: {integrity: sha512-6ObwTvEGuPBbKWRoMMiDioHtwwQTFI5oojFLJ32Y8tW6TdXvBLkO88d7qpgQxEjgVt4nJrqF1WEfR4niRgBm0Q==} + + '@unocss/preset-legacy-compat@65.4.0': + resolution: {integrity: sha512-FvkNlllWk1HHIYll/8TgV5wwu5y68Y0ZiPkxyaccqyt0pFWOSkOBJt0U/UKaaCGoNQTQGAWUgyyAnCP4uWxlNw==} + + '@unocss/preset-mini@66.0.0': + resolution: {integrity: sha512-d62eACnuKtR0dwCFOQXgvw5VLh5YSyK56xCzpHkh0j0GstgfDLfKTys0T/XVAAvdSvAy/8A8vhSNJ4PlIc9V2A==} + + '@unocss/preset-mini@66.5.1': + resolution: {integrity: sha512-kBEbA0kEXRtoHQ98o4b6f9sp1u5BanPzi+GMnWdmOWvbLAiLw1vcgXGPTX3sO+gzIMrwu0Famw6xiztWzAFjWQ==} + + '@unocss/preset-tagify@66.0.0': + resolution: {integrity: sha512-GGYGyWxaevh0jN0NoATVO1Qe7DFXM3ykLxchlXmG6/zy963pZxItg/njrKnxE9la4seCdxpFH7wQBa68imwwdA==} + + '@unocss/preset-typography@66.0.0': + resolution: {integrity: sha512-apjckP5nPU5mtaHTCzz5u/dK9KJWwJ2kOFCVk0+a/KhUWmnqnzmjRYZlEuWxxr5QxTdCW+9cIoRDSA0lYZS5tg==} + + '@unocss/preset-uno@66.0.0': + resolution: {integrity: sha512-qgoZ/hzTI32bQvcyjcwvv1X/dbPlmQNehzgjUaL7QFT0q0/CN/SRpysfzoQ8DLl2se9T+YCOS9POx3KrpIiYSQ==} + + '@unocss/preset-web-fonts@66.0.0': + resolution: {integrity: sha512-9MzfDc6AJILN4Kq7Z91FfFbizBOYgw3lJd2UwqIs3PDYWG5iH5Zv5zhx6jelZVqEW5uWcIARYEEg2m4stZO1ZA==} + + '@unocss/preset-wind3@66.0.0': + resolution: {integrity: sha512-WAGRmpi1sb2skvYn9DBQUvhfqrJ+VmQmn5ZGsT2ewvsk7HFCvVLAMzZeKrrTQepeNBRhg6HzFDDi8yg6yB5c9g==} + + '@unocss/preset-wind3@66.5.1': + resolution: {integrity: sha512-L1yMmKpwUWYUnScQq5jMTGvfMy/GBqVj40VS5afyOlzWnBeSkc/y4AxeW/khzGwqE/QaFcLWXiXwQVJIyxN02Q==} + + '@unocss/preset-wind4@66.5.1': + resolution: {integrity: sha512-i6UaZ/hRabu+bvEwUJcc3k/v/tF1sjKukvtQF027zaL3Q5k5QKKhDH989wVHU1k+i+W77+og2/K9+FzXN9+CzQ==} + + '@unocss/preset-wind@66.0.0': + resolution: {integrity: sha512-FtvGpHnGC7FiyKJavPnn5y9lsaoWRhXlujCqlT5Bw63kKhMNr0ogKySBpenUhJOhWhVM0OQXn2nZ3GZRxW2qpw==} + + '@unocss/reset@66.0.0': + resolution: {integrity: sha512-YLFz/5yT7mFJC8JSmIUA5+bS3CBCJbtztOw+8rWzjQr/BEVSGuihWUUpI2Df6VVxXIXxKanZR6mIl59yvf+GEA==} + + '@unocss/rule-utils@66.0.0': + resolution: {integrity: sha512-UJ51YHbwxYTGyj35ugsPlOT4gaa7tCbXdywZ3m5Nn0JgywwIqGmBFyiN9ZjHBHfJuDxmmPd6lxojoBscih/WMQ==} + engines: {node: '>=14'} + + '@unocss/rule-utils@66.3.3': + resolution: {integrity: sha512-QKgVGV5nRRnK44/reUKFLAc5UGyl98vz3hrfk8JI8pVza58vmQWTdAB2rIpNJ5a5j+EkWfDOUlGQaOrIeYGLdg==} + engines: {node: '>=14'} + + '@unocss/rule-utils@66.5.1': + resolution: {integrity: sha512-GuBKHrDv3bdq5N1HfOr1tD864vI1EIiovBVJSfg7x9ERA4jJSnyMpGk/hbLuDIXF25EnVdZ1lFhEpJgur9+9sw==} + engines: {node: '>=14'} + + '@unocss/transformer-attributify-jsx@66.0.0': + resolution: {integrity: sha512-jS7szFXXC6RjTv9wo0NACskf618w981bkbyQ5izRO7Ha47sNpHhHDpaltnG7SR9qV4cCtGalOw4onVMHsRKwRg==} + + '@unocss/transformer-compile-class@66.0.0': + resolution: {integrity: sha512-ytUIE0nAcHRMACuTXkHp8auZ483DXrOZw99jk3FJ+aFjpD/pVSFmX14AWJ7bqPFObxb4SLFs6KhQma30ESC22A==} + + '@unocss/transformer-directives@66.0.0': + resolution: {integrity: sha512-utcg7m2Foi7uHrU5WHadNuJ0a3qWG8tZNkQMi+m0DQpX6KWfuDtDn0zDZ1X+z5lmiB3WGSJERRrsvZbj1q50Mw==} + + '@unocss/transformer-variant-group@66.0.0': + resolution: {integrity: sha512-1BLjNWtAnR1JAcQGw0TS+nGrVoB9aznzvVZRoTx23dtRr3btvgKPHb8LrD48eD/p8Dtw9j3WfuxMDKXKegKDLg==} + + '@unocss/vite@66.0.0': + resolution: {integrity: sha512-IVcPX8xL+2edyXKt4tp9yu5A6gcbPVCsspfcL0XgziCr01kS+4qSoZ90F3IUs3hXc/AyO5eCpRtGFMPLpOjXQg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + + '@unocss/vite@66.5.1': + resolution: {integrity: sha512-qcZMh+SZbKYfTjJC2CP6B9Zxg0jlfhJSDVmXdjQBlUzhQR9FllnwlBdae6SCVFBc634Sm+pBJIri5ShPLvwq+Q==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} + cpu: [arm] + os: [android] + + '@unrs/resolver-binding-android-arm64@1.11.1': + resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} + cpu: [arm64] + os: [android] + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.11.1': + resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} + cpu: [x64] + os: [win32] + + '@vant/area-data@2.1.0': + resolution: {integrity: sha512-wx9PrUX7wSUJiFcz8UrcvZfTjV6sTc+7SHcbjGQQzEcv5y+EwOo5uV4ZKdfrR5Hzcw4MA08LQdvXPSEb4nWbug==} + + '@vitejs/plugin-legacy@5.3.2': + resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + terser: ^5.4.0 + vite: ^5.0.0 + + '@vitejs/plugin-vue-jsx@3.1.0': + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + + '@vitest/eslint-plugin@1.3.4': + resolution: {integrity: sha512-EOg8d0jn3BAiKnR55WkFxmxfWA3nmzrbIIuOXyTe6A72duryNgyU+bdBEauA97Aab3ho9kLmAwgPX63Ckj4QEg==} + peerDependencies: + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} + + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} + + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + + '@volar/language-core@2.4.20': + resolution: {integrity: sha512-dRDF1G33xaAIDqR6+mXUIjXYdu9vzSxlMGfMEwBxQsfY/JMUEXSpLTR057oTKlUQ2nIvCmP9k94A8h8z2VrNSA==} + + '@volar/source-map@2.4.20': + resolution: {integrity: sha512-mVjmFQH8mC+nUaVwmbxoYUy8cww+abaO8dWzqPUjilsavjxH0jCJ3Mp8HFuHsdewZs2c+SP+EO7hCd8Z92whJg==} + + '@volar/typescript@2.4.20': + resolution: {integrity: sha512-Oc4DczPwQyXcVbd+5RsNEqX6ia0+w3p+klwdZQ6ZKhFjWoBP9PCPQYlKYRi/tDemWphW93P/Vv13vcE9I9D2GQ==} + + '@vue/babel-helper-vue-transform-on@1.2.5': + resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==} + + '@vue/babel-plugin-jsx@1.2.5': + resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.2.5': + resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.4.21': + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + + '@vue/compiler-dom@3.4.21': + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + + '@vue/compiler-sfc@3.4.21': + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + + '@vue/compiler-ssr@3.4.21': + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/consolidate@1.0.0': + resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==} + engines: {node: '>= 0.12.0'} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/language-core@3.0.4': + resolution: {integrity: sha512-BvueED4LfBCSNH66eeUQk37MQCb7hjdezzGgxniM0LbriW53AJIyLorgshAtStmjfsAuOCcTl/c1b+nz/ye8xQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/reactivity@3.4.21': + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + + '@vue/runtime-core@3.4.21': + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + + '@vue/runtime-dom@3.4.21': + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + + '@vue/server-renderer@3.4.21': + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + + '@vue/shared@3.4.21': + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + + '@vue/shared@3.5.18': + resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==} + + '@vue/tsconfig@0.7.0': + resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==} + peerDependencies: + typescript: 5.x + vue: ^3.4.0 + peerDependenciesMeta: + typescript: + optional: true + vue: + optional: true + + '@vueuse/core@13.5.0': + resolution: {integrity: sha512-wV7z0eUpifKmvmN78UBZX8T7lMW53Nrk6JP5+6hbzrB9+cJ3jr//hUlhl9TZO/03bUkMK6gGkQpqOPWoabr72g==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/metadata@13.5.0': + resolution: {integrity: sha512-euhItU3b0SqXxSy8u1XHxUCdQ8M++bsRs+TYhOLDU/OykS7KvJnyIFfep0XM5WjIFry9uAPlVSjmVHiqeshmkw==} + + '@vueuse/shared@13.5.0': + resolution: {integrity: sha512-K7GrQIxJ/ANtucxIXbQlUHdB0TPA8c+q5i+zbrjxuhJCnJ9GtBg75sBSnvmLSxHKPg2Yo8w62PWksl9kwH0Q8g==} + peerDependencies: + vue: ^3.5.0 + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + adm-zip@0.5.16: + resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} + engines: {node: '>=12.0'} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + alien-signals@2.0.5: + resolution: {integrity: sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-base@1.1.0: + resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-kit@0.11.3: + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} + engines: {node: '>=16.14.0'} + + ast-kit@1.4.3: + resolution: {integrity: sha512-MdJqjpodkS5J149zN0Po+HPshkTdUyrvF7CKTafUgv69vBSPtncrj+3IiUgqdd7ElIEkbeXCsEouBUwLrw9Ilg==} + engines: {node: '>=16.14.0'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-jest@27.5.1: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + babel-plugin-polyfill-corejs2@0.4.12: + resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@27.5.1: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + blessed@0.1.81: + resolution: {integrity: sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==} + engines: {node: '>= 0.8.0'} + hasBin: true + + bmp-js@0.1.0: + resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + + browserslist-to-esbuild@2.1.1: + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' + + browserslist@4.25.3: + resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-equal@0.0.1: + resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} + engines: {node: '>=0.4.0'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + c12@1.11.2: + resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==} + peerDependencies: + magicast: ^0.3.4 + peerDependenciesMeta: + magicast: + optional: true + + c12@2.0.4: + resolution: {integrity: sha512-3DbbhnFt0fKJHxU4tEUPmD1ahWE4PWPMomqfYsTJdrhpmEnRKJi3qSC4rO5U6E6zN1+pjBY7+z8fUmNRMaVKLw==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cac@6.7.9: + resolution: {integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==} + engines: {node: '>=8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001737: + resolution: {integrity: sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + centra@2.7.0: + resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + ci-info@4.3.0: + resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} + engines: {node: '>=8'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@14.0.0: + resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} + engines: {node: '>=20'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + compare-versions@3.6.0: + resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + core-js-compat@3.45.1: + resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} + + core-js@3.40.0: + resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + css-font-size-keywords@1.0.0: + resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==} + + css-font-stretch-keywords@1.0.1: + resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==} + + css-font-style-keywords@1.0.1: + resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==} + + css-font-weight-keywords@1.0.0: + resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==} + + css-list-helpers@2.0.0: + resolution: {integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==} + + css-system-font-keywords@1.0.0: + resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==} + + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + echarts@6.0.0: + resolution: {integrity: sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.209: + resolution: {integrity: sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==} + + emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-compat-utils@0.6.5: + resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@1.0.1: + resolution: {integrity: sha512-wjBmJ8TAb67G2or/gBp/H62uCIkDCjpCmlGPSG41/7QagUjMgh+iegVB3gY8eNYhTAmecjKtclT4wGAjHz5yWA==} + peerDependencies: + eslint: ^9.5.0 + + eslint-flat-config-utils@1.1.0: + resolution: {integrity: sha512-W49wz7yQJGRfg4QSV3nwdO/fYcWetiSKhLV5YykfQMcqnIATNpoS7EPdINhLB9P3fmdjNmFtOgZjiKnCndWAnw==} + + eslint-flat-config-utils@2.1.0: + resolution: {integrity: sha512-6fjOJ9tS0k28ketkUcQ+kKptB4dBZY2VijMZ9rGn8Cwnn1SH0cZBoPXT8AHBFHxmHcLFQK9zbELDinZ2Mr1rng==} + + eslint-import-context@0.1.9: + resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true + + eslint-merge-processors@1.0.0: + resolution: {integrity: sha512-4GybyHmhXtT7/W8RAouQzNM0791sYasJCTYHIAYjuiJvbNFY0jMKkoESREhX+mjX37dxiN6v4EqhZ1nc0tJF7A==} + peerDependencies: + eslint: '*' + + eslint-plugin-antfu@2.7.0: + resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} + peerDependencies: + eslint: '*' + + eslint-plugin-command@2.1.0: + resolution: {integrity: sha512-S3gvDSCRHLdRG7NYaevLvGA0g/txOju7NEB2di7SE80NtbCwsvpi/fft045YuTZpOzqCRUfuye39raldmpXXYQ==} + peerDependencies: + eslint: '*' + + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-import-x@4.16.1: + resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/utils': ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + eslint-import-resolver-node: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + eslint-import-resolver-node: + optional: true + + eslint-plugin-jsdoc@50.8.0: + resolution: {integrity: sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-jsonc@2.20.1: + resolution: {integrity: sha512-gUzIwQHXx7ZPypUoadcyRi4WbHW2TPixDr0kqQ4miuJBU0emJmyGTlnaT3Og9X2a8R1CDayN9BFSq5weGWbTng==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-n@17.21.3: + resolution: {integrity: sha512-MtxYjDZhMQgsWRm/4xYLL0i2EhusWT7itDxlJ80l1NND2AL2Vi5Mvneqv/ikG9+zpran0VsVRXTEHrpLmUZRNw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' + + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} + + eslint-plugin-perfectionist@4.15.0: + resolution: {integrity: sha512-pC7PgoXyDnEXe14xvRUhBII8A3zRgggKqJFx2a82fjrItDs1BSI7zdZnQtM2yQvcyod6/ujmzb7ejKPx8lZTnw==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + eslint: '>=8.45.0' + + eslint-plugin-regexp@2.10.0: + resolution: {integrity: sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==} + engines: {node: ^18 || >=20} + peerDependencies: + eslint: '>=8.44.0' + + eslint-plugin-toml@0.12.0: + resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-unicorn@56.0.1: + resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-plugin-unused-imports@4.2.0: + resolution: {integrity: sha512-hLbJ2/wnjKq4kGA9AUaExVFIbNzyxYdVo49QZmKCnhk5pc9wcYRbfgLHvWJ8tnsdcseGhoUAddm9gn/lt+d74w==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-plugin-vue@9.33.0: + resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-yml@1.18.0: + resolution: {integrity: sha512-9NtbhHRN2NJa/s3uHchO3qVVZw0vyOIvWlXWGaKCr/6l3Go62wsvJK5byiI6ZoYztDsow4GnS69BZD3GnqH3hA==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-processor-vue-blocks@1.0.0: + resolution: {integrity: sha512-q+Wn9bCml65NwYtuINVCE5dUqZa/uVoY4jfc8qEDwWbcGqdRyfJJmAONNZsreA4Q9EJqjYGjk8Hk1QuwAktgkw==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 || ^9.0.0 + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.32.0: + resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exif-parser@0.1.12: + resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + + expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + express@4.20.0: + resolution: {integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==} + engines: {node: '>= 0.10.0'} + + exsolve@1.0.5: + resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-type@9.0.0: + resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==} + engines: {node: '>=6'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data@3.0.4: + resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + generic-names@4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + + giget@1.2.5: + resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==} + hasBin: true + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-replace-symbols@1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immutable@4.3.8: + resolution: {integrity: sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + invert-kv@3.0.1: + resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} + engines: {node: '>=8'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + isbinaryfile@5.0.2: + resolution: {integrity: sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==} + engines: {node: '>= 18.0.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest@27.0.4: + resolution: {integrity: sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jimp@0.10.3: + resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true + + jpeg-js@0.3.7: + resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + + jsdoc-type-pratt-parser@4.8.0: + resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==} + engines: {node: '>=12.0.0'} + + jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + lcid@3.1.1: + resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==} + engines: {node: '>=8'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + licia@1.41.1: + resolution: {integrity: sha512-XqObV8u1KEMdYWaNK0leRrTwhzKnLQEkhbnuUu7qGNH3zJoN7l9sfvF6PfHstSCuUOmpEP+0SBjRrk0I9uZs8g==} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lint-staged@16.1.2: + resolution: {integrity: sha512-sQKw2Si2g9KUZNY3XNvRuDq4UJqpHwF0/FQzZR2M7I5MvtpWvibikCjUVJzZdGE0ByurEl3KQNvsGetd1ty1/Q==} + engines: {node: '>=20.17'} + hasBin: true + + listr2@8.3.3: + resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} + engines: {node: '>=18.0.0'} + + load-bmfont@1.4.2: + resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==} + + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + engines: {node: '>=14'} + + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + + localstorage-polyfill@1.0.1: + resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.groupby@4.6.0: + resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + magic-string@0.30.18: + resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + merge@2.1.1: + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + miniprogram-api-typings@4.1.0: + resolution: {integrity: sha512-4RBsz27nBKyRkVGoNkRaPx24/KeJBw3zaaIlXDR8s/WBh2PbcUAc+q7wLLbp7Qsmb3bLzzUu7tqAti+B06kmjg==} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + module-alias@2.2.3: + resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + nano-spawn@1.0.2: + resolution: {integrity: sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==} + engines: {node: '>=20.17'} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + napi-postinstall@0.3.3: + resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nwsapi@2.2.21: + resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==} + + nypm@0.5.4: + resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + os-locale-s-fix@1.0.8-fix-1: + resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==} + engines: {node: '>=10', yarn: ^1.22.4} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-manager-detector@1.3.0: + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-bmfont-ascii@1.0.6: + resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} + + parse-bmfont-binary@1.0.6: + resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==} + + parse-bmfont-xml@1.1.6: + resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==} + + parse-css-font@4.0.0: + resolution: {integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==} + + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + parse-headers@2.0.5: + resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + + parse-imports-exports@0.2.4: + resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-statements@1.0.11: + resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathe@2.0.1: + resolution: {integrity: sha512-6jpjMpOth5S9ITVu5clZ7NOgHNsv5vRQdheL9ztp2vZmM6fRbLvyua1tiBIL4lk8SAe3ARzeXEly6siXCjDHDw==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + phin@2.9.3: + resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + phin@3.7.1: + resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==} + engines: {node: '>= 8'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pinia@2.3.1: + resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==} + peerDependencies: + typescript: '>=4.4.4' + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pixelmatch@4.0.2: + resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==} + hasBin: true + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-types@1.3.0: + resolution: {integrity: sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.1.0: + resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + + postcss-import@14.1.0: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules@4.3.1: + resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + peerDependencies: + postcss: ^8.0.0 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.0.0: + resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.45: + resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qrcode-reader@1.0.4: + resolution: {integrity: sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==} + + qrcode-terminal@0.12.0: + resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==} + hasBin: true + + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + quansync@0.2.10: + resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup@4.41.1: + resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.59.0: + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-area-insets@1.4.1: + resolution: {integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass@1.78.0: + resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.0: + resolution: {integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-git-hooks@2.13.0: + resolution: {integrity: sha512-N+goiLxlkHJlyaYEglFypzVNMaNplPAk5syu0+OPp/Bk6dwVoXF6FfOw2vO0Dp+JHsBaI+w6cm8TnFl2Hw6tDA==} + hasBin: true + + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stable-hash-x@0.2.0: + resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} + engines: {node: '>=12.0.0'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-hash@1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + synckit@0.11.11: + resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + engines: {node: ^14.18.0 || >=16.0.0} + + systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser@5.37.0: + resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + + timm@1.7.1: + resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} + + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + toml-eslint-parser@0.10.0: + resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + + unconfig@7.3.2: + resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} + + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unimport@4.1.1: + resolution: {integrity: sha512-j9+fijH6aDd05yv1fXlyt7HSxtOWtGtrZeYTVBsSUg57Iuf+Ps2itIZjeyu7bEQ4k0WOgYhHrdW8m/pJgOpl5g==} + engines: {node: '>=18.12.0'} + + unimport@4.2.0: + resolution: {integrity: sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==} + engines: {node: '>=18.12.0'} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unocss-applet@0.11.0: + resolution: {integrity: sha512-h4AxJcPqPEF3upxsPc4Qc+78D3ZYhOylhi4NZng1DxtdeBqnd5bD+fXXiCg3Afdd7SCYJkiTZ3Zf8OVoihXhQg==} + peerDependencies: + unocss: '>=66.0.0' + + unocss@66.0.0: + resolution: {integrity: sha512-SHstiv1s7zGPSjzOsADzlwRhQM+6817+OqQE3Fv+N/nn2QLNx1bi3WXybFfz5tWkzBtyTZlwdPmeecsIs1yOCA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 66.0.0 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unplugin-auto-import@19.1.0: + resolution: {integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + + unplugin-auto-import@19.3.0: + resolution: {integrity: sha512-iIi0u4Gq2uGkAOGqlPJOAMI8vocvjh1clGTfSK4SOrJKrt+tirrixo/FjgBwXQNNdS7ofcr7OxzmOb/RjWxeEQ==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + + unplugin-utils@0.2.4: + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + engines: {node: '>=18.12.0'} + + unplugin-utils@0.3.0: + resolution: {integrity: sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==} + engines: {node: '>=20.19.0'} + + unplugin@2.3.5: + resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} + engines: {node: '>=18.12.0'} + + unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + + unrs-resolver@1.11.1: + resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uqrcodejs@4.0.7: + resolution: {integrity: sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + utif@2.0.1: + resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-plugin-uni-polyfill@0.1.0: + resolution: {integrity: sha512-xCg+w9iqvHRrwEyc3/7LKB4wJz24oEaWarn77tYA+g2eMpe0AVdUxaG4g7ZS3C/Hn7n4zV1ZxyFOQ4zNF5jBAg==} + + vite@5.2.8: + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest-environment-uniapp@0.0.5: + resolution: {integrity: sha512-6BpJjVc3wwSEmMkJbsjB9ZDY34Rv3B2ERHcdgBekOzOn0CjuJB38SC3I53p6TXDl0dbYpMdqFWwQVM4+drxb9g==} + peerDependencies: + '@dcloudio/uni-automator': '*' + vitest: '*' + + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-echarts@8.0.1: + resolution: {integrity: sha512-23rJTFLu1OUEGRWjJGmdGt8fP+8+ja1gVgzMYPIPaHWpXegcO1viIAaeu2H4QHESlVeHzUAHIxKXGrwjsyXAaA==} + peerDependencies: + echarts: ^6.0.0 + vue: ^3.3.0 + + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue-flow-layout@0.1.1: + resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} + peerDependencies: + vue: ^3.4.37 + + vue-flow-layout@0.2.0: + resolution: {integrity: sha512-zKgsWWkXq0xrus7H4Mc+uFs1ESrmdTXlO0YNbR6wMdPaFvosL3fMB8N7uTV308UhGy9UvTrGhIY7mVz9eN+L0Q==} + + vue-i18n@9.14.5: + resolution: {integrity: sha512-0jQ9Em3ymWngyiIkj0+c/k7WgaPO+TNzjKSNq9BvBQaKJECqn9cd9fL4tkDhB5G1QBskGl9YxxbDAhgbFtpe2g==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + + vue-router@4.4.4: + resolution: {integrity: sha512-3MlnDqwRwZwCQVbtVfpsU+nrNymNjnXSsQtXName5925NVC1+326VVfYH9vSrA0N13teGEo8z5x7gbRnGjCDiQ==} + peerDependencies: + vue: ^3.2.0 + + vue-router@4.5.1: + resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} + peerDependencies: + vue: ^3.2.0 + + vue-tsc@3.0.4: + resolution: {integrity: sha512-kZmSEjGtROApVBuaIcoprrXZsFNGon5ggkTJokmhQ/H1hMzCFRPQ0Ed8IHYFsmYJYvHBcdmEQVGVcRuxzPzNbw==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + + whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + + whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wot-design-uni@1.14.0: + resolution: {integrity: sha512-FaBXtmxxAkZNZUxR2xeKBg/Agck+SPaFFFeCvbBzAFeqM/5m2Y/v/7te7rhMJpZFkMoAgtJR1yaWR0DnjOmTnA==} + engines: {HBuilderX: ^3.8.7} + peerDependencies: + vue: '>=3.2.47' + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xhr@2.6.0: + resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + + xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xml-parse-from-string@1.0.1: + resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} + + xml2js@0.5.0: + resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} + engines: {node: '>=4.0.0'} + + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + xmlhttprequest@1.8.0: + resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} + engines: {node: '>=0.4.0'} + + xregexp@3.1.0: + resolution: {integrity: sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-eslint-parser@1.3.0: + resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} + hasBin: true + + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zrender@6.0.0: + resolution: {integrity: sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/eslint-config@3.14.0(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@unocss/eslint-plugin@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1))': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@clack/prompts': 0.9.1 + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.32.0(jiti@2.5.1)) + '@eslint/markdown': 6.6.0 + '@stylistic/eslint-plugin': 2.13.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@vitest/eslint-plugin': 1.3.4(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)) + eslint: 9.32.0(jiti@2.5.1) + eslint-config-flat-gitignore: 1.0.1(eslint@9.32.0(jiti@2.5.1)) + eslint-flat-config-utils: 1.1.0 + eslint-merge-processors: 1.0.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-antfu: 2.7.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-command: 2.1.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-jsdoc: 50.8.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-jsonc: 2.20.1(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-n: 17.21.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 4.15.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint-plugin-regexp: 2.10.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-toml: 0.12.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-unicorn: 56.0.1(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-unused-imports: 4.2.0(@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-vue: 9.33.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-yml: 1.18.0(eslint@9.32.0(jiti@2.5.1)) + eslint-processor-vue-blocks: 1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.32.0(jiti@2.5.1)) + globals: 15.15.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 1.1.2 + parse-gitignore: 2.0.0 + picocolors: 1.1.1 + toml-eslint-parser: 0.10.0 + vue-eslint-parser: 9.4.3(eslint@9.32.0(jiti@2.5.1)) + yaml-eslint-parser: 1.3.0 + yargs: 17.7.2 + optionalDependencies: + '@unocss/eslint-plugin': 66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + transitivePeerDependencies: + - '@eslint/json' + - '@typescript-eslint/utils' + - '@vue/compiler-sfc' + - eslint-import-resolver-node + - supports-color + - typescript + - vitest + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + + '@antfu/utils@0.7.10': {} + + '@antfu/utils@8.1.1': {} + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.25.9 + picocolors: 1.1.1 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.5': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 2.5.2 + + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.28.2 + + '@babel/helper-compilation-targets@7.26.5': + dependencies: + '@babel/compat-data': 7.26.5 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.25.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.28.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.28.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.28.2 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.26.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.28.2 + + '@babel/parser@7.26.5': + dependencies: + '@babel/types': 7.26.5 + + '@babel/parser@7.27.3': + dependencies: + '@babel/types': 7.27.3 + + '@babel/parser@7.28.3': + dependencies: + '@babel/types': 7.28.2 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) + '@babel/traverse': 7.28.3 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.26.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.26.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.5 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.45.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.2 + esutils: 2.0.3 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + + '@babel/traverse@7.28.3': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + to-fast-properties: 2.0.0 + + '@babel/types@7.26.5': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@babel/types@7.27.3': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@babel/types@7.28.2': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@bcoe/v8-coverage@0.2.3': {} + + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@dcloudio/types@3.4.16': {} + + '@dcloudio/uni-app-harmony@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-app-uts': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-app-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + debug: 4.3.7 + fs-extra: 10.1.0 + licia: 1.41.1 + postcss-selector-parser: 6.1.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + + '@dcloudio/uni-app-plus@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-app-uts': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-app-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-app-vue': 3.0.0-4080720251210001 + debug: 4.3.7 + fs-extra: 10.1.0 + licia: 1.41.1 + postcss-selector-parser: 6.1.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + + '@dcloudio/uni-app-uts@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-console': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-nvue-styler': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + '@rollup/pluginutils': 5.1.0(rollup@4.59.0) + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/consolidate': 1.0.0 + '@vue/shared': 3.4.21 + debug: 4.3.7 + es-module-lexer: 1.5.4 + estree-walker: 2.0.2 + fast-glob: 3.3.3 + fs-extra: 10.1.0 + magic-string: 0.30.11 + picocolors: 1.1.0 + source-map-js: 1.2.1 + unimport: 4.1.1 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-app-vite@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-nvue-styler': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@rollup/pluginutils': 5.1.0(rollup@4.59.0) + '@vitejs/plugin-vue': 5.2.4(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + debug: 4.3.7 + fs-extra: 10.1.0 + picocolors: 1.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + + '@dcloudio/uni-app-vue@3.0.0-4080720251210001': {} + + '@dcloudio/uni-app@3.0.0-4080720251210001(@dcloudio/types@3.4.16)(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/types': 3.4.16 + '@dcloudio/uni-cloud': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-components': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-console': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-push': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@dcloudio/uni-stat': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-automator@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + address: 1.2.2 + cross-env: 7.0.3 + debug: 4.3.7 + default-gateway: 6.0.3 + fs-extra: 10.1.0 + jest: 27.0.4 + jest-environment-node: 27.5.1 + jsonc-parser: 3.3.1 + licia: 1.41.1 + merge: 2.1.1 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + + '@dcloudio/uni-cli-shared@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@intlify/core-base': 9.1.9 + '@intlify/shared': 9.1.9 + '@intlify/vue-devtools': 9.1.9 + '@rollup/pluginutils': 5.1.0(rollup@4.59.0) + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3)) + '@vue/shared': 3.4.21 + adm-zip: 0.5.16 + autoprefixer: 10.4.20(postcss@8.5.6) + base64url: 3.0.1 + chokidar: 3.6.0 + compare-versions: 3.6.0 + debug: 4.3.7 + entities: 4.5.0 + es-module-lexer: 1.5.4 + esbuild: 0.20.2 + estree-walker: 2.0.2 + fast-glob: 3.3.3 + fs-extra: 10.1.0 + hash-sum: 2.0.0 + isbinaryfile: 5.0.2 + jsonc-parser: 3.3.1 + lines-and-columns: 2.0.4 + magic-string: 0.30.11 + merge: 2.1.1 + mime: 3.0.0 + module-alias: 2.2.3 + os-locale-s-fix: 1.0.8-fix-1 + picocolors: 1.1.0 + postcss-import: 14.1.0(postcss@8.5.6) + postcss-load-config: 3.1.4(postcss@8.5.6) + postcss-modules: 4.3.1(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + source-map-js: 1.2.1 + tapable: 2.2.3 + unimport: 4.1.1 + unplugin-auto-import: 19.1.0(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))) + xregexp: 3.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-cloud@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + fast-glob: 3.3.3 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-components@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cloud': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-h5': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-console@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + fs-extra: 10.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-h5-vite@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@rollup/pluginutils': 5.1.0(rollup@4.59.0) + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3)) + '@vue/shared': 3.4.21 + debug: 4.3.7 + fs-extra: 10.1.0 + mime: 3.0.0 + module-alias: 2.2.3 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-h5-vue@3.0.0-4080720251210001(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3)) + transitivePeerDependencies: + - vue + + '@dcloudio/uni-h5@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-h5-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-h5-vue': 3.0.0-4080720251210001(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3)) + '@vue/shared': 3.4.21 + debug: 4.3.7 + localstorage-polyfill: 1.0.1 + postcss-selector-parser: 6.1.2 + safe-area-insets: 1.4.1 + vue-router: 4.4.4(vue@3.4.21(typescript@5.8.3)) + xmlhttprequest: 1.8.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-i18n@3.0.0-4080720251210001': {} + + '@dcloudio/uni-mp-alipay@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-baidu@3.0.0-4080720251210001(@dcloudio/types@3.4.16)(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-app': 3.0.0-4080720251210001(@dcloudio/types@3.4.16)(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-mp-weixin': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + jimp: 0.10.3 + licia: 1.41.1 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@dcloudio/types' + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + + '@dcloudio/uni-mp-compiler@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-harmony@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-toutiao': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-quickapp-webview': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-jd@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-kuaishou@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-mp-weixin': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + + '@dcloudio/uni-mp-lark@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-toutiao': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-qq@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + fs-extra: 10.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-toutiao@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-vite@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-i18n': 3.0.0-4080720251210001 + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/shared': 3.4.21 + debug: 4.3.7 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-mp-vue@3.0.0-4080720251210001': + dependencies: + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + + '@dcloudio/uni-mp-weixin@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + jimp: 0.10.3 + licia: 1.41.1 + qrcode-reader: 1.0.4 + qrcode-terminal: 0.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - bufferutil + - debug + - postcss + - rollup + - supports-color + - ts-node + - utf-8-validate + - vue + + '@dcloudio/uni-mp-xhs@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-compiler': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-nvue-styler@3.0.0-4080720251210001': + dependencies: + parse-css-font: 4.0.0 + postcss: 8.4.45 + + '@dcloudio/uni-push@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-quickapp-webview@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vite': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-mp-vue': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@vue/shared': 3.4.21 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/uni-shared@3.0.0-4080720251210001': + dependencies: + '@vue/shared': 3.4.21 + + '@dcloudio/uni-stacktracey@3.0.0-4080720251210001': {} + + '@dcloudio/uni-stat@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + debug: 4.3.7 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@dcloudio/vite-plugin-uni@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.26.5(@babel/core@7.25.2) + '@dcloudio/uni-cli-shared': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + '@dcloudio/uni-nvue-styler': 3.0.0-4080720251210001 + '@dcloudio/uni-shared': 3.0.0-4080720251210001 + '@rollup/pluginutils': 5.1.0(rollup@4.59.0) + '@vitejs/plugin-legacy': 5.3.2(terser@5.37.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)) + '@vitejs/plugin-vue': 5.2.4(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/shared': 3.4.21 + cac: 6.7.9 + debug: 4.3.7 + estree-walker: 2.0.2 + express: 4.20.0 + fast-glob: 3.3.3 + fs-extra: 10.1.0 + hash-sum: 2.0.0 + jsonc-parser: 3.3.1 + magic-string: 0.30.11 + picocolors: 1.1.0 + terser: 5.37.0 + unplugin-auto-import: 19.1.0(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))) + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + + '@emnapi/core@1.4.5': + dependencies: + '@emnapi/wasi-threads': 1.0.4 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.5': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.4': + dependencies: + tslib: 2.8.1 + optional: true + + '@es-joy/jsdoccomment@0.50.2': + dependencies: + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.41.0 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/aix-ppc64@0.27.3': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.27.3': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-arm@0.27.3': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/android-x64@0.27.3': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.27.3': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.27.3': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.27.3': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.27.3': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.27.3': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-arm@0.27.3': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.27.3': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.27.3': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.27.3': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.27.3': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.27.3': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.27.3': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/linux-x64@0.27.3': + optional: true + + '@esbuild/netbsd-arm64@0.27.3': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.27.3': + optional: true + + '@esbuild/openbsd-arm64@0.27.3': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.27.3': + optional: true + + '@esbuild/openharmony-arm64@0.27.3': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.27.3': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.27.3': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.27.3': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@esbuild/win32-x64@0.27.3': + optional: true + + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.32.0(jiti@2.5.1))': + dependencies: + escape-string-regexp: 4.0.0 + eslint: 9.32.0(jiti@2.5.1) + ignore: 5.3.2 + + '@eslint-community/eslint-utils@4.7.0(eslint@9.32.0(jiti@2.5.1))': + dependencies: + eslint: 9.32.0(jiti@2.5.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/compat@1.3.2(eslint@9.32.0(jiti@2.5.1))': + optionalDependencies: + eslint: 9.32.0(jiti@2.5.1) + + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.3.0': {} + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.15.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.15.2': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.32.0': {} + + '@eslint/markdown@6.6.0': + dependencies: + '@eslint/core': 0.14.0 + '@eslint/plugin-kit': 0.3.5 + github-slugger: 2.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-frontmatter: 2.0.1 + mdast-util-gfm: 3.1.0 + micromark-extension-frontmatter: 2.0.0 + micromark-extension-gfm: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.4': + dependencies: + '@eslint/core': 0.15.1 + levn: 0.4.1 + + '@eslint/plugin-kit@0.3.5': + dependencies: + '@eslint/core': 0.15.2 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@iconify-json/carbon@1.2.11': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.1 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.2 + mlly: 1.8.0 + transitivePeerDependencies: + - supports-color + + '@intlify/core-base@9.1.9': + dependencies: + '@intlify/devtools-if': 9.1.9 + '@intlify/message-compiler': 9.1.9 + '@intlify/message-resolver': 9.1.9 + '@intlify/runtime': 9.1.9 + '@intlify/shared': 9.1.9 + '@intlify/vue-devtools': 9.1.9 + + '@intlify/core-base@9.14.5': + dependencies: + '@intlify/message-compiler': 9.14.5 + '@intlify/shared': 9.14.5 + + '@intlify/devtools-if@9.1.9': + dependencies: + '@intlify/shared': 9.1.9 + + '@intlify/message-compiler@9.1.9': + dependencies: + '@intlify/message-resolver': 9.1.9 + '@intlify/shared': 9.1.9 + source-map: 0.6.1 + + '@intlify/message-compiler@9.14.5': + dependencies: + '@intlify/shared': 9.14.5 + source-map-js: 1.2.1 + + '@intlify/message-resolver@9.1.9': {} + + '@intlify/runtime@9.1.9': + dependencies: + '@intlify/message-compiler': 9.1.9 + '@intlify/message-resolver': 9.1.9 + '@intlify/shared': 9.1.9 + + '@intlify/shared@9.1.9': {} + + '@intlify/shared@9.14.5': {} + + '@intlify/vue-devtools@9.1.9': + dependencies: + '@intlify/message-resolver': 9.1.9 + '@intlify/runtime': 9.1.9 + '@intlify/shared': 9.1.9 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@27.5.1': + dependencies: + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + + '@jest/core@27.5.1': + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.8 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + '@jest/environment@27.5.1': + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + jest-mock: 27.5.1 + + '@jest/fake-timers@27.5.1': + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 24.3.0 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + + '@jest/globals@27.5.1': + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + + '@jest/reporters@27.5.1': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + + '@jest/source-map@27.5.1': + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + + '@jest/test-result@27.5.1': + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@27.5.1': + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + + '@jest/transform@27.5.1': + dependencies: + '@babel/core': 7.26.0 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + + '@jest/types@27.5.1': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 24.3.0 + '@types/yargs': 16.0.9 + chalk: 4.1.2 + + '@jimp/bmp@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + bmp-js: 0.1.0 + core-js: 3.40.0 + + '@jimp/core@0.10.3': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/utils': 0.10.3 + any-base: 1.1.0 + buffer: 5.7.1 + core-js: 3.40.0 + exif-parser: 0.1.12 + file-type: 9.0.0 + load-bmfont: 1.4.2 + mkdirp: 0.5.6 + phin: 2.9.3 + pixelmatch: 4.0.2 + tinycolor2: 1.6.0 + transitivePeerDependencies: + - debug + + '@jimp/custom@0.10.3': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/core': 0.10.3 + core-js: 3.40.0 + transitivePeerDependencies: + - debug + + '@jimp/gif@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + omggif: 1.0.10 + + '@jimp/jpeg@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + jpeg-js: 0.3.7 + + '@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-circle@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + tinycolor2: 1.6.0 + + '@jimp/plugin-contain@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-cover@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-displace@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-dither@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-fisheye@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-flip@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-gaussian@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-invert@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-mask@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-normalize@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-print@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + load-bmfont: 1.4.2 + transitivePeerDependencies: + - debug + + '@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-shadow@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugin-threshold@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + + '@jimp/plugins@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-circle': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-contain': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))) + '@jimp/plugin-cover': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))) + '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-displace': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-dither': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-fisheye': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-flip': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))) + '@jimp/plugin-gaussian': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-invert': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-mask': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-normalize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-print': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3)) + '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3) + '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/plugin-shadow': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + '@jimp/plugin-threshold': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)) + core-js: 3.40.0 + timm: 1.7.1 + transitivePeerDependencies: + - debug + + '@jimp/png@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/utils': 0.10.3 + core-js: 3.40.0 + pngjs: 3.4.0 + + '@jimp/tiff@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + core-js: 3.40.0 + utif: 2.0.1 + + '@jimp/types@0.10.3(@jimp/custom@0.10.3)': + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/bmp': 0.10.3(@jimp/custom@0.10.3) + '@jimp/custom': 0.10.3 + '@jimp/gif': 0.10.3(@jimp/custom@0.10.3) + '@jimp/jpeg': 0.10.3(@jimp/custom@0.10.3) + '@jimp/png': 0.10.3(@jimp/custom@0.10.3) + '@jimp/tiff': 0.10.3(@jimp/custom@0.10.3) + core-js: 3.40.0 + timm: 1.7.1 + + '@jimp/utils@0.10.3': + dependencies: + '@babel/runtime': 7.26.0 + core-js: 3.40.0 + regenerator-runtime: 0.13.11 + + '@jridgewell/gen-mapping@0.3.12': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + optional: true + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.29': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@mini-types/alipay@3.0.14': + dependencies: + '@mini-types/global': 3.0.14 + '@mini-types/my': 3.0.14 + + '@mini-types/global@3.0.14': {} + + '@mini-types/my@3.0.14': {} + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@tybys/wasm-util': 0.10.0 + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@pkgr/core@0.2.9': {} + + '@polka/url@1.0.0-next.28': {} + + '@quansync/fs@0.1.5': + dependencies: + quansync: 0.2.11 + + '@rollup/pluginutils@5.1.0(rollup@4.59.0)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.59.0 + + '@rollup/pluginutils@5.1.4(rollup@4.59.0)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.59.0 + + '@rollup/rollup-android-arm-eabi@4.41.1': + optional: true + + '@rollup/rollup-android-arm-eabi@4.59.0': + optional: true + + '@rollup/rollup-android-arm64@4.41.1': + optional: true + + '@rollup/rollup-android-arm64@4.59.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.41.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.59.0': + optional: true + + '@rollup/rollup-darwin-x64@4.41.1': + optional: true + + '@rollup/rollup-darwin-x64@4.59.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.41.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.59.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.41.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.59.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.41.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.41.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.59.0': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.59.0': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.59.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.41.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.59.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.59.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.41.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.59.0': + optional: true + + '@rollup/rollup-openbsd-x64@4.59.0': + optional: true + + '@rollup/rollup-openharmony-arm64@4.59.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.41.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.59.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.41.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.59.0': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.59.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.41.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.59.0': + optional: true + + '@sinonjs/commons@1.8.6': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@8.1.0': + dependencies: + '@sinonjs/commons': 1.8.6 + + '@standard-schema/spec@1.1.0': {} + + '@stylistic/eslint-plugin@2.13.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + estraverse: 5.3.0 + picomatch: 4.0.3 + transitivePeerDependencies: + - supports-color + - typescript + + '@tootallnate/once@1.1.2': {} + + '@tybys/wasm-util@0.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.2 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.2 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.6': {} + + '@types/estree@1.0.7': {} + + '@types/estree@1.0.8': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 24.3.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/ms@2.1.0': {} + + '@types/node@24.1.0': + dependencies: + undici-types: 7.8.0 + + '@types/node@24.3.0': + dependencies: + undici-types: 7.10.0 + + '@types/normalize-package-data@2.4.4': {} + + '@types/prettier@2.7.3': {} + + '@types/proper-lockfile@4.1.4': + dependencies: + '@types/retry': 0.12.5 + + '@types/retry@0.12.5': {} + + '@types/stack-utils@2.0.3': {} + + '@types/unist@3.0.3': {} + + '@types/web-bluetooth@0.0.21': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@16.0.9': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/type-utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.41.0 + eslint: 9.32.0(jiti@2.5.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.41.0 + debug: 4.4.1 + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + debug: 4.4.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.41.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.8.3) + '@typescript-eslint/types': 8.41.0 + debug: 4.4.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + + '@typescript-eslint/scope-manager@8.41.0': + dependencies: + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/visitor-keys': 8.41.0 + + '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@typescript-eslint/tsconfig-utils@8.41.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@typescript-eslint/type-utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.32.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.38.0': {} + + '@typescript-eslint/types@8.41.0': {} + + '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.41.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.41.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.8.3) + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/visitor-keys': 8.41.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.41.0 + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + eslint-visitor-keys: 4.2.1 + + '@typescript-eslint/visitor-keys@8.41.0': + dependencies: + '@typescript-eslint/types': 8.41.0 + eslint-visitor-keys: 4.2.1 + + '@uni-helper/eslint-config@0.4.0(@antfu/eslint-config@3.14.0(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@unocss/eslint-plugin@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)))(eslint@9.32.0(jiti@2.5.1))': + dependencies: + '@antfu/eslint-config': 3.14.0(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@unocss/eslint-plugin@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)) + '@eslint/eslintrc': 3.2.0 + eslint: 9.32.0(jiti@2.5.1) + eslint-flat-config-utils: 2.1.0 + local-pkg: 1.1.1 + transitivePeerDependencies: + - supports-color + + '@uni-helper/plugin-uni@0.1.0(@dcloudio/vite-plugin-uni@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)))': + dependencies: + '@dcloudio/vite-plugin-uni': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(postcss@8.5.6)(rollup@4.59.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + + '@uni-helper/unh@0.2.3': + dependencies: + blessed: 0.1.81 + cac: 6.7.14 + cross-spawn: 7.0.6 + kolorist: 1.8.0 + local-pkg: 1.1.2 + unconfig: 7.3.2 + + '@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))': + dependencies: + typescript: 5.8.3 + vue: 3.4.21(typescript@5.8.3) + + '@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))': + dependencies: + typescript: 5.8.3 + vue: 3.4.21(typescript@5.8.3) + + '@uni-helper/uni-env@0.1.7': + dependencies: + std-env: 3.8.0 + + '@uni-helper/uni-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-cloud-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@uni-helper/uni-app-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + '@uni-helper/uni-cloud-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + '@uni-helper/uni-ui-types': 1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + typescript: 5.8.3 + vue: 3.4.21(typescript@5.8.3) + + '@uni-helper/uni-ui-types@1.0.0-alpha.6(@uni-helper/uni-app-types@1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)))(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@uni-helper/uni-app-types': 1.0.0-alpha.6(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)) + typescript: 5.8.3 + vue: 3.4.21(typescript@5.8.3) + + '@uni-helper/unocss-preset-uni@0.2.11(@unocss/preset-legacy-compat@65.4.0)(@unocss/preset-mini@66.5.1)(@unocss/rule-utils@66.5.1)(@unocss/vite@66.5.1(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)))(unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))))(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)))': + dependencies: + '@uni-helper/uni-env': 0.1.7 + '@unocss/preset-legacy-compat': 65.4.0 + '@unocss/rule-utils': 66.5.1 + unocss: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + unocss-applet: 0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))) + optionalDependencies: + '@unocss/preset-mini': 66.5.1 + '@unocss/vite': 66.5.1(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0)) + + '@uni-helper/vite-plugin-uni-components@0.2.3(rollup@4.59.0)': + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.4(rollup@4.59.0) + chokidar: 3.6.0 + debug: 4.4.1 + fast-glob: 3.3.3 + local-pkg: 0.4.3 + magic-string: 0.30.18 + minimatch: 8.0.4 + resolve: 1.22.10 + transitivePeerDependencies: + - rollup + - supports-color + + '@uni-helper/vite-plugin-uni-layouts@0.1.11(rollup@4.59.0)': + dependencies: + '@babel/types': 7.27.3 + '@uni-helper/uni-env': 0.1.7 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + ast-kit: 0.11.3(rollup@4.59.0) + c12: 1.11.2 + chokidar: 3.6.0 + fast-glob: 3.3.3 + jsonc-parser: 3.3.1 + magic-string: 0.30.17 + scule: 1.3.0 + transitivePeerDependencies: + - magicast + - rollup + + '@uni-helper/vite-plugin-uni-manifest@0.2.9(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))': + dependencies: + c12: 2.0.4 + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - magicast + + '@uni-helper/vite-plugin-uni-pages@0.3.19(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))': + dependencies: + '@babel/generator': 7.28.3 + '@babel/types': 7.28.2 + '@types/proper-lockfile': 4.1.4 + '@uni-helper/uni-env': 0.1.7 + '@vue/compiler-sfc': 3.4.21 + ast-kit: 1.4.3 + chokidar: 3.6.0 + comment-json: 4.2.5 + debug: 4.4.1 + detect-indent: 6.1.0 + detect-newline: 3.1.0 + fast-glob: 3.3.3 + json5: 2.2.3 + kolorist: 1.8.0 + lodash.groupby: 4.6.0 + magic-string: 0.30.18 + proper-lockfile: 4.1.2 + typescript: 5.9.2 + unconfig: 7.3.2 + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + yaml: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@unocss-applet/preset-applet@0.11.0': + dependencies: + '@unocss/core': 66.5.1 + '@unocss/preset-mini': 66.5.1 + '@unocss/preset-wind3': 66.5.1 + '@unocss/preset-wind4': 66.5.1 + + '@unocss-applet/preset-rem-rpx@0.11.0': + dependencies: + '@unocss/core': 66.5.1 + + '@unocss-applet/transformer-attributify@0.11.0': + dependencies: + '@unocss/core': 66.5.1 + magic-string: 0.30.21 + + '@unocss/astro@66.0.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/reset': 66.0.0 + '@unocss/vite': 66.0.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + optionalDependencies: + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - vue + + '@unocss/cli@66.0.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@unocss/config': 66.0.0 + '@unocss/core': 66.0.0 + '@unocss/preset-uno': 66.0.0 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.4.2 + magic-string: 0.30.18 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + tinyglobby: 0.2.14 + unplugin-utils: 0.2.4 + + '@unocss/config@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + unconfig: 7.3.2 + + '@unocss/config@66.3.3': + dependencies: + '@unocss/core': 66.3.3 + unconfig: 7.3.2 + + '@unocss/config@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + unconfig: 7.3.2 + optional: true + + '@unocss/core@65.4.0': {} + + '@unocss/core@66.0.0': {} + + '@unocss/core@66.3.3': {} + + '@unocss/core@66.5.1': {} + + '@unocss/eslint-config@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@unocss/eslint-plugin': 66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/eslint-plugin@66.3.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@unocss/config': 66.3.3 + '@unocss/core': 66.3.3 + '@unocss/rule-utils': 66.3.3 + magic-string: 0.30.17 + synckit: 0.11.11 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/extractor-arbitrary-variants@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/extractor-arbitrary-variants@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + + '@unocss/inspector@66.0.0(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/rule-utils': 66.0.0 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.1 + vue-flow-layout: 0.1.1(vue@3.4.21(typescript@5.8.3)) + transitivePeerDependencies: + - vue + + '@unocss/inspector@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + '@unocss/rule-utils': 66.5.1 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.1 + vue-flow-layout: 0.2.0 + optional: true + + '@unocss/postcss@66.0.0(postcss@8.5.6)': + dependencies: + '@unocss/config': 66.0.0 + '@unocss/core': 66.0.0 + '@unocss/rule-utils': 66.0.0 + css-tree: 3.1.0 + postcss: 8.5.6 + tinyglobby: 0.2.14 + + '@unocss/preset-attributify@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/preset-icons@66.0.0': + dependencies: + '@iconify/utils': 2.3.0 + '@unocss/core': 66.0.0 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-legacy-compat@65.4.0': + dependencies: + '@unocss/core': 65.4.0 + + '@unocss/preset-mini@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/extractor-arbitrary-variants': 66.0.0 + '@unocss/rule-utils': 66.0.0 + + '@unocss/preset-mini@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + '@unocss/extractor-arbitrary-variants': 66.5.1 + '@unocss/rule-utils': 66.5.1 + + '@unocss/preset-tagify@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/preset-typography@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/preset-mini': 66.0.0 + '@unocss/rule-utils': 66.0.0 + + '@unocss/preset-uno@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/preset-wind3': 66.0.0 + + '@unocss/preset-web-fonts@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + ofetch: 1.4.1 + + '@unocss/preset-wind3@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/preset-mini': 66.0.0 + '@unocss/rule-utils': 66.0.0 + + '@unocss/preset-wind3@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + '@unocss/preset-mini': 66.5.1 + '@unocss/rule-utils': 66.5.1 + + '@unocss/preset-wind4@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + '@unocss/extractor-arbitrary-variants': 66.5.1 + '@unocss/rule-utils': 66.5.1 + + '@unocss/preset-wind@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/preset-wind3': 66.0.0 + + '@unocss/reset@66.0.0': {} + + '@unocss/rule-utils@66.0.0': + dependencies: + '@unocss/core': 66.5.1 + magic-string: 0.30.18 + + '@unocss/rule-utils@66.3.3': + dependencies: + '@unocss/core': 66.5.1 + magic-string: 0.30.17 + + '@unocss/rule-utils@66.5.1': + dependencies: + '@unocss/core': 66.5.1 + magic-string: 0.30.21 + + '@unocss/transformer-attributify-jsx@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/transformer-compile-class@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/transformer-directives@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + '@unocss/rule-utils': 66.0.0 + css-tree: 3.1.0 + + '@unocss/transformer-variant-group@66.0.0': + dependencies: + '@unocss/core': 66.0.0 + + '@unocss/vite@66.0.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@unocss/config': 66.0.0 + '@unocss/core': 66.0.0 + '@unocss/inspector': 66.0.0(vue@3.4.21(typescript@5.8.3)) + chokidar: 3.6.0 + magic-string: 0.30.18 + tinyglobby: 0.2.14 + unplugin-utils: 0.2.4 + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - vue + + '@unocss/vite@66.5.1(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.5.1 + '@unocss/core': 66.5.1 + '@unocss/inspector': 66.5.1 + chokidar: 3.6.0 + magic-string: 0.30.21 + pathe: 2.0.3 + tinyglobby: 0.2.15 + unplugin-utils: 0.3.0 + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + optional: true + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + optional: true + + '@unrs/resolver-binding-android-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + optional: true + + '@vant/area-data@2.1.0': {} + + '@vitejs/plugin-legacy@5.3.2(terser@5.37.0)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + browserslist: 4.25.3 + browserslist-to-esbuild: 2.1.1(browserslist@4.25.3) + core-js: 3.40.0 + magic-string: 0.30.18 + regenerator-runtime: 0.14.1 + systemjs: 6.15.1 + terser: 5.37.0 + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-typescript': 7.26.5(@babel/core@7.26.0) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + vue: 3.4.21(typescript@5.8.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.2.4(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))': + dependencies: + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + vue: 3.4.21(typescript@5.8.3) + + '@vitest/eslint-plugin@1.3.4(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1))': + dependencies: + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) + optionalDependencies: + typescript: 5.8.3 + vitest: 4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@4.0.18': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + chai: 6.2.2 + tinyrainbow: 3.0.3 + + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.1.0)(jiti@2.5.1)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 4.0.18 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@24.1.0)(jiti@2.5.1)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1) + + '@vitest/pretty-format@4.0.18': + dependencies: + tinyrainbow: 3.0.3 + + '@vitest/runner@4.0.18': + dependencies: + '@vitest/utils': 4.0.18 + pathe: 2.0.3 + + '@vitest/snapshot@4.0.18': + dependencies: + '@vitest/pretty-format': 4.0.18 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.0.18': {} + + '@vitest/utils@4.0.18': + dependencies: + '@vitest/pretty-format': 4.0.18 + tinyrainbow: 3.0.3 + + '@volar/language-core@2.4.20': + dependencies: + '@volar/source-map': 2.4.20 + + '@volar/source-map@2.4.20': {} + + '@volar/typescript@2.4.20': + dependencies: + '@volar/language-core': 2.4.20 + path-browserify: 1.0.1 + vscode-uri: 3.0.8 + + '@vue/babel-helper-vue-transform-on@1.2.5': {} + + '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0)': + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + '@vue/babel-helper-vue-transform-on': 1.2.5 + '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0) + html-tags: 3.3.1 + svg-tags: 1.0.0 + optionalDependencies: + '@babel/core': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0)': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/parser': 7.28.3 + '@vue/compiler-sfc': 3.5.13 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.26.5 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.26.5 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-dom@3.5.13': + dependencies: + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.27.3 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-sfc@3.5.13': + dependencies: + '@babel/parser': 7.28.3 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + estree-walker: 2.0.2 + magic-string: 0.30.18 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-ssr@3.5.13': + dependencies: + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/consolidate@1.0.0': {} + + '@vue/devtools-api@6.6.4': {} + + '@vue/language-core@3.0.4(typescript@5.8.3)': + dependencies: + '@volar/language-core': 2.4.20 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.18 + alien-signals: 2.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.2 + optionalDependencies: + typescript: 5.8.3 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.8.3) + + '@vue/shared@3.4.21': {} + + '@vue/shared@3.5.13': {} + + '@vue/shared@3.5.18': {} + + '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))': + optionalDependencies: + typescript: 5.8.3 + vue: 3.4.21(typescript@5.8.3) + + '@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 13.5.0 + '@vueuse/shared': 13.5.0(vue@3.4.21(typescript@5.8.3)) + vue: 3.4.21(typescript@5.8.3) + + '@vueuse/metadata@13.5.0': {} + + '@vueuse/shared@13.5.0(vue@3.4.21(typescript@5.8.3))': + dependencies: + vue: 3.4.21(typescript@5.8.3) + + abab@2.0.6: {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-globals@6.0.0: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + + acorn-jsx@5.3.2(acorn@8.14.1): + dependencies: + acorn: 8.14.1 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@7.2.0: {} + + acorn@7.4.1: {} + + acorn@8.14.0: {} + + acorn@8.14.1: {} + + acorn@8.15.0: {} + + address@1.2.2: {} + + adm-zip@0.5.16: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + alien-signals@2.0.5: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + any-base@1.1.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + are-docs-informative@0.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-timsort@1.0.3: {} + + assertion-error@2.0.1: {} + + ast-kit@0.11.3(rollup@4.59.0): + dependencies: + '@babel/parser': 7.27.3 + '@rollup/pluginutils': 5.1.4(rollup@4.59.0) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + ast-kit@1.4.3: + dependencies: + '@babel/parser': 7.28.3 + pathe: 2.0.3 + + asynckit@0.4.0: {} + + autoprefixer@10.4.20(postcss@8.5.6): + dependencies: + browserslist: 4.25.3 + caniuse-lite: 1.0.30001737 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + babel-jest@27.5.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.26.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.27.1 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@27.5.1: + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + dependencies: + '@babel/compat-data': 7.26.5 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.45.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + + babel-preset-jest@27.5.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.26.0) + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + base64url@3.0.1: {} + + binary-extensions@2.3.0: {} + + blessed@0.1.81: {} + + bmp-js@0.1.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + boolbase@1.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browser-process-hrtime@1.0.0: {} + + browserslist-to-esbuild@2.1.1(browserslist@4.25.3): + dependencies: + browserslist: 4.25.3 + meow: 13.2.0 + + browserslist@4.25.3: + dependencies: + caniuse-lite: 1.0.30001737 + electron-to-chromium: 1.5.209 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.3) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-equal@0.0.1: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + builtin-modules@3.3.0: {} + + bytes@3.1.2: {} + + c12@1.11.2: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.7 + giget: 1.2.5 + jiti: 1.21.7 + mlly: 1.7.4 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.3.1 + rc9: 2.1.2 + + c12@2.0.4: + dependencies: + chokidar: 4.0.3 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.7 + giget: 1.2.5 + jiti: 2.5.1 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 1.3.1 + rc9: 2.1.2 + + cac@6.7.14: {} + + cac@6.7.9: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001737: {} + + ccount@2.0.1: {} + + centra@2.7.0: + dependencies: + follow-redirects: 1.15.9 + transitivePeerDependencies: + - debug + + chai@6.2.2: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + char-regex@1.0.2: {} + + character-entities@2.0.2: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chownr@2.0.0: {} + + ci-info@3.9.0: {} + + ci-info@4.3.0: {} + + citty@0.1.6: + dependencies: + consola: 3.4.0 + + cjs-module-lexer@1.4.3: {} + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@14.0.0: {} + + commander@2.20.3: {} + + comment-json@4.2.5: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 + + comment-parser@1.4.1: {} + + compare-versions@3.6.0: {} + + concat-map@0.0.1: {} + + confbox@0.1.8: {} + + confbox@0.2.2: {} + + consola@3.4.0: {} + + consola@3.4.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.6.0: {} + + core-js-compat@3.45.1: + dependencies: + browserslist: 4.25.3 + + core-js@3.40.0: {} + + core-util-is@1.0.3: {} + + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.6 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-js@4.2.0: {} + + css-font-size-keywords@1.0.0: {} + + css-font-stretch-keywords@1.0.1: {} + + css-font-style-keywords@1.0.1: {} + + css-font-weight-keywords@1.0.0: {} + + css-list-helpers@2.0.0: {} + + css-system-font-keywords@1.0.0: {} + + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + + cssesc@3.0.0: {} + + cssom@0.3.8: {} + + cssom@0.4.4: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + csstype@3.1.3: {} + + data-urls@2.0.0: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + + de-indent@1.0.2: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + optional: true + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js@10.6.0: {} + + decode-named-character-reference@1.2.0: + dependencies: + character-entities: 2.0.2 + + dedent@0.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destr@2.0.3: {} + + destroy@1.2.0: {} + + detect-indent@6.1.0: {} + + detect-newline@3.1.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff-sequences@27.5.1: {} + + dijkstrajs@1.0.3: {} + + dom-walk@0.1.2: {} + + domexception@2.0.1: + dependencies: + webidl-conversions: 5.0.0 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + echarts@6.0.0: + dependencies: + tslib: 2.3.0 + zrender: 6.0.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.209: {} + + emittery@0.8.1: {} + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.3 + + entities@4.5.0: {} + + environment@1.1.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.5.4: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + esbuild@0.27.3: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-compat-utils@0.5.1(eslint@9.32.0(jiti@2.5.1)): + dependencies: + eslint: 9.32.0(jiti@2.5.1) + semver: 7.7.2 + + eslint-compat-utils@0.6.5(eslint@9.32.0(jiti@2.5.1)): + dependencies: + eslint: 9.32.0(jiti@2.5.1) + semver: 7.7.2 + + eslint-config-flat-gitignore@1.0.1(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@eslint/compat': 1.3.2(eslint@9.32.0(jiti@2.5.1)) + eslint: 9.32.0(jiti@2.5.1) + + eslint-flat-config-utils@1.1.0: + dependencies: + pathe: 2.0.3 + + eslint-flat-config-utils@2.1.0: + dependencies: + pathe: 2.0.3 + + eslint-import-context@0.1.9(unrs-resolver@1.11.1): + dependencies: + get-tsconfig: 4.10.1 + stable-hash-x: 0.2.0 + optionalDependencies: + unrs-resolver: 1.11.1 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + optional: true + + eslint-json-compat-utils@0.2.1(eslint@9.32.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0): + dependencies: + eslint: 9.32.0(jiti@2.5.1) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 + + eslint-merge-processors@1.0.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + eslint: 9.32.0(jiti@2.5.1) + + eslint-plugin-antfu@2.7.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@antfu/utils': 0.7.10 + eslint: 9.32.0(jiti@2.5.1) + + eslint-plugin-command@2.1.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@es-joy/jsdoccomment': 0.50.2 + eslint: 9.32.0(jiti@2.5.1) + + eslint-plugin-es-x@7.8.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.32.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.32.0(jiti@2.5.1)) + + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@typescript-eslint/types': 8.41.0 + comment-parser: 1.4.1 + debug: 4.4.1 + eslint: 9.32.0(jiti@2.5.1) + eslint-import-context: 0.1.9(unrs-resolver@1.11.1) + is-glob: 4.0.3 + minimatch: 10.0.3 + semver: 7.7.2 + stable-hash-x: 0.2.0 + unrs-resolver: 1.11.1 + optionalDependencies: + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-jsdoc@50.8.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@es-joy/jsdoccomment': 0.50.2 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint: 9.32.0(jiti@2.5.1) + espree: 10.4.0 + esquery: 1.6.0 + parse-imports-exports: 0.2.4 + semver: 7.7.2 + spdx-expression-parse: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-jsonc@2.20.1(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + eslint: 9.32.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.32.0(jiti@2.5.1)) + eslint-json-compat-utils: 0.2.1(eslint@9.32.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0) + espree: 10.4.0 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.11.11 + transitivePeerDependencies: + - '@eslint/json' + + eslint-plugin-n@17.21.3(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + enhanced-resolve: 5.18.3 + eslint: 9.32.0(jiti@2.5.1) + eslint-plugin-es-x: 7.8.0(eslint@9.32.0(jiti@2.5.1)) + get-tsconfig: 4.10.1 + globals: 15.15.0 + globrex: 0.1.2 + ignore: 5.3.2 + semver: 7.7.2 + ts-declaration-location: 1.0.7(typescript@5.8.3) + transitivePeerDependencies: + - typescript + + eslint-plugin-no-only-tests@3.3.0: {} + + eslint-plugin-perfectionist@4.15.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3): + dependencies: + '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/utils': 8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) + natural-orderby: 5.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-regexp@2.10.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@eslint-community/regexpp': 4.12.1 + comment-parser: 1.4.1 + eslint: 9.32.0(jiti@2.5.1) + jsdoc-type-pratt-parser: 4.8.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 + + eslint-plugin-toml@0.12.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + debug: 4.4.1 + eslint: 9.32.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.32.0(jiti@2.5.1)) + lodash: 4.18.1 + toml-eslint-parser: 0.10.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-unicorn@56.0.1(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + ci-info: 4.3.0 + clean-regexp: 1.0.0 + core-js-compat: 3.45.1 + eslint: 9.32.0(jiti@2.5.1) + esquery: 1.6.0 + globals: 15.15.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.1.0 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.7.2 + strip-indent: 3.0.0 + + eslint-plugin-unused-imports@4.2.0(@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1)): + dependencies: + eslint: 9.32.0(jiti@2.5.1) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + + eslint-plugin-vue@9.33.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + eslint: 9.32.0(jiti@2.5.1) + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.7.2 + vue-eslint-parser: 9.4.3(eslint@9.32.0(jiti@2.5.1)) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-yml@1.18.0(eslint@9.32.0(jiti@2.5.1)): + dependencies: + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint: 9.32.0(jiti@2.5.1) + eslint-compat-utils: 0.6.5(eslint@9.32.0(jiti@2.5.1)) + natural-compare: 1.4.0 + yaml-eslint-parser: 1.3.0 + transitivePeerDependencies: + - supports-color + + eslint-processor-vue-blocks@1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@vue/compiler-sfc': 3.5.13 + eslint: 9.32.0(jiti@2.5.1) + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.32.0(jiti@2.5.1): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.0 + '@eslint/core': 0.15.1 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.32.0 + '@eslint/plugin-kit': 0.3.4 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.5.1 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + espree@9.6.1: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.7 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + eventemitter3@5.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exif-parser@0.1.12: {} + + exit@0.1.2: {} + + expect-type@1.3.0: {} + + expect@27.5.1: + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + + express@4.20.0: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + exsolve@1.0.5: {} + + exsolve@1.0.7: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-type@9.0.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.2.0: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + + flatted@3.3.2: {} + + follow-redirects@1.15.9: {} + + form-data@3.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + generic-names@4.0.0: + dependencies: + loader-utils: 3.3.1 + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.3.0: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + get-tsconfig@4.10.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + giget@1.2.5: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + defu: 6.1.4 + node-fetch-native: 1.6.6 + nypm: 0.5.4 + pathe: 2.0.3 + tar: 6.2.1 + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global@4.4.0: + dependencies: + min-document: 2.19.0 + process: 0.11.10 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@14.0.0: {} + + globals@15.15.0: {} + + globrex@0.1.2: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-own-prop@2.0.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash-sum@2.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + hosted-git-info@2.8.9: {} + + html-encoding-sniffer@2.0.1: + dependencies: + whatwg-encoding: 1.0.5 + + html-escaper@2.0.2: {} + + html-tags@3.3.1: {} + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-replace-symbols@1.1.0: {} + + icss-utils@5.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + immutable@4.3.8: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + invert-kv@3.0.1: {} + + ipaddr.js@1.9.1: {} + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + + is-function@1.0.2: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + isbinaryfile@5.0.2: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.28.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.1 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-changed-files@27.5.1: + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.2 + + jest-circus@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + jest-cli@27.5.1: + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.2.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-config@27.5.1: + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-diff@27.5.1: + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-docblock@27.5.1: + dependencies: + detect-newline: 3.1.0 + + jest-each@27.5.1: + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + + jest-environment-jsdom@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-environment-node@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + jest-mock: 27.5.1 + jest-util: 27.5.1 + + jest-get-type@27.5.1: {} + + jest-haste-map@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.9 + '@types/node': 24.3.0 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-jasmine2@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + jest-leak-detector@27.5.1: + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-matcher-utils@27.5.1: + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-message-util@27.5.1: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + + jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + optionalDependencies: + jest-resolve: 27.5.1 + + jest-regex-util@27.5.1: {} + + jest-resolve-dependencies@27.5.1: + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + + jest-resolve@27.5.1: + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.10 + resolve.exports: 1.1.1 + slash: 3.0.0 + + jest-runner@27.5.1: + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.11 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-runtime@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.2 + execa: 5.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-serializer@27.5.1: + dependencies: + '@types/node': 24.3.0 + graceful-fs: 4.2.11 + + jest-snapshot@27.5.1: + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.28.3 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.26.0) + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.28.0 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.26.0) + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.11 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + natural-compare: 1.4.0 + pretty-format: 27.5.1 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + + jest-util@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@27.5.1: + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + + jest-watcher@27.5.1: + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 24.3.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.3.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@27.0.4: + dependencies: + '@jest/core': 27.5.1 + import-local: 3.2.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jimp@0.10.3: + dependencies: + '@babel/runtime': 7.26.0 + '@jimp/custom': 0.10.3 + '@jimp/plugins': 0.10.3(@jimp/custom@0.10.3) + '@jimp/types': 0.10.3(@jimp/custom@0.10.3) + core-js: 3.40.0 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - debug + + jiti@1.21.7: {} + + jiti@2.5.1: {} + + jpeg-js@0.3.7: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.1: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsdoc-type-pratt-parser@4.1.0: {} + + jsdoc-type-pratt-parser@4.8.0: {} + + jsdom@16.7.0: + dependencies: + abab: 2.0.6 + acorn: 8.15.0 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.6.0 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.4 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.21 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.10 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.15.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.2 + + jsonc-parser@3.3.1: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + kolorist@1.8.0: {} + + lcid@3.1.1: + dependencies: + invert-kv: 3.0.1 + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + licia@1.41.1: {} + + lilconfig@2.1.0: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + lines-and-columns@2.0.4: {} + + lint-staged@16.1.2: + dependencies: + chalk: 5.4.1 + commander: 14.0.0 + debug: 4.4.1 + lilconfig: 3.1.3 + listr2: 8.3.3 + micromatch: 4.0.8 + nano-spawn: 1.0.2 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.8.0 + transitivePeerDependencies: + - supports-color + + listr2@8.3.3: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 + + load-bmfont@1.4.2: + dependencies: + buffer-equal: 0.0.1 + mime: 1.6.0 + parse-bmfont-ascii: 1.0.6 + parse-bmfont-binary: 1.0.6 + parse-bmfont-xml: 1.1.6 + phin: 3.7.1 + xhr: 2.6.0 + xtend: 4.0.2 + transitivePeerDependencies: + - debug + + loader-utils@3.3.1: {} + + local-pkg@0.4.3: {} + + local-pkg@1.1.1: + dependencies: + mlly: 1.7.4 + pkg-types: 2.1.0 + quansync: 0.2.10 + + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + + localstorage-polyfill@1.0.1: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.18.1: {} + + lodash.camelcase@4.3.0: {} + + lodash.debounce@4.0.8: {} + + lodash.groupby@4.6.0: {} + + lodash.merge@4.6.2: {} + + lodash@4.18.1: {} + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + + longest-streak@3.1.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + magic-string@0.30.18: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@4.0.0: + dependencies: + semver: 7.7.2 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + markdown-table@3.0.4: {} + + math-intrinsics@1.1.0: {} + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.12.2: {} + + media-typer@0.3.0: {} + + meow@13.2.0: {} + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + merge@2.1.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mime@3.0.0: {} + + mimic-fn@2.1.0: {} + + mimic-function@5.0.1: {} + + min-document@2.19.0: + dependencies: + dom-walk: 0.1.2 + + min-indent@1.0.1: {} + + minimatch@10.0.3: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@8.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + miniprogram-api-typings@4.1.0: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + mlly@1.7.4: + dependencies: + acorn: 8.14.0 + pathe: 2.0.1 + pkg-types: 1.3.0 + ufo: 1.5.4 + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + + module-alias@2.2.3: {} + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + nano-spawn@1.0.2: {} + + nanoid@3.3.11: {} + + napi-postinstall@0.3.3: {} + + natural-compare@1.4.0: {} + + natural-orderby@5.0.0: {} + + negotiator@0.6.3: {} + + node-fetch-native@1.6.6: {} + + node-int64@0.4.0: {} + + node-releases@2.0.19: {} + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + nwsapi@2.2.21: {} + + nypm@0.5.4: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + tinyexec: 0.3.2 + ufo: 1.5.4 + + object-inspect@1.13.3: {} + + obug@2.1.1: {} + + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.6 + ufo: 1.6.1 + + ohash@1.1.4: {} + + ohash@2.0.11: {} + + omggif@1.0.10: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + os-locale-s-fix@1.0.8-fix-1: + dependencies: + lcid: 3.1.1 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-try@2.2.0: {} + + package-manager-detector@1.3.0: {} + + pako@1.0.11: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-bmfont-ascii@1.0.6: {} + + parse-bmfont-binary@1.0.6: {} + + parse-bmfont-xml@1.1.6: + dependencies: + xml-parse-from-string: 1.0.1 + xml2js: 0.5.0 + + parse-css-font@4.0.0: + dependencies: + css-font-size-keywords: 1.0.0 + css-font-stretch-keywords: 1.0.1 + css-font-style-keywords: 1.0.1 + css-font-weight-keywords: 1.0.0 + css-list-helpers: 2.0.0 + css-system-font-keywords: 1.0.0 + unquote: 1.1.1 + + parse-gitignore@2.0.0: {} + + parse-headers@2.0.5: {} + + parse-imports-exports@0.2.4: + dependencies: + parse-statements: 1.0.11 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-statements@1.0.11: {} + + parse5@6.0.1: {} + + parseurl@1.3.3: {} + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.10: {} + + pathe@1.1.2: {} + + pathe@2.0.1: {} + + pathe@2.0.3: {} + + perfect-debounce@1.0.0: {} + + phin@2.9.3: {} + + phin@3.7.1: + dependencies: + centra: 2.7.0 + transitivePeerDependencies: + - debug + + picocolors@1.1.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + picomatch@4.0.3: {} + + pidtree@0.6.0: {} + + pify@2.3.0: {} + + pinia@2.3.1(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.4.21(typescript@5.8.3) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.8.3)) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@vue/composition-api' + + pirates@4.0.7: {} + + pixelmatch@4.0.2: + dependencies: + pngjs: 3.4.0 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-types@1.3.0: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 1.1.2 + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + + pkg-types@2.1.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.5 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + + pluralize@8.0.0: {} + + pngjs@3.4.0: {} + + pngjs@5.0.0: {} + + postcss-import@14.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-load-config@3.1.4(postcss@8.5.6): + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + optionalDependencies: + postcss: 8.5.6 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.0.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.0.0 + + postcss-modules-values@4.0.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-modules@4.3.1(postcss@8.5.6): + dependencies: + generic-names: 4.0.0 + icss-replace-symbols: 1.1.0 + lodash.camelcase: 4.3.0 + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + string-hash: 1.1.3 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.0.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.45: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + process@0.11.10: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + punycode@2.3.1: {} + + qrcode-reader@1.0.4: {} + + qrcode-terminal@0.12.0: {} + + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + + qs@6.11.0: + dependencies: + side-channel: 1.1.0 + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + quansync@0.2.10: {} + + quansync@0.2.11: {} + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.3 + + react-is@17.0.2: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.26.0 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + + regexp-tree@0.1.27: {} + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + regjsgen@0.8.0: {} + + regjsparser@0.10.0: + dependencies: + jsesc: 0.5.0 + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-main-filename@2.0.0: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve.exports@1.1.1: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@1.22.8: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retry@0.12.0: {} + + reusify@1.0.4: {} + + rfdc@1.4.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup@4.41.1: + dependencies: + '@types/estree': 1.0.7 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.41.1 + '@rollup/rollup-android-arm64': 4.41.1 + '@rollup/rollup-darwin-arm64': 4.41.1 + '@rollup/rollup-darwin-x64': 4.41.1 + '@rollup/rollup-freebsd-arm64': 4.41.1 + '@rollup/rollup-freebsd-x64': 4.41.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.41.1 + '@rollup/rollup-linux-arm-musleabihf': 4.41.1 + '@rollup/rollup-linux-arm64-gnu': 4.41.1 + '@rollup/rollup-linux-arm64-musl': 4.41.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.41.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.41.1 + '@rollup/rollup-linux-riscv64-gnu': 4.41.1 + '@rollup/rollup-linux-riscv64-musl': 4.41.1 + '@rollup/rollup-linux-s390x-gnu': 4.41.1 + '@rollup/rollup-linux-x64-gnu': 4.41.1 + '@rollup/rollup-linux-x64-musl': 4.41.1 + '@rollup/rollup-win32-arm64-msvc': 4.41.1 + '@rollup/rollup-win32-ia32-msvc': 4.41.1 + '@rollup/rollup-win32-x64-msvc': 4.41.1 + fsevents: 2.3.3 + + rollup@4.59.0: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.59.0 + '@rollup/rollup-android-arm64': 4.59.0 + '@rollup/rollup-darwin-arm64': 4.59.0 + '@rollup/rollup-darwin-x64': 4.59.0 + '@rollup/rollup-freebsd-arm64': 4.59.0 + '@rollup/rollup-freebsd-x64': 4.59.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 + '@rollup/rollup-linux-arm64-musl': 4.59.0 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 + '@rollup/rollup-linux-loong64-musl': 4.59.0 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 + '@rollup/rollup-linux-x64-gnu': 4.59.0 + '@rollup/rollup-linux-x64-musl': 4.59.0 + '@rollup/rollup-openbsd-x64': 4.59.0 + '@rollup/rollup-openharmony-arm64': 4.59.0 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 + '@rollup/rollup-win32-x64-gnu': 4.59.0 + '@rollup/rollup-win32-x64-msvc': 4.59.0 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-area-insets@1.4.1: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sass@1.78.0: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.8 + source-map-js: 1.2.1 + + sax@1.4.1: {} + + saxes@5.0.1: + dependencies: + xmlchars: 2.2.0 + + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + + scule@1.3.0: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.7.2: {} + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-blocking@2.0.0: {} + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-git-hooks@2.13.0: {} + + sirv@3.0.1: + dependencies: + '@polka/url': 1.0.0-next.28 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.22 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 + + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 + + spdx-license-ids@3.0.22: {} + + sprintf-js@1.0.3: {} + + stable-hash-x@0.2.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackback@0.0.2: {} + + statuses@2.0.1: {} + + std-env@3.10.0: {} + + std-env@3.8.0: {} + + string-argv@0.3.2: {} + + string-hash@1.1.3: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-tags@1.0.0: {} + + symbol-tree@3.2.4: {} + + synckit@0.11.11: + dependencies: + '@pkgr/core': 0.2.9 + + systemjs@6.15.1: {} + + tapable@2.2.3: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + + terser@5.37.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + throat@6.0.2: {} + + timm@1.7.1: {} + + tinybench@2.9.0: {} + + tinycolor2@1.6.0: {} + + tinyexec@0.3.2: {} + + tinyexec@1.0.1: {} + + tinyexec@1.0.2: {} + + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyrainbow@3.0.3: {} + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + toml-eslint-parser@0.10.0: + dependencies: + eslint-visitor-keys: 3.4.3 + + totalist@3.0.1: {} + + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@2.1.0: + dependencies: + punycode: 2.3.1 + + ts-api-utils@2.1.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + ts-declaration-location@1.0.7(typescript@5.8.3): + dependencies: + picomatch: 4.0.3 + typescript: 5.8.3 + + tslib@2.3.0: {} + + tslib@2.8.1: + optional: true + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.8.3: {} + + typescript@5.9.2: {} + + ufo@1.5.4: {} + + ufo@1.6.1: {} + + unconfig@7.3.2: + dependencies: + '@quansync/fs': 0.1.5 + defu: 6.1.4 + jiti: 2.5.1 + quansync: 0.2.11 + + undici-types@7.10.0: {} + + undici-types@7.8.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unimport@4.1.1: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.3 + local-pkg: 1.1.2 + magic-string: 0.30.18 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 1.3.1 + scule: 1.3.0 + strip-literal: 3.0.0 + unplugin: 2.3.5 + unplugin-utils: 0.2.4 + + unimport@4.2.0: + dependencies: + acorn: 8.14.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.1 + magic-string: 0.30.17 + mlly: 1.7.4 + pathe: 2.0.3 + picomatch: 4.0.2 + pkg-types: 2.1.0 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.14 + unplugin: 2.3.5 + unplugin-utils: 0.2.4 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@0.2.0: {} + + universalify@2.0.1: {} + + unocss-applet@0.11.0(unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3))): + dependencies: + '@unocss-applet/preset-applet': 0.11.0 + '@unocss-applet/preset-rem-rpx': 0.11.0 + '@unocss-applet/transformer-attributify': 0.11.0 + unocss: 66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + + unocss@66.0.0(postcss@8.5.6)(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)): + dependencies: + '@unocss/astro': 66.0.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + '@unocss/cli': 66.0.0 + '@unocss/core': 66.0.0 + '@unocss/postcss': 66.0.0(postcss@8.5.6) + '@unocss/preset-attributify': 66.0.0 + '@unocss/preset-icons': 66.0.0 + '@unocss/preset-mini': 66.0.0 + '@unocss/preset-tagify': 66.0.0 + '@unocss/preset-typography': 66.0.0 + '@unocss/preset-uno': 66.0.0 + '@unocss/preset-web-fonts': 66.0.0 + '@unocss/preset-wind': 66.0.0 + '@unocss/preset-wind3': 66.0.0 + '@unocss/transformer-attributify-jsx': 66.0.0 + '@unocss/transformer-compile-class': 66.0.0 + '@unocss/transformer-directives': 66.0.0 + '@unocss/transformer-variant-group': 66.0.0 + '@unocss/vite': 66.0.0(vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0))(vue@3.4.21(typescript@5.8.3)) + optionalDependencies: + vite: 5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0) + transitivePeerDependencies: + - postcss + - supports-color + - vue + + unpipe@1.0.0: {} + + unplugin-auto-import@19.1.0(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))): + dependencies: + local-pkg: 1.1.2 + magic-string: 0.30.18 + picomatch: 4.0.3 + unimport: 4.2.0 + unplugin: 2.3.5 + unplugin-utils: 0.2.4 + optionalDependencies: + '@vueuse/core': 13.5.0(vue@3.4.21(typescript@5.8.3)) + + unplugin-auto-import@19.3.0(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3))): + dependencies: + local-pkg: 1.1.1 + magic-string: 0.30.17 + picomatch: 4.0.2 + unimport: 4.2.0 + unplugin: 2.3.5 + unplugin-utils: 0.2.4 + optionalDependencies: + '@vueuse/core': 13.5.0(vue@3.4.21(typescript@5.8.3)) + + unplugin-utils@0.2.4: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.2 + + unplugin-utils@0.3.0: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + optional: true + + unplugin@2.3.5: + dependencies: + acorn: 8.14.1 + picomatch: 4.0.2 + webpack-virtual-modules: 0.6.2 + + unquote@1.1.1: {} + + unrs-resolver@1.11.1: + dependencies: + napi-postinstall: 0.3.3 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.11.1 + '@unrs/resolver-binding-android-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-x64': 1.11.1 + '@unrs/resolver-binding-freebsd-x64': 1.11.1 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 + '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-musl': 1.11.1 + '@unrs/resolver-binding-wasm32-wasi': 1.11.1 + '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 + '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 + '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 + + update-browserslist-db@1.1.3(browserslist@4.25.3): + dependencies: + browserslist: 4.25.3 + escalade: 3.2.0 + picocolors: 1.1.1 + + uqrcodejs@4.0.7: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + utif@2.0.1: + dependencies: + pako: 1.0.11 + + util-deprecate@1.0.2: {} + + utils-merge@1.0.1: {} + + v8-to-istanbul@8.1.1: + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.6 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vary@1.1.2: {} + + vite-plugin-uni-polyfill@0.1.0: {} + + vite@5.2.8(@types/node@24.1.0)(sass@1.78.0)(terser@5.37.0): + dependencies: + esbuild: 0.20.2 + postcss: 8.5.6 + rollup: 4.41.1 + optionalDependencies: + '@types/node': 24.1.0 + fsevents: 2.3.3 + sass: 1.78.0 + terser: 5.37.0 + + vite@7.3.1(@types/node@24.1.0)(jiti@2.5.1)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.59.0 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.1.0 + fsevents: 2.3.3 + jiti: 2.5.1 + sass: 1.78.0 + terser: 5.37.0 + yaml: 2.8.1 + + vitest-environment-uniapp@0.0.5(@dcloudio/uni-automator@3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)))(vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)): + dependencies: + '@dcloudio/uni-automator': 3.0.0-4080720251210001(@vueuse/core@13.5.0(vue@3.4.21(typescript@5.8.3)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.5.6)(rollup@4.59.0)(vue@3.4.21(typescript@5.8.3)) + vitest: 4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1) + + vitest@4.0.18(@types/node@24.1.0)(jiti@2.5.1)(jsdom@16.7.0)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1): + dependencies: + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.1.0)(jiti@2.5.1)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@24.1.0)(jiti@2.5.1)(sass@1.78.0)(terser@5.37.0)(yaml@2.8.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.1.0 + jsdom: 16.7.0 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + + vscode-uri@3.0.8: {} + + vue-demi@0.14.10(vue@3.4.21(typescript@5.8.3)): + dependencies: + vue: 3.4.21(typescript@5.8.3) + + vue-echarts@8.0.1(echarts@6.0.0)(vue@3.4.21(typescript@5.8.3)): + dependencies: + echarts: 6.0.0 + vue: 3.4.21(typescript@5.8.3) + + vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1)): + dependencies: + debug: 4.4.1 + eslint: 9.32.0(jiti@2.5.1) + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + lodash: 4.18.1 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + + vue-flow-layout@0.1.1(vue@3.4.21(typescript@5.8.3)): + dependencies: + vue: 3.4.21(typescript@5.8.3) + + vue-flow-layout@0.2.0: + optional: true + + vue-i18n@9.14.5(vue@3.4.21(typescript@5.8.3)): + dependencies: + '@intlify/core-base': 9.14.5 + '@intlify/shared': 9.14.5 + '@vue/devtools-api': 6.6.4 + vue: 3.4.21(typescript@5.8.3) + + vue-router@4.4.4(vue@3.4.21(typescript@5.8.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.4.21(typescript@5.8.3) + + vue-router@4.5.1(vue@3.4.21(typescript@5.8.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.4.21(typescript@5.8.3) + + vue-tsc@3.0.4(typescript@5.8.3): + dependencies: + '@volar/typescript': 2.4.20 + '@vue/language-core': 3.0.4(typescript@5.8.3) + typescript: 5.8.3 + + vue@3.4.21(typescript@5.8.3): + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.8.3)) + '@vue/shared': 3.4.21 + optionalDependencies: + typescript: 5.8.3 + + w3c-hr-time@1.0.2: + dependencies: + browser-process-hrtime: 1.0.0 + + w3c-xmlserializer@2.0.0: + dependencies: + xml-name-validator: 3.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + webidl-conversions@5.0.0: {} + + webidl-conversions@6.1.0: {} + + webpack-virtual-modules@0.6.2: {} + + whatwg-encoding@1.0.5: + dependencies: + iconv-lite: 0.4.24 + + whatwg-mimetype@2.3.0: {} + + whatwg-url@8.7.0: + dependencies: + lodash: 4.18.1 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + + which-module@2.0.1: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + wot-design-uni@1.14.0(vue@3.4.21(typescript@5.8.3)): + dependencies: + vue: 3.4.21(typescript@5.8.3) + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + ws@8.18.0: {} + + xhr@2.6.0: + dependencies: + global: 4.4.0 + is-function: 1.0.2 + parse-headers: 2.0.5 + xtend: 4.0.2 + + xml-name-validator@3.0.0: {} + + xml-name-validator@4.0.0: {} + + xml-parse-from-string@1.0.1: {} + + xml2js@0.5.0: + dependencies: + sax: 1.4.1 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + + xmlchars@2.2.0: {} + + xmlhttprequest@1.8.0: {} + + xregexp@3.1.0: {} + + xtend@4.0.2: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml-eslint-parser@1.3.0: + dependencies: + eslint-visitor-keys: 3.4.3 + yaml: 2.8.1 + + yaml@1.10.2: {} + + yaml@2.8.0: {} + + yaml@2.8.1: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@20.2.9: {} + + yargs-parser@21.1.1: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + zrender@6.0.0: + dependencies: + tslib: 2.3.0 + + zwitch@2.0.4: {} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..c26357e --- /dev/null +++ b/src/App.vue @@ -0,0 +1,9 @@ + diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..a2d3a8e --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,33 @@ +import { request } from '@/utils/request' + +export function fetchUserDetail() { + return request<{ userInfo: Record }>({ url: '/user/detail' }) +} + +export function fetchAgentInfo() { + return request>({ url: '/agent/info' }) +} + +export function fetchHistoryList(params: Record) { + return request<{ list: Record[] }>({ + url: '/report/history', + method: 'POST', + data: params, + }) +} + +export function submitLogin(params: { mobile: string, captcha: string }) { + return request<{ token: string }>({ + url: '/auth/login', + method: 'POST', + data: params, + }) +} + +export function submitInquire(params: Record) { + return request<{ orderNo: string }>({ + url: '/report/inquire', + method: 'POST', + data: params, + }) +} diff --git a/src/auto-imports.d.ts b/src/auto-imports.d.ts new file mode 100644 index 0000000..c1395c4 --- /dev/null +++ b/src/auto-imports.d.ts @@ -0,0 +1,752 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +// biome-ignore lint: disable +export {} +declare global { + const EffectScope: typeof import('vue')['EffectScope'] + const ZoomAdapter: typeof import('./utils/zoomAdapter.js')['ZoomAdapter'] + const aesDecrypt: typeof import('./utils/crypto.js')['aesDecrypt'] + const aesEncrypt: typeof import('./utils/crypto.js')['aesEncrypt'] + const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] + const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] + const chatCrypto: typeof import('./utils/chatCrypto.js')['default'] + const chatEncrypt: typeof import('./utils/chatEncrypt.js')['default'] + const clearAuthStorage: typeof import('./utils/storage')['clearAuthStorage'] + const clearToken: typeof import('./utils/storage')['clearToken'] + const computed: typeof import('vue')['computed'] + const computedAsync: typeof import('@vueuse/core')['computedAsync'] + const computedEager: typeof import('@vueuse/core')['computedEager'] + const computedInject: typeof import('@vueuse/core')['computedInject'] + const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] + const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] + const controlledRef: typeof import('@vueuse/core')['controlledRef'] + const createApp: typeof import('vue')['createApp'] + const createEventHook: typeof import('@vueuse/core')['createEventHook'] + const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] + const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] + const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] + const createRef: typeof import('@vueuse/core')['createRef'] + const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] + const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] + const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] + const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] + const customRef: typeof import('vue')['customRef'] + const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] + const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] + const effectScope: typeof import('vue')['effectScope'] + const ensureCurrentPageAccess: typeof import('./composables/useNavigationAuthGuard')['ensureCurrentPageAccess'] + const ensurePageAccessByUrl: typeof import('./composables/useNavigationAuthGuard')['ensurePageAccessByUrl'] + const extendRef: typeof import('@vueuse/core')['extendRef'] + const getAgentInfo: typeof import('./utils/storage')['getAgentInfo'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentPageMeta: typeof import('./composables/uni-router')['getCurrentPageMeta'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const getCurrentUniRoute: typeof import('./composables/uni-router')['getCurrentUniRoute'] + const getLayoutPageTitle: typeof import('./composables/uni-router')['getLayoutPageTitle'] + const getPageTitleByRoute: typeof import('./composables/uni-router')['getPageTitleByRoute'] + const getToken: typeof import('./utils/storage')['getToken'] + const getUserInfo: typeof import('./utils/storage')['getUserInfo'] + const getWebPathForNotification: typeof import('./composables/uni-router')['getWebPathForNotification'] + const h: typeof import('vue')['h'] + const handlePosterRenderMergeDone: typeof import('./utils/posterRenderMergeBridge')['handlePosterRenderMergeDone'] + const handlePosterRenderMergeFailed: typeof import('./utils/posterRenderMergeBridge')['handlePosterRenderMergeFailed'] + const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] + const inject: typeof import('vue')['inject'] + const injectLocal: typeof import('@vueuse/core')['injectLocal'] + const installNavigationAuthGuard: typeof import('./composables/useNavigationAuthGuard')['installNavigationAuthGuard'] + const isDefined: typeof import('@vueuse/core')['isDefined'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] + const markRaw: typeof import('vue')['markRaw'] + const navigateLogin: typeof import('./utils/navigate')['navigateLogin'] + const navigateTo: typeof import('./utils/navigate')['navigateTo'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites'] + const onBackPress: typeof import('@dcloudio/uni-app')['onBackPress'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval'] + const onError: typeof import('@dcloudio/uni-app')['onError'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onHide: typeof import('@dcloudio/uni-app')['onHide'] + const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] + const onLaunch: typeof import('@dcloudio/uni-app')['onLaunch'] + const onLoad: typeof import('@dcloudio/uni-app')['onLoad'] + const onLongPress: typeof import('@vueuse/core')['onLongPress'] + const onMounted: typeof import('vue')['onMounted'] + const onNavigationBarButtonTap: typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap'] + const onNavigationBarSearchInputChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged'] + const onNavigationBarSearchInputClicked: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked'] + const onNavigationBarSearchInputConfirmed: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed'] + const onNavigationBarSearchInputFocusChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged'] + const onPageNotFound: typeof import('@dcloudio/uni-app')['onPageNotFound'] + const onPageScroll: typeof import('@dcloudio/uni-app')['onPageScroll'] + const onPullDownRefresh: typeof import('@dcloudio/uni-app')['onPullDownRefresh'] + const onReachBottom: typeof import('@dcloudio/uni-app')['onReachBottom'] + const onReady: typeof import('@dcloudio/uni-app')['onReady'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onResize: typeof import('@dcloudio/uni-app')['onResize'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onShareAppMessage: typeof import('@dcloudio/uni-app')['onShareAppMessage'] + const onShareTimeline: typeof import('@dcloudio/uni-app')['onShareTimeline'] + const onShow: typeof import('@dcloudio/uni-app')['onShow'] + const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] + const onTabItemTap: typeof import('@dcloudio/uni-app')['onTabItemTap'] + const onThemeChange: typeof import('@dcloudio/uni-app')['onThemeChange'] + const onUnhandledRejection: typeof import('@dcloudio/uni-app')['onUnhandledRejection'] + const onUnload: typeof import('@dcloudio/uni-app')['onUnload'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] + const openCustomerService: typeof import('./composables/useCustomerService')['openCustomerService'] + const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] + const provide: typeof import('vue')['provide'] + const provideLocal: typeof import('@vueuse/core')['provideLocal'] + const reactify: typeof import('@vueuse/core')['reactify'] + const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] + const reactive: typeof import('vue')['reactive'] + const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] + const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] + const reactivePick: typeof import('@vueuse/core')['reactivePick'] + const readLocalFileAsBase64: typeof import('./utils/appLocalFile')['readLocalFileAsBase64'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] + const refDebounced: typeof import('@vueuse/core')['refDebounced'] + const refDefault: typeof import('@vueuse/core')['refDefault'] + const refThrottled: typeof import('@vueuse/core')['refThrottled'] + const refWithControl: typeof import('@vueuse/core')['refWithControl'] + const request: typeof import('./utils/request')['request'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const resolveRef: typeof import('@vueuse/core')['resolveRef'] + const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] + const resolveUserAvatarUrl: typeof import('./utils/avatarUrl')['resolveUserAvatarUrl'] + const resolveWebToUni: typeof import('./composables/uni-router')['resolveWebToUni'] + const setAgentInfo: typeof import('./utils/storage')['setAgentInfo'] + const setAuthSession: typeof import('./utils/storage')['setAuthSession'] + const setPosterMergePending: typeof import('./utils/posterRenderMergeBridge')['setPosterMergePending'] + const setToken: typeof import('./utils/storage')['setToken'] + const setUserInfo: typeof import('./utils/storage')['setUserInfo'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const syncRef: typeof import('@vueuse/core')['syncRef'] + const syncRefs: typeof import('@vueuse/core')['syncRefs'] + const templateRef: typeof import('@vueuse/core')['templateRef'] + const throttledRef: typeof import('@vueuse/core')['throttledRef'] + const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] + const toRaw: typeof import('vue')['toRaw'] + const toReactive: typeof import('@vueuse/core')['toReactive'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const toValue: typeof import('vue')['toValue'] + const triggerRef: typeof import('vue')['triggerRef'] + const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] + const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] + const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] + const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] + const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] + const unref: typeof import('vue')['unref'] + const unrefElement: typeof import('@vueuse/core')['unrefElement'] + const until: typeof import('@vueuse/core')['until'] + const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] + const useAgentStore: typeof import('./stores/agentStore')['useAgentStore'] + const useAnimate: typeof import('@vueuse/core')['useAnimate'] + const useApiFetch: typeof import('./composables/useApiFetch')['default'] + const useAppBootstrap: typeof import('./composables/useAppBootstrap')['useAppBootstrap'] + const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] + const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] + const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] + const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] + const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] + const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] + const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] + const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] + const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] + const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] + const useArraySome: typeof import('@vueuse/core')['useArraySome'] + const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] + const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] + const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] + const useAttrs: typeof import('vue')['useAttrs'] + const useAuthGuard: typeof import('./composables/useAuthGuard')['useAuthGuard'] + const useAuthStore: typeof import('./stores/auth')['useAuthStore'] + const useBase64: typeof import('@vueuse/core')['useBase64'] + const useBattery: typeof import('@vueuse/core')['useBattery'] + const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] + const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] + const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] + const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] + const useCached: typeof import('@vueuse/core')['useCached'] + const useClipboard: typeof import('@vueuse/core')['useClipboard'] + const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems'] + const useCloned: typeof import('@vueuse/core')['useCloned'] + const useColorMode: typeof import('@vueuse/core')['useColorMode'] + const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] + const useCount: typeof import('./composables/useCount')['useCount'] + const useCountdown: typeof import('@vueuse/core')['useCountdown'] + const useCounter: typeof import('@vueuse/core')['useCounter'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVar: typeof import('@vueuse/core')['useCssVar'] + const useCssVars: typeof import('vue')['useCssVars'] + const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] + const useCycleList: typeof import('@vueuse/core')['useCycleList'] + const useDark: typeof import('@vueuse/core')['useDark'] + const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] + const useDebounce: typeof import('@vueuse/core')['useDebounce'] + const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] + const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] + const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] + const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] + const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] + const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] + const useDialogStore: typeof import('./stores/dialogStore')['useDialogStore'] + const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] + const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] + const useDraggable: typeof import('@vueuse/core')['useDraggable'] + const useDropZone: typeof import('@vueuse/core')['useDropZone'] + const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] + const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] + const useElementHover: typeof import('@vueuse/core')['useElementHover'] + const useElementSize: typeof import('@vueuse/core')['useElementSize'] + const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] + const useEnv: typeof import('./composables/useEnv.js')['useEnv'] + const useEventBus: typeof import('@vueuse/core')['useEventBus'] + const useEventListener: typeof import('@vueuse/core')['useEventListener'] + const useEventSource: typeof import('@vueuse/core')['useEventSource'] + const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] + const useFavicon: typeof import('@vueuse/core')['useFavicon'] + const useFetch: typeof import('@vueuse/core')['useFetch'] + const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] + const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] + const useFocus: typeof import('@vueuse/core')['useFocus'] + const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] + const useFps: typeof import('@vueuse/core')['useFps'] + const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] + const useGamepad: typeof import('@vueuse/core')['useGamepad'] + const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] + const useHotUpdate: typeof import('./composables/useHotUpdate')['useHotUpdate'] + const useHttp: typeof import('./composables/useHttp.js')['useHttp'] + const useId: typeof import('vue')['useId'] + const useIdle: typeof import('@vueuse/core')['useIdle'] + const useImage: typeof import('@vueuse/core')['useImage'] + const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] + const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] + const useInterval: typeof import('@vueuse/core')['useInterval'] + const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] + const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] + const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] + const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] + const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] + const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] + const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] + const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] + const useMemoize: typeof import('@vueuse/core')['useMemoize'] + const useMemory: typeof import('@vueuse/core')['useMemory'] + const useModel: typeof import('vue')['useModel'] + const useMounted: typeof import('@vueuse/core')['useMounted'] + const useMouse: typeof import('@vueuse/core')['useMouse'] + const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] + const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] + const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] + const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] + const useNetwork: typeof import('@vueuse/core')['useNetwork'] + const useNow: typeof import('@vueuse/core')['useNow'] + const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] + const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] + const useOnline: typeof import('@vueuse/core')['useOnline'] + const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] + const useParallax: typeof import('@vueuse/core')['useParallax'] + const useParentElement: typeof import('@vueuse/core')['useParentElement'] + const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] + const usePermission: typeof import('@vueuse/core')['usePermission'] + const usePointer: typeof import('@vueuse/core')['usePointer'] + const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] + const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] + const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] + const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] + const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] + const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] + const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] + const usePreferredReducedTransparency: typeof import('@vueuse/core')['usePreferredReducedTransparency'] + const usePrevious: typeof import('@vueuse/core')['usePrevious'] + const useQuery: typeof import('./composables/useQuery')['useQuery'] + const useRafFn: typeof import('@vueuse/core')['useRafFn'] + const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] + const useReportWebview: typeof import('./composables/useReportWebview')['useReportWebview'] + const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] + const useRiskNotifier: typeof import('./composables/useRiskNotifier.js')['useRiskNotifier'] + const useRoute: typeof import('./composables/uni-router')['useRoute'] + const useRouter: typeof import('./composables/uni-router')['useRouter'] + const useSEO: typeof import('./composables/useSEO.js')['useSEO'] + const useSSRWidth: typeof import('@vueuse/core')['useSSRWidth'] + const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] + const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] + const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] + const useScroll: typeof import('@vueuse/core')['useScroll'] + const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] + const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] + const useShare: typeof import('@vueuse/core')['useShare'] + const useSlots: typeof import('vue')['useSlots'] + const useSorted: typeof import('@vueuse/core')['useSorted'] + const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] + const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] + const useStepper: typeof import('@vueuse/core')['useStepper'] + const useStorage: typeof import('@vueuse/core')['useStorage'] + const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] + const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] + const useSupported: typeof import('@vueuse/core')['useSupported'] + const useSwipe: typeof import('@vueuse/core')['useSwipe'] + const useTemplateRef: typeof import('vue')['useTemplateRef'] + const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] + const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] + const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] + const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] + const useThrottle: typeof import('@vueuse/core')['useThrottle'] + const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] + const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] + const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] + const useTimeout: typeof import('@vueuse/core')['useTimeout'] + const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] + const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] + const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] + const useTitle: typeof import('@vueuse/core')['useTitle'] + const useToNumber: typeof import('@vueuse/core')['useToNumber'] + const useToString: typeof import('@vueuse/core')['useToString'] + const useToggle: typeof import('@vueuse/core')['useToggle'] + const useTransition: typeof import('@vueuse/core')['useTransition'] + const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] + const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] + const useUserStore: typeof import('./stores/userStore')['useUserStore'] + const useVModel: typeof import('@vueuse/core')['useVModel'] + const useVModels: typeof import('@vueuse/core')['useVModels'] + const useVibrate: typeof import('@vueuse/core')['useVibrate'] + const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] + const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] + const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] + const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] + const useWebView: typeof import('./composables/useWebView.js')['useWebView'] + const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] + const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] + const useWeixinShare: typeof import('./composables/useWeixinShare.js')['useWeixinShare'] + const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] + const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] + const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] + const useZoomAdapter: typeof import('./composables/useZoomAdapter.js')['useZoomAdapter'] + const watch: typeof import('vue')['watch'] + const watchArray: typeof import('@vueuse/core')['watchArray'] + const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] + const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] + const watchDeep: typeof import('@vueuse/core')['watchDeep'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] + const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] + const watchOnce: typeof import('@vueuse/core')['watchOnce'] + const watchPausable: typeof import('@vueuse/core')['watchPausable'] + const watchPostEffect: typeof import('vue')['watchPostEffect'] + const watchSyncEffect: typeof import('vue')['watchSyncEffect'] + const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] + const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] + const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] + const whenever: typeof import('@vueuse/core')['whenever'] + const writePngBase64ToLocal: typeof import('./utils/appLocalFile')['writePngBase64ToLocal'] + const zoomAdapter: typeof import('./utils/zoomAdapter.js')['default'] +} +// for type re-export +declare global { + // @ts-ignore + export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' + import('vue') + // @ts-ignore + export type { ApiEnvelope } from './composables/useApiFetch' + import('./composables/useApiFetch') + // @ts-ignore + export type { AppVersionPayload } from './composables/useHotUpdate' + import('./composables/useHotUpdate') + // @ts-ignore + export type { ApiResponse } from './utils/request' + import('./utils/request') +} + +// for vue template auto import +import { UnwrapRef } from 'vue' +declare module 'vue' { + interface GlobalComponents {} + interface ComponentCustomProperties { + readonly EffectScope: UnwrapRef + readonly ZoomAdapter: UnwrapRef + readonly aesDecrypt: UnwrapRef + readonly aesEncrypt: UnwrapRef + readonly asyncComputed: UnwrapRef + readonly autoResetRef: UnwrapRef + readonly chatCrypto: UnwrapRef + readonly chatEncrypt: UnwrapRef + readonly clearAuthStorage: UnwrapRef + readonly clearToken: UnwrapRef + readonly computed: UnwrapRef + readonly computedAsync: UnwrapRef + readonly computedEager: UnwrapRef + readonly computedInject: UnwrapRef + readonly computedWithControl: UnwrapRef + readonly controlledComputed: UnwrapRef + readonly controlledRef: UnwrapRef + readonly createApp: UnwrapRef + readonly createEventHook: UnwrapRef + readonly createGlobalState: UnwrapRef + readonly createInjectionState: UnwrapRef + readonly createReactiveFn: UnwrapRef + readonly createRef: UnwrapRef + readonly createReusableTemplate: UnwrapRef + readonly createSharedComposable: UnwrapRef + readonly createTemplatePromise: UnwrapRef + readonly createUnrefFn: UnwrapRef + readonly customRef: UnwrapRef + readonly debouncedRef: UnwrapRef + readonly debouncedWatch: UnwrapRef + readonly defineAsyncComponent: UnwrapRef + readonly defineComponent: UnwrapRef + readonly eagerComputed: UnwrapRef + readonly effectScope: UnwrapRef + readonly ensureCurrentPageAccess: UnwrapRef + readonly ensurePageAccessByUrl: UnwrapRef + readonly extendRef: UnwrapRef + readonly getAgentInfo: UnwrapRef + readonly getCurrentInstance: UnwrapRef + readonly getCurrentPageMeta: UnwrapRef + readonly getCurrentScope: UnwrapRef + readonly getCurrentUniRoute: UnwrapRef + readonly getLayoutPageTitle: UnwrapRef + readonly getPageTitleByRoute: UnwrapRef + readonly getToken: UnwrapRef + readonly getUserInfo: UnwrapRef + readonly getWebPathForNotification: UnwrapRef + readonly h: UnwrapRef + readonly handlePosterRenderMergeDone: UnwrapRef + readonly handlePosterRenderMergeFailed: UnwrapRef + readonly ignorableWatch: UnwrapRef + readonly inject: UnwrapRef + readonly injectLocal: UnwrapRef + readonly installNavigationAuthGuard: UnwrapRef + readonly isDefined: UnwrapRef + readonly isProxy: UnwrapRef + readonly isReactive: UnwrapRef + readonly isReadonly: UnwrapRef + readonly isRef: UnwrapRef + readonly makeDestructurable: UnwrapRef + readonly markRaw: UnwrapRef + readonly navigateLogin: UnwrapRef + readonly navigateTo: UnwrapRef + readonly nextTick: UnwrapRef + readonly onActivated: UnwrapRef + readonly onAddToFavorites: UnwrapRef + readonly onBackPress: UnwrapRef + readonly onBeforeMount: UnwrapRef + readonly onBeforeUnmount: UnwrapRef + readonly onBeforeUpdate: UnwrapRef + readonly onClickOutside: UnwrapRef + readonly onDeactivated: UnwrapRef + readonly onElementRemoval: UnwrapRef + readonly onError: UnwrapRef + readonly onErrorCaptured: UnwrapRef + readonly onHide: UnwrapRef + readonly onKeyStroke: UnwrapRef + readonly onLaunch: UnwrapRef + readonly onLoad: UnwrapRef + readonly onLongPress: UnwrapRef + readonly onMounted: UnwrapRef + readonly onNavigationBarButtonTap: UnwrapRef + readonly onNavigationBarSearchInputChanged: UnwrapRef + readonly onNavigationBarSearchInputClicked: UnwrapRef + readonly onNavigationBarSearchInputConfirmed: UnwrapRef + readonly onNavigationBarSearchInputFocusChanged: UnwrapRef + readonly onPageNotFound: UnwrapRef + readonly onPageScroll: UnwrapRef + readonly onPullDownRefresh: UnwrapRef + readonly onReachBottom: UnwrapRef + readonly onReady: UnwrapRef + readonly onRenderTracked: UnwrapRef + readonly onRenderTriggered: UnwrapRef + readonly onResize: UnwrapRef + readonly onScopeDispose: UnwrapRef + readonly onServerPrefetch: UnwrapRef + readonly onShareAppMessage: UnwrapRef + readonly onShareTimeline: UnwrapRef + readonly onShow: UnwrapRef + readonly onStartTyping: UnwrapRef + readonly onTabItemTap: UnwrapRef + readonly onThemeChange: UnwrapRef + readonly onUnhandledRejection: UnwrapRef + readonly onUnload: UnwrapRef + readonly onUnmounted: UnwrapRef + readonly onUpdated: UnwrapRef + readonly onWatcherCleanup: UnwrapRef + readonly openCustomerService: UnwrapRef + readonly pausableWatch: UnwrapRef + readonly provide: UnwrapRef + readonly provideLocal: UnwrapRef + readonly reactify: UnwrapRef + readonly reactifyObject: UnwrapRef + readonly reactive: UnwrapRef + readonly reactiveComputed: UnwrapRef + readonly reactiveOmit: UnwrapRef + readonly reactivePick: UnwrapRef + readonly readLocalFileAsBase64: UnwrapRef + readonly readonly: UnwrapRef + readonly ref: UnwrapRef + readonly refAutoReset: UnwrapRef + readonly refDebounced: UnwrapRef + readonly refDefault: UnwrapRef + readonly refThrottled: UnwrapRef + readonly refWithControl: UnwrapRef + readonly request: UnwrapRef + readonly resolveComponent: UnwrapRef + readonly resolveRef: UnwrapRef + readonly resolveUnref: UnwrapRef + readonly resolveUserAvatarUrl: UnwrapRef + readonly resolveWebToUni: UnwrapRef + readonly setAgentInfo: UnwrapRef + readonly setAuthSession: UnwrapRef + readonly setPosterMergePending: UnwrapRef + readonly setToken: UnwrapRef + readonly setUserInfo: UnwrapRef + readonly shallowReactive: UnwrapRef + readonly shallowReadonly: UnwrapRef + readonly shallowRef: UnwrapRef + readonly syncRef: UnwrapRef + readonly syncRefs: UnwrapRef + readonly templateRef: UnwrapRef + readonly throttledRef: UnwrapRef + readonly throttledWatch: UnwrapRef + readonly toRaw: UnwrapRef + readonly toReactive: UnwrapRef + readonly toRef: UnwrapRef + readonly toRefs: UnwrapRef + readonly toValue: UnwrapRef + readonly triggerRef: UnwrapRef + readonly tryOnBeforeMount: UnwrapRef + readonly tryOnBeforeUnmount: UnwrapRef + readonly tryOnMounted: UnwrapRef + readonly tryOnScopeDispose: UnwrapRef + readonly tryOnUnmounted: UnwrapRef + readonly unref: UnwrapRef + readonly unrefElement: UnwrapRef + readonly until: UnwrapRef + readonly useActiveElement: UnwrapRef + readonly useAgentStore: UnwrapRef + readonly useAnimate: UnwrapRef + readonly useApiFetch: UnwrapRef + readonly useAppBootstrap: UnwrapRef + readonly useArrayDifference: UnwrapRef + readonly useArrayEvery: UnwrapRef + readonly useArrayFilter: UnwrapRef + readonly useArrayFind: UnwrapRef + readonly useArrayFindIndex: UnwrapRef + readonly useArrayFindLast: UnwrapRef + readonly useArrayIncludes: UnwrapRef + readonly useArrayJoin: UnwrapRef + readonly useArrayMap: UnwrapRef + readonly useArrayReduce: UnwrapRef + readonly useArraySome: UnwrapRef + readonly useArrayUnique: UnwrapRef + readonly useAsyncQueue: UnwrapRef + readonly useAsyncState: UnwrapRef + readonly useAttrs: UnwrapRef + readonly useAuthGuard: UnwrapRef + readonly useAuthStore: UnwrapRef + readonly useBase64: UnwrapRef + readonly useBattery: UnwrapRef + readonly useBluetooth: UnwrapRef + readonly useBreakpoints: UnwrapRef + readonly useBroadcastChannel: UnwrapRef + readonly useBrowserLocation: UnwrapRef + readonly useCached: UnwrapRef + readonly useClipboard: UnwrapRef + readonly useClipboardItems: UnwrapRef + readonly useCloned: UnwrapRef + readonly useColorMode: UnwrapRef + readonly useConfirmDialog: UnwrapRef + readonly useCount: UnwrapRef + readonly useCountdown: UnwrapRef + readonly useCounter: UnwrapRef + readonly useCssModule: UnwrapRef + readonly useCssVar: UnwrapRef + readonly useCssVars: UnwrapRef + readonly useCurrentElement: UnwrapRef + readonly useCycleList: UnwrapRef + readonly useDark: UnwrapRef + readonly useDateFormat: UnwrapRef + readonly useDebounce: UnwrapRef + readonly useDebounceFn: UnwrapRef + readonly useDebouncedRefHistory: UnwrapRef + readonly useDeviceMotion: UnwrapRef + readonly useDeviceOrientation: UnwrapRef + readonly useDevicePixelRatio: UnwrapRef + readonly useDevicesList: UnwrapRef + readonly useDialogStore: UnwrapRef + readonly useDisplayMedia: UnwrapRef + readonly useDocumentVisibility: UnwrapRef + readonly useDraggable: UnwrapRef + readonly useDropZone: UnwrapRef + readonly useElementBounding: UnwrapRef + readonly useElementByPoint: UnwrapRef + readonly useElementHover: UnwrapRef + readonly useElementSize: UnwrapRef + readonly useElementVisibility: UnwrapRef + readonly useEnv: UnwrapRef + readonly useEventBus: UnwrapRef + readonly useEventListener: UnwrapRef + readonly useEventSource: UnwrapRef + readonly useEyeDropper: UnwrapRef + readonly useFavicon: UnwrapRef + readonly useFetch: UnwrapRef + readonly useFileDialog: UnwrapRef + readonly useFileSystemAccess: UnwrapRef + readonly useFocus: UnwrapRef + readonly useFocusWithin: UnwrapRef + readonly useFps: UnwrapRef + readonly useFullscreen: UnwrapRef + readonly useGamepad: UnwrapRef + readonly useGeolocation: UnwrapRef + readonly useHotUpdate: UnwrapRef + readonly useHttp: UnwrapRef + readonly useId: UnwrapRef + readonly useIdle: UnwrapRef + readonly useImage: UnwrapRef + readonly useInfiniteScroll: UnwrapRef + readonly useIntersectionObserver: UnwrapRef + readonly useInterval: UnwrapRef + readonly useIntervalFn: UnwrapRef + readonly useKeyModifier: UnwrapRef + readonly useLastChanged: UnwrapRef + readonly useLocalStorage: UnwrapRef + readonly useMagicKeys: UnwrapRef + readonly useManualRefHistory: UnwrapRef + readonly useMediaControls: UnwrapRef + readonly useMediaQuery: UnwrapRef + readonly useMemoize: UnwrapRef + readonly useMemory: UnwrapRef + readonly useModel: UnwrapRef + readonly useMounted: UnwrapRef + readonly useMouse: UnwrapRef + readonly useMouseInElement: UnwrapRef + readonly useMousePressed: UnwrapRef + readonly useMutationObserver: UnwrapRef + readonly useNavigatorLanguage: UnwrapRef + readonly useNetwork: UnwrapRef + readonly useNow: UnwrapRef + readonly useObjectUrl: UnwrapRef + readonly useOffsetPagination: UnwrapRef + readonly useOnline: UnwrapRef + readonly usePageLeave: UnwrapRef + readonly useParallax: UnwrapRef + readonly useParentElement: UnwrapRef + readonly usePerformanceObserver: UnwrapRef + readonly usePermission: UnwrapRef + readonly usePointer: UnwrapRef + readonly usePointerLock: UnwrapRef + readonly usePointerSwipe: UnwrapRef + readonly usePreferredColorScheme: UnwrapRef + readonly usePreferredContrast: UnwrapRef + readonly usePreferredDark: UnwrapRef + readonly usePreferredLanguages: UnwrapRef + readonly usePreferredReducedMotion: UnwrapRef + readonly usePreferredReducedTransparency: UnwrapRef + readonly usePrevious: UnwrapRef + readonly useQuery: UnwrapRef + readonly useRafFn: UnwrapRef + readonly useRefHistory: UnwrapRef + readonly useReportWebview: UnwrapRef + readonly useResizeObserver: UnwrapRef + readonly useRiskNotifier: UnwrapRef + readonly useRoute: UnwrapRef + readonly useRouter: UnwrapRef + readonly useSEO: UnwrapRef + readonly useSSRWidth: UnwrapRef + readonly useScreenOrientation: UnwrapRef + readonly useScreenSafeArea: UnwrapRef + readonly useScriptTag: UnwrapRef + readonly useScroll: UnwrapRef + readonly useScrollLock: UnwrapRef + readonly useSessionStorage: UnwrapRef + readonly useShare: UnwrapRef + readonly useSlots: UnwrapRef + readonly useSorted: UnwrapRef + readonly useSpeechRecognition: UnwrapRef + readonly useSpeechSynthesis: UnwrapRef + readonly useStepper: UnwrapRef + readonly useStorage: UnwrapRef + readonly useStorageAsync: UnwrapRef + readonly useStyleTag: UnwrapRef + readonly useSupported: UnwrapRef + readonly useSwipe: UnwrapRef + readonly useTemplateRef: UnwrapRef + readonly useTemplateRefsList: UnwrapRef + readonly useTextDirection: UnwrapRef + readonly useTextSelection: UnwrapRef + readonly useTextareaAutosize: UnwrapRef + readonly useThrottle: UnwrapRef + readonly useThrottleFn: UnwrapRef + readonly useThrottledRefHistory: UnwrapRef + readonly useTimeAgo: UnwrapRef + readonly useTimeout: UnwrapRef + readonly useTimeoutFn: UnwrapRef + readonly useTimeoutPoll: UnwrapRef + readonly useTimestamp: UnwrapRef + readonly useTitle: UnwrapRef + readonly useToNumber: UnwrapRef + readonly useToString: UnwrapRef + readonly useToggle: UnwrapRef + readonly useTransition: UnwrapRef + readonly useUrlSearchParams: UnwrapRef + readonly useUserMedia: UnwrapRef + readonly useUserStore: UnwrapRef + readonly useVModel: UnwrapRef + readonly useVModels: UnwrapRef + readonly useVibrate: UnwrapRef + readonly useVirtualList: UnwrapRef + readonly useWakeLock: UnwrapRef + readonly useWebNotification: UnwrapRef + readonly useWebSocket: UnwrapRef + readonly useWebView: UnwrapRef + readonly useWebWorker: UnwrapRef + readonly useWebWorkerFn: UnwrapRef + readonly useWeixinShare: UnwrapRef + readonly useWindowFocus: UnwrapRef + readonly useWindowScroll: UnwrapRef + readonly useWindowSize: UnwrapRef + readonly useZoomAdapter: UnwrapRef + readonly watch: UnwrapRef + readonly watchArray: UnwrapRef + readonly watchAtMost: UnwrapRef + readonly watchDebounced: UnwrapRef + readonly watchDeep: UnwrapRef + readonly watchEffect: UnwrapRef + readonly watchIgnorable: UnwrapRef + readonly watchImmediate: UnwrapRef + readonly watchOnce: UnwrapRef + readonly watchPausable: UnwrapRef + readonly watchPostEffect: UnwrapRef + readonly watchSyncEffect: UnwrapRef + readonly watchThrottled: UnwrapRef + readonly watchTriggerable: UnwrapRef + readonly watchWithFilter: UnwrapRef + readonly whenever: UnwrapRef + readonly writePngBase64ToLocal: UnwrapRef + readonly zoomAdapter: UnwrapRef + } +} \ No newline at end of file diff --git a/src/components.d.ts b/src/components.d.ts new file mode 100644 index 0000000..77ca10e --- /dev/null +++ b/src/components.d.ts @@ -0,0 +1,50 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by vite-plugin-uni-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +declare module 'vue' { + export interface GlobalComponents { + AccountCancelAgreement: typeof import('./components/AccountCancelAgreement.vue')['default'] + AgentApplicationForm: typeof import('./components/AgentApplicationForm.vue')['default'] + BindPhoneDialog: typeof import('./components/BindPhoneDialog.vue')['default'] + GaugeChart: typeof import('./components/GaugeChart.vue')['default'] + ImageSaveGuide: typeof import('./components/ImageSaveGuide.vue')['default'] + InquireForm: typeof import('./components/InquireForm.vue')['default'] + LButtonGroup: typeof import('./components/LButtonGroup.vue')['default'] + LEmpty: typeof import('./components/LEmpty.vue')['default'] + LoginDialog: typeof import('./components/LoginDialog.vue')['default'] + LRemark: typeof import('./components/LRemark.vue')['default'] + LTable: typeof import('./components/LTable.vue')['default'] + LTitle: typeof import('./components/LTitle.vue')['default'] + Payment: typeof import('./components/Payment.vue')['default'] + PriceInputPopup: typeof import('./components/PriceInputPopup.vue')['default'] + QRcode: typeof import('./components/QRcode.vue')['default'] + RealNameAuthDialog: typeof import('./components/RealNameAuthDialog.vue')['default'] + SectionTitle: typeof import('./components/SectionTitle.vue')['default'] + ShareReportButton: typeof import('./components/ShareReportButton.vue')['default'] + StyledTabs: typeof import('./components/StyledTabs.vue')['default'] + TitleBanner: typeof import('./components/TitleBanner.vue')['default'] + VerificationCard: typeof import('./components/VerificationCard.vue')['default'] + VipBanner: typeof import('./components/VipBanner.vue')['default'] + WdButton: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default'] + WdCell: typeof import('wot-design-uni/components/wd-cell/wd-cell.vue')['default'] + WdCellGroup: typeof import('wot-design-uni/components/wd-cell-group/wd-cell-group.vue')['default'] + WdCheckbox: typeof import('wot-design-uni/components/wd-checkbox/wd-checkbox.vue')['default'] + WdColPicker: typeof import('wot-design-uni/components/wd-col-picker/wd-col-picker.vue')['default'] + WdDivider: typeof import('wot-design-uni/components/wd-divider/wd-divider.vue')['default'] + WdForm: typeof import('wot-design-uni/components/wd-form/wd-form.vue')['default'] + WdIcon: typeof import('wot-design-uni/components/wd-icon/wd-icon.vue')['default'] + WdInput: typeof import('wot-design-uni/components/wd-input/wd-input.vue')['default'] + WdNavbar: typeof import('wot-design-uni/components/wd-navbar/wd-navbar.vue')['default'] + WdPagination: typeof import('wot-design-uni/components/wd-pagination/wd-pagination.vue')['default'] + WdPicker: typeof import('wot-design-uni/components/wd-picker/wd-picker.vue')['default'] + WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.vue')['default'] + WdRadio: typeof import('wot-design-uni/components/wd-radio/wd-radio.vue')['default'] + WdRadioGroup: typeof import('wot-design-uni/components/wd-radio-group/wd-radio-group.vue')['default'] + WdTabbar: typeof import('wot-design-uni/components/wd-tabbar/wd-tabbar.vue')['default'] + WdTabbarItem: typeof import('wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.vue')['default'] + } +} diff --git a/src/components/AccountCancelAgreement.vue b/src/components/AccountCancelAgreement.vue new file mode 100644 index 0000000..17c5f48 --- /dev/null +++ b/src/components/AccountCancelAgreement.vue @@ -0,0 +1,46 @@ + diff --git a/src/components/AgentApplicationForm.vue b/src/components/AgentApplicationForm.vue new file mode 100644 index 0000000..69dc8b6 --- /dev/null +++ b/src/components/AgentApplicationForm.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/src/components/BindPhoneDialog.vue b/src/components/BindPhoneDialog.vue new file mode 100644 index 0000000..0adca3f --- /dev/null +++ b/src/components/BindPhoneDialog.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/src/components/GaugeChart.vue b/src/components/GaugeChart.vue new file mode 100644 index 0000000..b03136e --- /dev/null +++ b/src/components/GaugeChart.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/src/components/ImageSaveGuide.vue b/src/components/ImageSaveGuide.vue new file mode 100644 index 0000000..baa2353 --- /dev/null +++ b/src/components/ImageSaveGuide.vue @@ -0,0 +1,279 @@ + + + + + diff --git a/src/components/InquireForm.vue b/src/components/InquireForm.vue new file mode 100644 index 0000000..ec45028 --- /dev/null +++ b/src/components/InquireForm.vue @@ -0,0 +1,842 @@ + + + + + diff --git a/src/components/LButtonGroup.vue b/src/components/LButtonGroup.vue new file mode 100644 index 0000000..999c4d8 --- /dev/null +++ b/src/components/LButtonGroup.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/components/LEmpty.vue b/src/components/LEmpty.vue new file mode 100644 index 0000000..441c999 --- /dev/null +++ b/src/components/LEmpty.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/LRemark.vue b/src/components/LRemark.vue new file mode 100644 index 0000000..e057dca --- /dev/null +++ b/src/components/LRemark.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/components/LTable.vue b/src/components/LTable.vue new file mode 100644 index 0000000..c2d5b28 --- /dev/null +++ b/src/components/LTable.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/components/LTitle.vue b/src/components/LTitle.vue new file mode 100644 index 0000000..9ae95e9 --- /dev/null +++ b/src/components/LTitle.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/LoginDialog.vue b/src/components/LoginDialog.vue new file mode 100644 index 0000000..43bf35a --- /dev/null +++ b/src/components/LoginDialog.vue @@ -0,0 +1,356 @@ + + + + + diff --git a/src/components/Payment.vue b/src/components/Payment.vue new file mode 100644 index 0000000..661f44e --- /dev/null +++ b/src/components/Payment.vue @@ -0,0 +1,495 @@ + + + + + diff --git a/src/components/PriceInputPopup.vue b/src/components/PriceInputPopup.vue new file mode 100644 index 0000000..62c081f --- /dev/null +++ b/src/components/PriceInputPopup.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/src/components/QRcode.vue b/src/components/QRcode.vue new file mode 100644 index 0000000..e5dbc15 --- /dev/null +++ b/src/components/QRcode.vue @@ -0,0 +1,1098 @@ + + + + + + + + + diff --git a/src/components/RealNameAuthDialog.vue b/src/components/RealNameAuthDialog.vue new file mode 100644 index 0000000..492b3bc --- /dev/null +++ b/src/components/RealNameAuthDialog.vue @@ -0,0 +1,408 @@ + + + + + diff --git a/src/components/SectionTitle.vue b/src/components/SectionTitle.vue new file mode 100644 index 0000000..cb5c4d9 --- /dev/null +++ b/src/components/SectionTitle.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/components/ShareReportButton.vue b/src/components/ShareReportButton.vue new file mode 100644 index 0000000..a3d903d --- /dev/null +++ b/src/components/ShareReportButton.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/components/StyledTabs.vue b/src/components/StyledTabs.vue new file mode 100644 index 0000000..cbaee76 --- /dev/null +++ b/src/components/StyledTabs.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/TitleBanner.vue b/src/components/TitleBanner.vue new file mode 100644 index 0000000..44eea63 --- /dev/null +++ b/src/components/TitleBanner.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/components/VerificationCard.vue b/src/components/VerificationCard.vue new file mode 100644 index 0000000..cdee7a5 --- /dev/null +++ b/src/components/VerificationCard.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/components/VipBanner.vue b/src/components/VipBanner.vue new file mode 100644 index 0000000..f9fe513 --- /dev/null +++ b/src/components/VipBanner.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/composables/uni-router.ts b/src/composables/uni-router.ts new file mode 100644 index 0000000..253db20 --- /dev/null +++ b/src/composables/uni-router.ts @@ -0,0 +1,235 @@ +import { pages } from 'virtual:uni-pages' + +/** + * 将 webview 的 vue-router 用法映射到 uni 路由(迁移页面使用) + */ +const pathToPage: Record = { + '/': '/pages/index', + '/login': '/pages/login', + '/historyQuery': '/pages/history-query', + '/help': '/pages/help', + '/help/detail': '/pages/help-detail', + '/help/guide': '/pages/help-guide', + '/withdraw': '/pages/withdraw', + '/report': '/pages/report-result-webview', + '/example': '/pages/report-example-webview', + '/app/report': '/pages/report-result-webview', + '/app/example': '/pages/report-example-webview', + '/privacyPolicy': '/pages/privacy-policy', + '/userAgreement': '/pages/user-agreement', + '/authorization': '/pages/authorization', + '/agentManageAgreement': '/pages/agent-manage-agreement', + '/agentSerivceAgreement': '/pages/agent-service-agreement', + '/agentServiceAgreement': '/pages/agent-service-agreement', + '/payment/result': '/pages/payment-result', + '/agent': '/pages/agent', + '/agent/promote': '/pages/promote', + '/me': '/pages/me', + '/cancelAccount': '/pages/cancel-account', +} + +const nameToPage: Record = { + index: '/pages/index', + login: '/pages/login', + invite: '/pages/invitation', + invitation: '/pages/invitation', + promote: '/pages/promote', + agent: '/pages/agent', + history: '/pages/history-query', + help: '/pages/help', + helpDetail: '/pages/help-detail', + helpGuide: '/pages/help-guide', + withdraw: '/pages/withdraw', + report: '/pages/report-result-webview', + example: '/pages/report-example-webview', + paymentResult: '/pages/payment-result', + privacyPolicy: '/pages/privacy-policy', + userAgreement: '/pages/user-agreement', + authorization: '/pages/authorization', + agentManageAgreement: '/pages/agent-manage-agreement', + agentSerivceAgreement: '/pages/agent-service-agreement', + agentServiceAgreement: '/pages/agent-service-agreement', + me: '/pages/me', + cancelAccount: '/pages/cancel-account', +} + +function withQuery(url: string, query?: Record) { + if (!query || !Object.keys(query).length) + return url + const q = Object.entries(query) + .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`) + .join('&') + return `${url}${url.includes('?') ? '&' : '?'}${q}` +} + +export function resolveWebToUni(to: string | { name?: string, path?: string, query?: Record }): string { + if (typeof to === 'string') { + const qIdx = to.indexOf('?') + const pathOnly = qIdx === -1 ? to : to.slice(0, qIdx) + const queryPart = qIdx === -1 ? '' : to.slice(qIdx + 1) + + if (pathOnly.startsWith('/inquire/')) { + const feature = pathOnly.replace(/^\/inquire\//, '') + const base = `/pages/inquire?feature=${encodeURIComponent(feature)}` + return queryPart ? `${base}&${queryPart}` : base + } + if (pathOnly.startsWith('/agent/invitationAgentApply/')) { + const id = pathOnly.replace(/^\/agent\/invitationAgentApply\//, '') + const base = `/pages/invitation-agent-apply?linkIdentifier=${encodeURIComponent(id)}` + return queryPart ? `${base}&${queryPart}` : base + } + if (pathOnly.startsWith('/agent/promotionInquire/')) { + const id = pathOnly.replace(/^\/agent\/promotionInquire\//, '') + const base = `/pages/promotion-inquire?linkIdentifier=${encodeURIComponent(id)}` + return queryPart ? `${base}&${queryPart}` : base + } + if (pathOnly.startsWith('/report/share/')) { + const id = pathOnly.replace(/^\/report\/share\//, '') + const base = `/pages/report-share?linkIdentifier=${encodeURIComponent(id)}` + return queryPart ? `${base}&${queryPart}` : base + } + if (pathToPage[pathOnly]) { + const mapped = pathToPage[pathOnly] + return queryPart ? `${mapped}?${queryPart}` : mapped + } + if (to.startsWith('/pages/')) + return to + return `/pages/${pathOnly.replace(/^\//, '')}${queryPart ? `?${queryPart}` : ''}` + } + if (to.path) { + const base = pathToPage[to.path] || to.path + return withQuery(base, to.query) + } + if (to.name && nameToPage[to.name]) + return withQuery(nameToPage[to.name], to.query) + return '/pages/index' +} + +export function useRouter() { + return { + push(to: string | { name?: string, path?: string, query?: Record }) { + const url = resolveWebToUni(to as any) + uni.navigateTo({ url }) + }, + replace(to: string | { name?: string, path?: string, query?: Record }) { + const url = resolveWebToUni(to as any) + uni.redirectTo({ url }) + }, + go() { + uni.navigateBack({}) + }, + back() { + uni.navigateBack({}) + }, + } +} + +/** 当前页 uni route,如 `pages/history-query`(无首尾多余斜杠) */ +export function getCurrentUniRoute(): string { + const pages = getCurrentPages() + const page = pages[pages.length - 1] as any + return (page?.route || 'pages/index').replace(/^\//, '') +} + +type UniPageMeta = (typeof pages)[number] & { + path?: string + auth?: boolean + style?: { + navigationBarTitleText?: string + } +} + +function normalizeUniRoute(route?: string) { + return (route || 'pages/index').replace(/^\//, '') +} + +const pageMetaByRoute = new Map( + (pages as UniPageMeta[]).map(page => [normalizeUniRoute(page.path), page]), +) + +export function getCurrentPageMeta(): UniPageMeta | undefined { + return pageMetaByRoute.get(getCurrentUniRoute()) +} + +export function getPageTitleByRoute(route = getCurrentUniRoute()): string { + return pageMetaByRoute.get(normalizeUniRoute(route))?.style?.navigationBarTitleText || 'BDRP' +} + +export function getLayoutPageTitle(): string { + return getPageTitleByRoute() +} + +/** + * 与 webview vue-router path 对齐,用于全局通知 notificationPage 匹配 + */ +const UNI_TO_WEB_NOTIFY_PATH: Record = { + 'pages/index': '/', + 'pages/agent': '/agent', + 'pages/me': '/me', + 'pages/promote': '/agent/promote', + 'pages/history-query': '/historyQuery', + 'pages/help': '/help', + 'pages/help-detail': '/help/detail', + 'pages/help-guide': '/help/guide', + 'pages/withdraw': '/withdraw', + 'pages/report-result-webview': '/app/report', + 'pages/report-example-webview': '/app/example', + 'pages/privacy-policy': '/privacyPolicy', + 'pages/user-agreement': '/userAgreement', + 'pages/agent-manage-agreement': '/agentManageAgreement', + 'pages/agent-service-agreement': '/agentSerivceAgreement', + 'pages/authorization': '/authorization', + 'pages/payment-result': '/payment/result', + 'pages/inquire': '/inquire', + 'pages/login': '/login', + 'pages/invitation': '/agent/invitation', + 'pages/agent-promote-details': '/agent/promoteDetails', + 'pages/agent-rewards-details': '/agent/rewardsDetails', + 'pages/agent-vip': '/agent/agentVip', + 'pages/agent-vip-apply': '/agent/vipApply', + 'pages/agent-vip-config': '/agent/vipConfig', + 'pages/withdraw-details': '/agent/withdrawDetails', + 'pages/subordinate-list': '/agent/subordinateList', +} + +export function getWebPathForNotification(): string { + const r = getCurrentUniRoute() + const pages = getCurrentPages() + const page = pages[pages.length - 1] as any + const q: Record = { ...(page?.options || {}) } + if (r === 'pages/inquire' && q.feature) + return `/inquire/${q.feature}` + if (r === 'pages/subordinate-detail' && q.id) + return `/agent/subordinateDetail/${q.id}` + if (r === 'pages/invitation-agent-apply' && q.linkIdentifier) + return `/agent/invitationAgentApply/${q.linkIdentifier}` + if (r === 'pages/promotion-inquire' && q.linkIdentifier) + return `/agent/promotionInquire/${q.linkIdentifier}` + if (r === 'pages/report-share' && q.linkIdentifier) + return `/report/share/${q.linkIdentifier}` + return UNI_TO_WEB_NOTIFY_PATH[r] || '/' +} + +const uniRouteToName: Record = { + 'pages/index': 'index', + 'pages/agent': 'agent', + 'pages/me': 'me', + 'pages/promote': 'promote', +} + +export function useRoute() { + const pages = getCurrentPages() + const page = pages[pages.length - 1] as any + const query: Record = { ...(page?.options || {}) } + const params: Record = { ...query } + const routeKey = normalizeUniRoute(page?.route) + return { + query, + path: page?.route ? `/${page.route}` : '/', + params, + name: uniRouteToName[routeKey] || routeKey, + meta: { + title: getPageTitleByRoute(routeKey), + }, + } +} diff --git a/src/composables/useApiFetch.ts b/src/composables/useApiFetch.ts new file mode 100644 index 0000000..cf9fbf3 --- /dev/null +++ b/src/composables/useApiFetch.ts @@ -0,0 +1,196 @@ +/** + * 与 bdrp-webview `useApiFetch.js` 行为对齐:链式 `.get().json()` / `.post().json()`, + * 返回 `{ data, error }` 的 Ref(与迁移过来的页面兼容)。 + */ +import type { Ref } from 'vue' +import { ref } from 'vue' +import { envConfig } from '@/constants/env' +import { useAgentStore } from '@/stores/agentStore' +import { useUserStore } from '@/stores/userStore' +import { navigateLogin } from '@/utils/navigate' +import { clearAuthStorage, getToken } from '@/utils/storage' + +export interface ApiEnvelope { + code: number + msg: string + data: T +} + +let loadingCount = 0 +function showLoading() { + loadingCount++ + if (loadingCount === 1) + uni.showLoading({ title: '加载中...', mask: true }) +} +function hideLoading() { + loadingCount = Math.max(0, loadingCount - 1) + if (loadingCount === 0) + uni.hideLoading() +} + +function appendTimestamp(url: string) { + const sep = url.includes('?') ? '&' : '?' + return `${url}${sep}t=${Date.now()}` +} + +function joinApiUrl(path: string) { + const base = envConfig.apiBaseUrl.replace(/\/$/, '') + const p = path.startsWith('/') ? path : `/${path}` + return appendTimestamp(`${base}${p}`) +} + +/** 本仓库仅面向 APP;与后端 `model.PlatformApp` / ctx `platform` 一致,须为小写 `app` */ +const REQUEST_PLATFORM_APP = 'app' + +async function handleErrorCode(payload: ApiEnvelope) { + if (payload.code === 100009) { + clearAuthStorage() + const userStore = useUserStore() + const agentStore = useAgentStore() + userStore.resetUser() + agentStore.resetAgent() + uni.reLaunch({ url: '/pages/index' }) + return + } + if (payload.code === 100011) { + uni.showToast({ title: payload.msg || '账号已被封禁', icon: 'none' }) + clearAuthStorage() + const userStore = useUserStore() + const agentStore = useAgentStore() + userStore.resetUser() + agentStore.resetAgent() + navigateLogin() + return + } + if (payload.code === 100013) { + uni.showToast({ title: payload.msg || '账号已注销', icon: 'none' }) + clearAuthStorage() + const userStore = useUserStore() + const agentStore = useAgentStore() + userStore.resetUser() + agentStore.resetAgent() + navigateLogin() + return + } + if ( + payload.code !== 200002 + && payload.code !== 200003 + && payload.code !== 200004 + && payload.code !== 100009 + && payload.code !== 100011 + && payload.code !== 100013 + ) { + uni.showToast({ title: payload.msg || '请求失败', icon: 'none' }) + } +} + +function uniRequest( + method: 'GET' | 'POST' | 'PUT' | 'DELETE', + url: string, + data?: unknown, +): Promise<{ statusCode: number, data: ApiEnvelope }> { + return new Promise((resolve, reject) => { + const token = getToken() + uni.request({ + url: joinApiUrl(url), + method, + data: data as Record | undefined, + header: { + 'Content-Type': 'application/json', + 'X-Platform': REQUEST_PLATFORM_APP, + ...(token ? { Authorization: token } : {}), + }, + success: (res) => { + resolve({ + statusCode: res.statusCode || 0, + data: res.data as ApiEnvelope, + }) + }, + fail: (err) => { + reject(err) + }, + }) + }) +} + +async function executeJson( + method: 'GET' | 'POST' | 'PUT' | 'DELETE', + url: string, + data?: unknown, +): Promise<{ data: Ref | null>, error: Ref }> { + const dataRef = ref | null>(null) as Ref | null> + const errorRef = ref(null) + showLoading() + try { + const { statusCode, data: body } = await uniRequest(method, url, data) + hideLoading() + + if (statusCode === 401) { + clearAuthStorage() + navigateLogin() + errorRef.value = new Error('401') + return { data: dataRef, error: errorRef } + } + if (statusCode === 403) { + const b = body as ApiEnvelope | null | undefined + const toastTitle = b?.code === 100013 + ? (b.msg || '账号已注销') + : (b?.msg || '账号已被封禁') + uni.showToast({ title: toastTitle, icon: 'none' }) + clearAuthStorage() + useUserStore().resetUser() + useAgentStore().resetAgent() + navigateLogin() + errorRef.value = new Error('403') + return { data: dataRef, error: errorRef } + } + + if (!body || typeof body.code !== 'number') { + errorRef.value = new Error('响应格式不正确') + return { data: dataRef, error: errorRef } + } + + dataRef.value = body + + if (body.code !== 200) + await handleErrorCode(body) + + return { data: dataRef, error: errorRef } + } + catch (e) { + hideLoading() + const err = e instanceof Error ? e : new Error(String(e)) + errorRef.value = err + uni.showToast({ title: '网络异常,请稍后再试', icon: 'none' }) + return { data: dataRef, error: errorRef } + } +} + +function chain(url: string) { + return { + get() { + return { + json: () => executeJson('GET', url), + } + }, + post(data?: unknown) { + return { + json: () => executeJson('POST', url, data), + } + }, + put(data?: unknown) { + return { + json: () => executeJson('PUT', url, data), + } + }, + delete() { + return { + json: () => executeJson('DELETE', url), + } + }, + } +} + +export default function useApiFetch(url: string) { + return chain(url) +} diff --git a/src/composables/useAppBootstrap.ts b/src/composables/useAppBootstrap.ts new file mode 100644 index 0000000..fcc79ae --- /dev/null +++ b/src/composables/useAppBootstrap.ts @@ -0,0 +1,29 @@ +import { installNavigationAuthGuard } from '@/composables/useNavigationAuthGuard' +// #ifdef APP-PLUS +import { useHotUpdate } from '@/composables/useHotUpdate' +// #endif +import { useAgentStore } from '@/stores/agentStore' +import { useAuthStore } from '@/stores/auth' +import { useUserStore } from '@/stores/userStore' + +export function useAppBootstrap() { + const authStore = useAuthStore() + const userStore = useUserStore() + const agentStore = useAgentStore() + + const bootstrap = async () => { + installNavigationAuthGuard() + userStore.restoreFromStorage() + agentStore.restoreFromStorage() + if (authStore.hasToken) { + await Promise.allSettled([userStore.fetchUserInfo(), agentStore.fetchAgentStatus()]) + } + authStore.markReady() + // #ifdef APP-PLUS + const { checkUpdate } = useHotUpdate() + void checkUpdate() + // #endif + } + + return { bootstrap } +} diff --git a/src/composables/useAuthGuard.ts b/src/composables/useAuthGuard.ts new file mode 100644 index 0000000..f518cfc --- /dev/null +++ b/src/composables/useAuthGuard.ts @@ -0,0 +1,11 @@ +import { getToken } from '@/utils/storage' + +export function useAuthGuard() { + const ensureLogin = () => { + if (getToken()) + return true + uni.navigateTo({ url: '/pages/login' }) + return false + } + return { ensureLogin } +} diff --git a/src/composables/useCount.ts b/src/composables/useCount.ts new file mode 100644 index 0000000..cb04a10 --- /dev/null +++ b/src/composables/useCount.ts @@ -0,0 +1,16 @@ +export function useCount() { + const count = ref(Math.round(Math.random() * 20)) + + function inc() { + count.value += 1 + } + function dec() { + count.value -= 1 + } + + return { + count, + inc, + dec, + } +} diff --git a/src/composables/useCustomerService.ts b/src/composables/useCustomerService.ts new file mode 100644 index 0000000..fa1f56f --- /dev/null +++ b/src/composables/useCustomerService.ts @@ -0,0 +1,153 @@ +import { envConfig } from '@/constants/env' + +function formatErr(e: unknown): string { + if (e == null) + return '未知错误' + if (typeof e === 'string') + return e + if (e instanceof Error) + return e.message + try { + const o = e as Record + if (typeof o.message === 'string') + return o.message + return JSON.stringify(e) + } + catch { + return String(e) + } +} + +function getErrCode(err: unknown): number | undefined { + if (err && typeof err === 'object' && 'code' in err) { + const c = (err as { code: unknown }).code + return typeof c === 'number' ? c : undefined + } + return undefined +} + +/** 微信 SDK 返回「接口不支持」类错误(常见于自定义基座未集成客服能力,仍为 -3) */ +function isWeixinSdkCustomerServiceUnsupported(err: unknown): boolean { + if (getErrCode(err) === -3) + return true + const m = formatErr(err) + return m.includes('不支持') || m.includes('此功能') +} + +/** 用系统能力打开客服链接(唤起微信或系统浏览器处理 work.weixin.qq.com) */ +function tryOpenUrlWithRuntime(url: string): boolean { + try { + if (typeof plus !== 'undefined' && plus.runtime?.openURL) { + plus.runtime.openURL( + url, + (err: unknown) => { + console.error('[客服] plus.runtime.openURL 失败', err, 'url=', url) + uni.showToast({ title: `无法打开链接: ${formatErr(err)}`, icon: 'none' }) + }, + ) + return true + } + } + catch (e) { + console.error('[客服] plus.runtime.openURL 异常', e) + } + return false +} + +/** + * 投诉 / 联系客服(App) + * - 默认先走微信 `openCustomerServiceChat`;若返回 -3「此功能不支持」则改用 `plus.runtime.openURL` 打开客服链接(企业微信 H5 客服页仍可进线)。 + * - 设置 `VITE_CUSTOMER_SERVICE_SKIP_SDK=1` 可跳过 SDK,始终用系统打开链接(推荐在一直报 -3 的环境使用)。 + */ +export function openCustomerService() { + const url = (envConfig.customerServiceUrl || '').trim() + const corpId = (envConfig.wxworkCorpId || '').trim() + + if (!url) { + console.error('[客服] 未配置 VITE_CUSTOMER_SERVICE_URL') + uni.showToast({ title: '未配置客服地址', icon: 'none' }) + return + } + + if (typeof plus === 'undefined') { + console.error('[客服] 非 App 环境,无 5+ Runtime') + uni.showToast({ title: '仅 App 内支持', icon: 'none' }) + return + } + + if (envConfig.customerServiceSkipSdk) { + console.warn('[客服] 已配置 SKIP_SDK,直接使用 plus.runtime.openURL') + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + if (!tryOpenUrlWithRuntime(url)) + uni.showToast({ title: '无法打开客服链接', icon: 'none' }) + return + } + + if (!plus.share?.getServices) { + console.error('[客服] plus.share.getServices 不存在') + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + if (!tryOpenUrlWithRuntime(url)) + uni.showToast({ title: '当前环境无法打开客服', icon: 'none' }) + return + } + + plus.share.getServices( + (services) => { + console.warn('[客服] getServices 成功', services?.map(s => ({ id: s.id, description: s.description, nativeClient: s.nativeClient }))) + + const weixin = services?.find(s => String(s.id) === 'weixin') + if (!weixin) { + console.error('[客服] 分享服务列表中无微信(weixin),完整列表:', services) + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + tryOpenUrlWithRuntime(url) + return + } + + const openChat = (weixin as { openCustomerServiceChat?: (opts: { corpid: string, url: string }, ok?: () => void, fail?: (e: unknown) => void) => void }).openCustomerServiceChat + if (typeof openChat !== 'function') { + console.error('[客服] 无 openCustomerServiceChat 方法', weixin) + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + tryOpenUrlWithRuntime(url) + return + } + + if (!corpId) { + console.error('[客服] 未配置 VITE_WXWORK_CORP_ID,无法调用 openCustomerServiceChat,改为 openURL') + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + tryOpenUrlWithRuntime(url) + return + } + + const opts = { corpid: corpId, url } + console.warn('[客服] 调用 openCustomerServiceChat', opts) + + openChat( + opts, + () => { + console.warn('[客服] openCustomerServiceChat 成功') + }, + (err: unknown) => { + console.error('[客服] openCustomerServiceChat 失败', err) + + if (isWeixinSdkCustomerServiceUnsupported(err)) { + console.warn( + '[客服] 当前运行环境微信 SDK 不支持原生客服接口(常见:自定义基座未集成/需勾选微信客服模块)。已改为用系统打开客服链接。', + err, + ) + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + tryOpenUrlWithRuntime(url) + return + } + + uni.showToast({ title: `拉起客服失败: ${formatErr(err)}`, icon: 'none', duration: 3000 }) + tryOpenUrlWithRuntime(url) + }, + ) + }, + (err: unknown) => { + console.error('[客服] getServices 失败', err) + uni.showToast({ title: '正在打开客服…', icon: 'none' }) + tryOpenUrlWithRuntime(url) + }, + ) +} diff --git a/src/composables/useEnv.js b/src/composables/useEnv.js new file mode 100644 index 0000000..fc9110d --- /dev/null +++ b/src/composables/useEnv.js @@ -0,0 +1,10 @@ +import { ref } from 'vue' + +/** App 端固定非微信 H5;保留 isWeChat 以兼容迁移代码分支 */ +const isWeChat = ref(false) + +export function useEnv() { + return { + isWeChat, + } +} diff --git a/src/composables/useHotUpdate.ts b/src/composables/useHotUpdate.ts new file mode 100644 index 0000000..3787deb --- /dev/null +++ b/src/composables/useHotUpdate.ts @@ -0,0 +1,261 @@ +import { ref } from 'vue' +import { envConfig } from '@/constants/env' + +export interface AppVersionPayload { + version: string + wgtUrl: string +} + +function joinApiPath(path: string): string { + const base = envConfig.apiBaseUrl.replace(/\/$/, '') + const p = path.startsWith('/') ? path : `/${path}` + return `${base}${p}` +} + +function compareVersion(v1: string, v2: string): number { + const v1Parts = v1.split('.').map(Number) + const v2Parts = v2.split('.').map(Number) + const len = Math.max(v1Parts.length, v2Parts.length) + for (let i = 0; i < len; i++) { + const a = v1Parts[i] ?? 0 + const b = v2Parts[i] ?? 0 + if (a > b) + return 1 + if (a < b) + return -1 + } + return 0 +} + +/** APP 端 WGT 热更新:请求 `/app/version`,比对版本后静默下载安装 */ +export function useHotUpdate() { + const updating = ref(false) + const hasNewVersion = ref(false) + const currentVersion = ref('') + const latestVersion = ref('') + const downloadProgress = ref(0) + const serverWgtUrl = ref('') + + const getCurrentVersion = (): Promise => { + return new Promise((resolve) => { + // #ifdef APP-PLUS + const appid = plus.runtime.appid + if (!appid) { + currentVersion.value = '0.0.0' + resolve('0.0.0') + return + } + plus.runtime.getProperty(appid, (inf) => { + const wgtVer = inf.version ?? '0.0.0' + currentVersion.value = wgtVer + resolve(wgtVer) + }) + // #endif + // #ifndef APP-PLUS + const defaultVersion = '0.0.0' + currentVersion.value = defaultVersion + resolve(defaultVersion) + // #endif + }) + } + + /** 不弹业务 toast:版本检查失败时静默 */ + function fetchAppVersion(): Promise { + return new Promise((resolve) => { + uni.request({ + url: joinApiPath('/app/version'), + method: 'GET', + success: (res) => { + const body = res.data as { code?: number, data?: AppVersionPayload } + if (res.statusCode !== 200 || !body || body.code !== 200 || !body.data) { + resolve(null) + return + } + resolve(body.data) + }, + fail: () => resolve(null), + }) + }) + } + + const checkVersionOnly = async (): Promise => { + try { + await getCurrentVersion() + const serverInfo = await fetchAppVersion() + if (!serverInfo) { + hasNewVersion.value = false + return false + } + latestVersion.value = serverInfo.version + if (serverInfo.wgtUrl) + serverWgtUrl.value = serverInfo.wgtUrl + hasNewVersion.value = compareVersion(serverInfo.version, currentVersion.value) > 0 + return hasNewVersion.value + } + catch (e) { + console.error('[wgt] 检查版本失败', e) + return false + } + } + + const checkUpdate = async () => { + try { + await getCurrentVersion() + const serverInfo = await fetchAppVersion() + if (!serverInfo) + return + latestVersion.value = serverInfo.version + if (compareVersion(serverInfo.version, currentVersion.value) <= 0) { + hasNewVersion.value = false + return + } + hasNewVersion.value = true + if (serverInfo.wgtUrl) { + serverWgtUrl.value = serverInfo.wgtUrl + silentUpdate(serverInfo.wgtUrl).catch((err) => { + console.error('[wgt] 静默更新失败', err) + }) + } + } + catch (e) { + console.error('[wgt] 检查更新失败', e) + } + } + + const silentUpdate = (wgtUrl: string): Promise => { + if (updating.value) + return Promise.reject(new Error('更新已在进行中')) + updating.value = true + return new Promise((resolve, reject) => { + // #ifdef APP-PLUS + const dtask = plus.downloader.createDownload( + wgtUrl, + { filename: '_doc/update/' }, + (download, status) => { + if (status === 200) { + const fp = download.filename + if (!fp) { + updating.value = false + reject(new Error('下载路径无效')) + return + } + installing(fp) + .then(() => { + updating.value = false + resolve() + }) + .catch((err) => { + updating.value = false + reject(err) + }) + } + else { + updating.value = false + reject(new Error('下载更新包失败')) + } + }, + ) + dtask.start() + // #endif + // #ifndef APP-PLUS + updating.value = false + resolve() + // #endif + }) + } + + const installing = (filePath: string): Promise => { + return new Promise((resolve, reject) => { + // #ifdef APP-PLUS + plus.runtime.install( + filePath, + { force: false }, + () => { + resolve() + plus.io.resolveLocalFileSystemURL(filePath, (entry) => { + try { + (entry as { remove?: (cb?: () => void) => void }).remove?.() + } + catch { + /* 忽略删除失败 */ + } + }) + }, + (error: unknown) => { + console.error('[wgt] 安装失败', error) + reject(error) + }, + ) + // #endif + // #ifndef APP-PLUS + resolve() + // #endif + }) + } + + const manualUpdate = (wgtUrl: string): Promise => { + if (updating.value) + return Promise.reject(new Error('更新已在进行中')) + updating.value = true + downloadProgress.value = 0 + return new Promise((resolve, reject) => { + // #ifdef APP-PLUS + const dtask = plus.downloader.createDownload( + wgtUrl, + { filename: '_doc/update/' }, + (download, status) => { + if (status === 200) { + const fp = download.filename + if (!fp) { + updating.value = false + reject(new Error('下载路径无效')) + return + } + installing(fp) + .then(() => { + updating.value = false + resolve() + }) + .catch((err) => { + updating.value = false + reject(err) + }) + } + else { + updating.value = false + reject(new Error('下载更新包失败')) + } + }, + ) + dtask.addEventListener('statechanged', (task) => { + if (task.state === 3) { + const total = Number(task.totalSize ?? 0) + const downloaded = Number(task.downloadedSize ?? 0) + downloadProgress.value + = total > 0 ? Math.round((downloaded / total) * 100) : 0 + } + else if (task.state === 4) { + downloadProgress.value = 100 + } + }) + dtask.start() + // #endif + // #ifndef APP-PLUS + updating.value = false + resolve() + // #endif + }) + } + + return { + updating, + hasNewVersion, + currentVersion, + latestVersion, + downloadProgress, + serverWgtUrl, + checkUpdate, + checkVersionOnly, + manualUpdate, + } +} diff --git a/src/composables/useHttp.js b/src/composables/useHttp.js new file mode 100644 index 0000000..ccb90ef --- /dev/null +++ b/src/composables/useHttp.js @@ -0,0 +1,27 @@ +import { createFetch, useFetch } from '@vueuse/core' + +export function useHttp(url, options = {}, token) { + const fetch = createFetch(url, { + baseUrl: '/api/v1', + options: { + async beforeFetch({ url, options, cancel }) { + console.log('asdasd', options) + options.headers = { + ...options.headers, + Authorization: `${token}`, + } + return { + options, + } + }, + async afterFetch(ctx) { + console.log('ctx', ctx) + // if (ctx.data.code !== 200) { + // throw new Error(ctx.data.message || '请求失败'); + // } + return ctx + }, + }, + }) + return fetch(url) +} diff --git a/src/composables/useNavigationAuthGuard.ts b/src/composables/useNavigationAuthGuard.ts new file mode 100644 index 0000000..3286107 --- /dev/null +++ b/src/composables/useNavigationAuthGuard.ts @@ -0,0 +1,163 @@ +import { pages } from 'virtual:uni-pages' +import { useAgentStore } from '@/stores/agentStore' +import { getAgentInfo, getToken } from '@/utils/storage' + +interface PagePermission { + requiresAuth?: boolean + requiresAgent?: boolean +} + +const LOGIN_ROUTE = 'pages/login' +const AGENT_APPLY_ROUTE = 'pages/invitation-agent-apply' +const AGENT_APPLY_URL = '/pages/invitation-agent-apply' +const HOME_URL = '/pages/index' + +/** + * 对齐 bdrp-webview/src/router/index.js 的鉴权配置 + * requiresAgent 一律隐含 requiresAuth + */ +const ROUTE_PERMISSION_MAP: Record = { + 'pages/promote': { requiresAuth: true, requiresAgent: true }, + 'pages/history-query': { requiresAuth: true }, + 'pages/withdraw': { requiresAuth: true, requiresAgent: true }, + 'pages/payment-result': { requiresAuth: true }, + 'pages/report-result-webview': { requiresAuth: true }, + 'pages/agent-promote-details': { requiresAuth: true, requiresAgent: true }, + 'pages/agent-rewards-details': { requiresAuth: true, requiresAgent: true }, + 'pages/invitation': { requiresAuth: true, requiresAgent: true }, + 'pages/agent-vip': { requiresAuth: true, requiresAgent: true }, + 'pages/agent-vip-apply': { requiresAuth: true, requiresAgent: true }, + 'pages/agent-vip-config': { requiresAuth: true, requiresAgent: true }, + 'pages/withdraw-details': { requiresAuth: true, requiresAgent: true }, + 'pages/invitation-agent-apply': { requiresAuth: true }, + 'pages/subordinate-list': { requiresAuth: true, requiresAgent: true }, + 'pages/subordinate-detail': { requiresAuth: true, requiresAgent: true }, +} + +const metaAuthMap = new Map( + (pages as Array<{ path?: string, auth?: boolean }>).map(page => [(page.path || '').replace(/^\//, ''), Boolean(page.auth)]), +) + +function normalizePath(path = '') { + return path.replace(/^\//, '').split('?')[0] +} + +function parseRouteFromUrl(url = '') { + return normalizePath(url) +} + +function getPermission(route: string): PagePermission { + const conf = ROUTE_PERMISSION_MAP[route] || {} + const metaAuth = Boolean(metaAuthMap.get(route)) + const requiresAgent = Boolean(conf.requiresAgent) + const requiresAuth = Boolean(conf.requiresAuth || metaAuth || requiresAgent) + return { requiresAuth, requiresAgent } +} + +function buildLoginUrl(url: string) { + const redirect = encodeURIComponent(url.startsWith('/') ? url : `/${url}`) + return `/pages/login?redirect=${redirect}` +} + +function isAgentUser() { + const agentStore = useAgentStore() + if (agentStore.isLoaded) + return Boolean(agentStore.isAgent) + const agentInfo = getAgentInfo() + if (agentInfo && typeof agentInfo === 'object') + return Boolean((agentInfo as any).isAgent) + return false +} + +type GuardMode = 'navigate' | 'redirect' + +function goLogin(url: string, mode: GuardMode) { + const targetUrl = buildLoginUrl(url) + if (mode === 'redirect') + uni.redirectTo({ url: targetUrl }) + else + uni.navigateTo({ url: targetUrl }) +} + +function goAgentApply(mode: GuardMode) { + if (mode === 'redirect') + uni.redirectTo({ url: AGENT_APPLY_URL }) + else + uni.navigateTo({ url: AGENT_APPLY_URL }) +} + +export function ensurePageAccessByUrl(url = '', mode: GuardMode = 'navigate') { + const route = parseRouteFromUrl(url) + if (!route || route === LOGIN_ROUTE) + return false + + const permission = getPermission(route) + if (!permission.requiresAuth) + return false + + if (!getToken()) { + goLogin(url, mode) + return true + } + + if (permission.requiresAgent && route !== AGENT_APPLY_ROUTE && !isAgentUser()) { + goAgentApply(mode) + return true + } + + return false +} + +/** 未套 layout 的页面在 onShow 中与 default 布局一致地做鉴权(如 webview 页使用原生导航栏时) */ +export function ensureCurrentPageAccess(mode: GuardMode = 'redirect') { + const stack = getCurrentPages() + const page = stack[stack.length - 1] as { route?: string, options?: Record } + if (!page?.route) + return false + const routePath = `/${String(page.route).replace(/^\//, '')}` + const query = page.options || {} + const qs = Object.keys(query).length + ? `?${Object.entries(query).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v ?? ''))}`).join('&')}` + : '' + return ensurePageAccessByUrl(`${routePath}${qs}`, mode) +} + +let installed = false + +export function installNavigationAuthGuard() { + if (installed) + return + installed = true + + uni.addInterceptor('navigateTo', { + invoke(args) { + if (ensurePageAccessByUrl(args?.url, 'navigate')) + return false + return args + }, + }) + + uni.addInterceptor('redirectTo', { + invoke(args) { + if (ensurePageAccessByUrl(args?.url, 'redirect')) + return false + return args + }, + }) + + uni.addInterceptor('reLaunch', { + invoke(args) { + if (ensurePageAccessByUrl(args?.url, 'redirect')) + return false + return args + }, + }) + + uni.addInterceptor('switchTab', { + invoke(args) { + if (ensurePageAccessByUrl(args?.url || HOME_URL, 'redirect')) + return false + return args + }, + }) +} diff --git a/src/composables/useQuery.ts b/src/composables/useQuery.ts new file mode 100644 index 0000000..1079a31 --- /dev/null +++ b/src/composables/useQuery.ts @@ -0,0 +1,8 @@ +export function useQuery(key?: MaybeRefOrGetter) { + const query = ref({}) + onLoad((q) => { + query.value = q || {} + }) + const value = computed(() => (key ? query.value[toValue(key)] : null)) + return { query, value } +} diff --git a/src/composables/useReportWebview.ts b/src/composables/useReportWebview.ts new file mode 100644 index 0000000..da81d27 --- /dev/null +++ b/src/composables/useReportWebview.ts @@ -0,0 +1,78 @@ +import { envConfig } from '@/constants/env' +import { getToken } from '@/utils/storage' + +declare function getCurrentPages(): any[] + +/** App 端部分 WebView 无 URLSearchParams,用手动编码保证兼容 */ +function buildQueryString(params: Record): string { + const parts: string[] = [] + for (const [key, value] of Object.entries(params)) { + if (value === undefined || value === '') + continue + parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`) + } + return parts.join('&') +} + +export function useReportWebview() { + const resolveBase = () => { + return (envConfig.siteOrigin || envConfig.reportBaseUrl || '').replace(/\/$/, '') + } + + const buildReportUrl = (page: 'example' | 'report', params: Record = {}) => { + const token = getToken() || '' + const base = resolveBase() + if (!base) { + console.warn('[report webview] 请配置 VITE_SITE_ORIGIN 或 VITE_REPORT_BASE_URL') + return '' + } + const merged: Record = { source: 'app', ...params } + if (token) + merged.token = token + const search = buildQueryString(merged) + /** 使用 H5 无顶栏的 App 专用路由,避免 PageLayout 与 App 原生导航栏重复 */ + return `${base}/app/${page === 'example' ? 'example' : 'report'}?${search}` + } + + const buildReportShareUrl = (linkIdentifier: string, params: Record = {}) => { + const token = getToken() || '' + const base = resolveBase() + if (!base) { + console.warn('[report webview] 请配置 VITE_SITE_ORIGIN 或 VITE_REPORT_BASE_URL') + return '' + } + const merged: Record = { source: 'app', ...params } + if (token) + merged.token = token + const search = buildQueryString(merged) + const encodedLink = encodeURIComponent(linkIdentifier) + return `${base}/report/share/${encodedLink}${search ? `?${search}` : ''}` + } + + const buildSitePathUrl = (path: string, params: Record = {}) => { + const token = getToken() || '' + const base = resolveBase() + if (!base) { + console.warn('[site webview] 请配置 VITE_SITE_ORIGIN 或 VITE_REPORT_BASE_URL') + return '' + } + const normalizedPath = path.startsWith('/') ? path : `/${path}` + const merged: Record = { source: 'app', ...params } + if (token) + merged.token = token + const search = buildQueryString(merged) + return `${base}${normalizedPath}${search ? `?${search}` : ''}` + } + + const postMessageToWebview = (payload: Record) => { + // #ifdef APP-PLUS + const current = getCurrentPages().at(-1) as any + const webview = current?.$getAppWebview?.()?.children?.()[0] + if (webview) { + webview.evalJS(`window.postMessage(${JSON.stringify(payload)}, '*')`) + } + // #endif + } + + return { buildReportUrl, buildReportShareUrl, buildSitePathUrl, postMessageToWebview } +} diff --git a/src/composables/useRiskNotifier.js b/src/composables/useRiskNotifier.js new file mode 100644 index 0000000..35e8a36 --- /dev/null +++ b/src/composables/useRiskNotifier.js @@ -0,0 +1,18 @@ +import { watch } from 'vue' + +/** + * 风险评分通知 composable + * 用于组件向父组件通知自己的风险评分(0-100分,分数越高越安全) + */ +export function useRiskNotifier(props, riskScore) { + // 监听 riskScore 变化,通知父组件 + watch( + riskScore, + (newValue) => { + if (props.apiId && props.notifyRiskStatus) { + props.notifyRiskStatus(props.apiId, props.index, newValue) + } + }, + { immediate: true }, + ) +} diff --git a/src/composables/useSEO.js b/src/composables/useSEO.js new file mode 100644 index 0000000..46ee9cf --- /dev/null +++ b/src/composables/useSEO.js @@ -0,0 +1,6 @@ +/** App 端不做 H5 SEO,与 webview 接口兼容 */ +export function useSEO() { + return { + updateSEO() {}, + } +} diff --git a/src/composables/useWebView.js b/src/composables/useWebView.js new file mode 100644 index 0000000..066a929 --- /dev/null +++ b/src/composables/useWebView.js @@ -0,0 +1,138 @@ +import { onMounted, ref } from "vue"; +import "@/static/uni-webview.js"; +import { getToken, setToken } from '@/utils/storage' + +const WEBVIEW_PLATFORM_KEY = 'webview_platform' + +export function useWebView() { + const platform = ref(""); + const token = ref(""); + // 检测环境并通知父窗口加载完毕 + const handleBridgeReady = () => { + if (platform.value) { + h5PostMessage("loaded", true); + } + }; + + // 获取 Token(从 URL 中解析) + const getTokenFromUrl = () => { + const urlParams = new URLSearchParams(window.location.search); + const tokenFromUrl = urlParams.get("token"); + token.value = tokenFromUrl || ""; // 如果 URL 没有 token,返回空字符串 + if (token.value) { + setToken(token.value); + } else { + token.value = getToken() || ""; + } + return tokenFromUrl; + }; + + // 封装 postMessage 方法 + const postMessage = (data) => { + if (platform.value === "h5") { + h5PostMessage("postMessage", data); + } else if (uni && uni.webView.postMessage) { + uni.webView.postMessage(data); + } else { + console.error("uni.webView.postMessage is not available."); + } + }; + + const redirectTo = (data) => { + if (platform.value === "h5") { + h5PostMessage("redirectTo", data); + } else if (uni && uni.webView.redirectTo) { + // 非 H5 环境,调用 uni.webView.redirectTo + uni.webView.redirectTo(data); + } else { + console.error("uni.webView.redirectTo is not available."); + } + }; + + // 封装 navigateBack 方法 + const navigateBack = (data) => { + if (platform.value === "h5") { + window.top.history.back(); + // h5PostMessage("navigateBack", data) + } else if (uni && uni.webView.navigateBack) { + // 非 H5 环境,调用 uni.webView.navigateBack + uni.webView.navigateBack(data); + } else { + console.error("uni.webView.navigateBack is not available."); + } + }; + + // 封装 navigateTo 方法 + const navigateTo = (data) => { + if (platform.value === "h5") { + // h5PostMessage("navigateTo", data) + window.top.location.href = `/app${data.url}`; + } else if (uni && uni.webView.navigateTo) { + uni.webView.navigateTo(data); + } else { + console.error("uni.webView.navigateTo is not available."); + } + }; + const payment = (data) => { + if (platform.value === "h5") { + h5PostMessage("payment", data); + } else if (uni && uni.webView.navigateTo) { + // 非 H5 环境,调用 uni.webView.navigateTo + uni.webView.navigateTo(data); + } else { + console.error("uni.webView.navigateTo is not available."); + } + }; + const getEnv = () => { + return new Promise((resolve, reject) => { + const env = uni.getStorageSync(WEBVIEW_PLATFORM_KEY); + if (env) { + platform.value = env; + resolve(env); + } else { + uni.webView.getEnv((env) => { + // 遍历 env 对象,找到值为 true 的键 + const platformKey = Object.keys(env).find((key) => env[key] === true); + platform.value = platformKey; + if (platformKey) { + uni.setStorageSync(WEBVIEW_PLATFORM_KEY, platformKey); + resolve(platformKey); // 返回键名(如 'h5', 'mp-weixin' 等) + } else { + reject("未知平台"); + } + }); + } + }); + }; + + onMounted(async () => { + try { + const envValue = await getEnv(); + console.log("当前环境", envValue); + // 将返回的键名(如 'h5', 'mp-weixin')存储到 platform + handleBridgeReady(); + } catch (error) { + console.error(error); + } + // 获取 Token + getTokenFromUrl(); + }); + + return { + platform, + token, + getEnv, + redirectTo, + postMessage, + navigateTo, + navigateBack, + payment, + }; +} +function h5PostMessage(action, data) { + window.parent.postMessage( + { action, data, messageId: generateUniqueId(action) }, + "*", + ); +} +const generateUniqueId = (action) => `msg_${action}_${new Date().getTime()}`; diff --git a/src/composables/useWeixinShare.js b/src/composables/useWeixinShare.js new file mode 100644 index 0000000..07cabe1 --- /dev/null +++ b/src/composables/useWeixinShare.js @@ -0,0 +1,8 @@ +/** + * App 端不启用微信 JSSDK 分享;占位以兼容 QRcode 等迁移组件。 + */ +export function useWeixinShare() { + return { + configWeixinShare() {}, + } +} diff --git a/src/composables/useZoomAdapter.js b/src/composables/useZoomAdapter.js new file mode 100644 index 0000000..32b410c --- /dev/null +++ b/src/composables/useZoomAdapter.js @@ -0,0 +1,34 @@ +import { onMounted, ref } from 'vue' +import zoomAdapter from '../utils/zoomAdapter.js' + +/** + * 简化版缩放适配组合式函数 + */ +export function useZoomAdapter() { + const currentZoom = ref(1) + const isTooHighZoom = ref(false) + + const handleZoomChange = (event) => { + const { zoom } = event.detail + currentZoom.value = zoom + isTooHighZoom.value = zoom > 3 + } + + onMounted(() => { + if (typeof window === 'undefined') + return + if (!zoomAdapter.isInitialized) { + zoomAdapter.init() + } + window.addEventListener('zoomChanged', handleZoomChange) + }) + + return { + currentZoom, + isTooHighZoom, + getZoomAdaptiveClass: () => ({ + 'zoom-adaptive': true, + 'too-high-zoom': isTooHighZoom.value, + }), + } +} diff --git a/src/constants/env.ts b/src/constants/env.ts new file mode 100644 index 0000000..06a6eb2 --- /dev/null +++ b/src/constants/env.ts @@ -0,0 +1,23 @@ +/** 完整接口根 = VITE_API_URL + VITE_API_PREFIX */ +function resolveApiBase(): string { + const url = (import.meta.env.VITE_API_URL as string) || '' + const prefix = (import.meta.env.VITE_API_PREFIX as string) || '' + if (url && prefix) + return `${url.replace(/\/$/, '')}${prefix.startsWith('/') ? prefix : `/${prefix}`}` + return prefix +} + +/** App 端实际通过 envConfig 消费的变量(其余页面直接用 import.meta.env) */ +export const envConfig = { + apiBaseUrl: resolveApiBase(), + siteOrigin: (import.meta.env.VITE_SITE_ORIGIN as string) || '', + reportBaseUrl: (import.meta.env.VITE_REPORT_BASE_URL as string) || '', + customerServiceUrl: (import.meta.env.VITE_CUSTOMER_SERVICE_URL as string) || '', + wxworkCorpId: (import.meta.env.VITE_WXWORK_CORP_ID as string) || '', + customerServiceSkipSdk: ['1', 'true', 'yes'].includes( + String((import.meta.env.VITE_CUSTOMER_SERVICE_SKIP_SDK as string) || '').toLowerCase(), + ), +} + +if (!envConfig.apiBaseUrl) + console.warn('[bdrp-app] 缺少 VITE_API_PREFIX') diff --git a/src/constants/route-map.ts b/src/constants/route-map.ts new file mode 100644 index 0000000..c80bff6 --- /dev/null +++ b/src/constants/route-map.ts @@ -0,0 +1,44 @@ +export type MigrationMode = 'native' | 'webview' + +export interface RouteMigrationItem { + webviewPath: string + appPath: string + mode: MigrationMode + feature: string +} + +export const routeMigrationMap: RouteMigrationItem[] = [ + { webviewPath: '/', appPath: '/pages/index', mode: 'native', feature: '首页' }, + { webviewPath: '/login', appPath: '/pages/login', mode: 'native', feature: '登录' }, + { webviewPath: '/inquire/:feature', appPath: '/pages/inquire', mode: 'native', feature: '查询下单' }, + { webviewPath: '/historyQuery', appPath: '/pages/history-query', mode: 'native', feature: '历史报告' }, + { webviewPath: '/payment/result', appPath: '/pages/payment-result', mode: 'native', feature: '支付结果' }, + { webviewPath: '/agent', appPath: '/pages/agent', mode: 'native', feature: '代理中心' }, + { webviewPath: '/agent/promote', appPath: '/pages/promote', mode: 'native', feature: '推广管理' }, + { webviewPath: '/agent/promoteDetails', appPath: '/pages/agent-promote-details', mode: 'native', feature: '直推收益明细' }, + { webviewPath: '/agent/rewardsDetails', appPath: '/pages/agent-rewards-details', mode: 'native', feature: '奖励收益明细' }, + { webviewPath: '/agent/invitation', appPath: '/pages/invitation', mode: 'native', feature: '邀请下级' }, + { webviewPath: '/agent/vipApply', appPath: '/pages/agent-vip-apply', mode: 'native', feature: 'VIP申请' }, + { webviewPath: '/agent/vipConfig', appPath: '/pages/agent-vip-config', mode: 'native', feature: 'VIP配置' }, + { webviewPath: '/withdraw', appPath: '/pages/withdraw', mode: 'native', feature: '提现' }, + { webviewPath: '/agent/withdrawDetails', appPath: '/pages/withdraw-details', mode: 'native', feature: '提现记录' }, + { webviewPath: '/agent/subordinateList', appPath: '/pages/subordinate-list', mode: 'native', feature: '我的下级' }, + { webviewPath: '/agent/subordinateDetail/:id', appPath: '/pages/subordinate-detail', mode: 'native', feature: '下级详情' }, + { webviewPath: '/agent/invitationAgentApply/:linkIdentifier', appPath: '/pages/invitation-agent-apply', mode: 'native', feature: '代理申请' }, + { webviewPath: '/help', appPath: '/pages/help', mode: 'native', feature: '帮助中心' }, + { webviewPath: '/help/detail', appPath: '/pages/help-detail', mode: 'native', feature: '帮助详情' }, + { webviewPath: '/help/guide', appPath: '/pages/help-guide', mode: 'native', feature: '引导指南' }, + { webviewPath: '/authorization', appPath: '/pages/authorization', mode: 'webview', feature: '授权书' }, + { webviewPath: '/privacyPolicy', appPath: '/pages/privacy-policy', mode: 'webview', feature: '隐私政策' }, + { webviewPath: '/userAgreement', appPath: '/pages/user-agreement', mode: 'webview', feature: '用户协议' }, + { webviewPath: '/agentManageAgreement', appPath: '/pages/agent-manage-agreement', mode: 'webview', feature: '代理管理协议' }, + { webviewPath: '/agentSerivceAgreement', appPath: '/pages/agent-service-agreement', mode: 'webview', feature: '信息技术服务合同' }, + { webviewPath: '/me', appPath: '/pages/me', mode: 'native', feature: '我的' }, + { webviewPath: '/cancelAccount', appPath: '/pages/cancel-account', mode: 'native', feature: '注销账号' }, + { webviewPath: '/report/share/:linkIdentifier', appPath: '/pages/report-share', mode: 'webview', feature: '报告分享' }, + { webviewPath: '/agent/promotionInquire/:linkIdentifier', appPath: '/pages/promotion-inquire', mode: 'native', feature: '推广查询' }, + { webviewPath: '/:pathMatch(.*)*', appPath: '/pages/not-found', mode: 'native', feature: '404' }, + { webviewPath: '/maintenance', appPath: '/pages/maintenance', mode: 'native', feature: '维护页' }, + { webviewPath: '/app/example', appPath: '/pages/report-example-webview', mode: 'webview', feature: '示例报告' }, + { webviewPath: '/app/report', appPath: '/pages/report-result-webview', mode: 'webview', feature: '结果报告' }, +] diff --git a/src/data/ivyz3p9m-dictionary.json b/src/data/ivyz3p9m-dictionary.json new file mode 100644 index 0000000..a5626f2 --- /dev/null +++ b/src/data/ivyz3p9m-dictionary.json @@ -0,0 +1,6416 @@ +{ + "educationLevel": { + "1": "专科", + "2": "本科", + "3": "硕士研究生", + "4": "博士研究生", + "5": "第二学士学位", + "99": "未知" + }, + "learningForm": { + "1": "脱产", + "2": "普通全日制", + "3": "全日制", + "4": "开放教育", + "5": "夜大学", + "6": "函授", + "7": "网络教育", + "8": "非全日制", + "9": "业余", + "99": "未知" + }, + "specialties": { + "10100": "哲学类", + "10101": "哲学", + "10102": "逻辑学", + "10103": "宗教学", + "10104": "伦理学", + "10105": "伦理学", + "10106": "美学", + "10107": "宗教学", + "10108": "科学技术哲学", + "20100": "经济学类", + "20101": "经济学", + "20102": "经济统计学", + "20103": "国民经济管理", + "20104": "资源与环境经济学", + "20105": "商务经济学", + "20106": "能源经济", + "20107": "劳动经济学", + "20108": "经济工程", + "20109": "数字经济", + "20200": "财政学类", + "20201": "财政学", + "20202": "税收学", + "20203": "国际税收", + "20204": "金融学", + "20205": "产业经济学", + "20206": "国际贸易学", + "20207": "劳动经济学", + "20208": "统计学", + "20209": "数量经济学", + "20210": "国防经济", + "20300": "金融学类", + "20301": "金融学", + "20302": "金融工程", + "20303": "保险学", + "20304": "投资学", + "20305": "金融数学", + "20306": "信用管理", + "20307": "经济与金融", + "20308": "精算学", + "20309": "互联网金融", + "20310": "金融科技", + "20400": "经济与贸易类", + "20401": "国际经济与贸易", + "20402": "贸易经济", + "25100": "金融", + "25200": "应用统计", + "25300": "税务", + "25400": "国际商务", + "25500": "保险", + "25600": "资产评估", + "25700": "审计", + "27000": "统计学", + "30100": "法学类", + "30101": "法学", + "30102": "知识产权", + "30103": "监狱学", + "30104": "信用风险管理与法律防控", + "30105": "国际经贸规则", + "30106": "司法警察学", + "30107": "社区矫正", + "30108": "环境与资源保护法学", + "30109": "国际法学", + "30110": "军事法学", + "30200": "政治学类", + "30201": "政治学与行政学", + "30202": "国际政治", + "30203": "外交学", + "30204": "国际事务与国际关系", + "30205": "政治学、经济学与哲学", + "30206": "国际组织与全球治理", + "30207": "国际关系", + "30208": "外交学", + "30300": "社会学类", + "30301": "社会学", + "30302": "社会工作", + "30303": "人类学", + "30304": "女性学", + "30305": "家政学", + "30306": "老年学", + "30400": "民族学类", + "30401": "民族学", + "30402": "马克思主义民族理论与政策", + "30403": "中国少数民族经济", + "30404": "中国少数民族史", + "30405": "中国少数民族艺术", + "30500": "马克思主义理论类", + "30501": "科学社会主义", + "30502": "中国共产党历史", + "30503": "思想政治教育", + "30504": "马克思主义理论", + "30505": "思想政治教育", + "30506": "中国近现代史基本问题研究", + "30600": "公安学类", + "30601": "治安学", + "30602": "侦查学", + "30603": "边防管理", + "30604": "禁毒学", + "30605": "警犬技术", + "30606": "经济犯罪侦查", + "30607": "边防指挥", + "30608": "消防指挥", + "30609": "警卫学", + "30610": "公安情报学", + "30611": "犯罪学", + "30612": "公安管理学", + "30613": "涉外警务", + "30614": "国内安全保卫", + "30615": "警务指挥与战术", + "30616": "技术侦查学", + "30617": "海警执法", + "30618": "公安政治工作", + "30619": "移民管理", + "30620": "出入境管理", + "35100": "法律", + "35101": "法律(非法学)", + "35102": "法律(法学)", + "35200": "社会工作", + "35300": "警务", + "40100": "教育学类", + "40101": "教育学", + "40102": "科学教育", + "40103": "人文教育", + "40104": "教育技术学", + "40105": "艺术教育", + "40106": "学前教育", + "40107": "小学教育", + "40108": "特殊教育", + "40109": "华文教育", + "40110": "教育康复学", + "40111": "卫生教育", + "40112": "认知科学与技术", + "40200": "体育学类", + "40201": "体育教育", + "40202": "运动训练", + "40203": "社会体育指导与管理", + "40204": "武术与民族传统体育", + "40205": "运动人体科学", + "40206": "运动康复", + "40207": "休闲体育", + "40208": "体能训练", + "40209": "冰雪运动", + "40210": "电子竞技运动与管理", + "40211": "智能体育工程", + "40212": "体育旅游", + "40213": "运动能力开发", + "40300": "体育学", + "40301": "体育人文社会学", + "40302": "运动人体科学", + "40303": "体育教育训练学", + "40304": "民族传统体育学", + "45100": "教育", + "45101": "教育管理", + "45102": "学科教学(思政)", + "45103": "学科教学(语文)", + "45104": "学科教学(数学)", + "45105": "学科教学(物理)", + "45106": "学科教学(化学)", + "45107": "学科教学(生物)", + "45108": "学科教学(英语)", + "45109": "学科教学(历史)", + "45110": "学科教学(地理)", + "45111": "学科教学(音乐)", + "45112": "学科教学(体育)", + "45113": "学科教学(美术)", + "45114": "现代教育技术", + "45115": "小学教育", + "45116": "心理健康教育", + "45117": "科学与技术教育", + "45118": "学前教育", + "45119": "特殊教育", + "45120": "职业技术教育", + "45171": "学校课程与教学", + "45172": "学生发展与教育", + "45173": "教育领导与管理", + "45174": "汉语国际教育", + "45200": "体育", + "45201": "体育教学", + "45202": "运动训练", + "45203": "竞赛组织", + "45204": "社会体育指导", + "45300": "汉语国际教育", + "45400": "应用心理", + "47100": "教育经济与管理", + "47101": "教育经济与管理", + "48100": "教育博士", + "48102": "学生发展与教育", + "48103": "教育领导与管理", + "50100": "中国语言文学类", + "50101": "汉语言文学", + "50102": "汉语言", + "50103": "汉语国际教育", + "50104": "中国少数民族语言文学", + "50105": "古典文献学", + "50106": "应用语言学", + "50107": "秘书学", + "50108": "中国语言与文化", + "50109": "手语翻译", + "50200": "外国语言文学类", + "50201": "英语", + "50202": "俄语", + "50203": "德语", + "50204": "法语", + "50205": "西班牙语", + "50206": "阿拉伯语", + "50207": "日语", + "50208": "波斯语", + "50209": "朝鲜语", + "50210": "菲律宾语", + "50211": "梵语巴利语", + "50212": "印度尼西亚语", + "50213": "印地语", + "50214": "柬埔寨语", + "50215": "老挝语", + "50216": "缅甸语", + "50217": "马来语", + "50218": "蒙古语", + "50219": "僧伽罗语", + "50220": "泰语", + "50221": "乌尔都语", + "50222": "希伯来语", + "50223": "越南语", + "50224": "豪萨语", + "50225": "斯瓦希里语", + "50226": "阿尔巴尼亚语", + "50227": "保加利亚语", + "50228": "波兰语", + "50229": "捷克语", + "50230": "斯洛伐克语", + "50231": "罗马尼亚语", + "50232": "葡萄牙语", + "50233": "瑞典语", + "50234": "塞尔维亚语", + "50235": "土耳其语", + "50236": "希腊语", + "50237": "匈牙利语", + "50238": "意大利语", + "50239": "泰米尔语", + "50240": "普什图语", + "50241": "世界语", + "50242": "孟加拉语", + "50243": "尼泊尔语", + "50244": "克罗地亚语", + "50245": "荷兰语", + "50246": "芬兰语", + "50247": "乌克兰语", + "50248": "挪威语", + "50249": "丹麦语", + "50250": "冰岛语", + "50251": "爱尔兰语", + "50252": "拉脱维亚语", + "50253": "立陶宛语", + "50254": "斯洛文尼亚语", + "50255": "爱沙尼亚语", + "50256": "马耳他语", + "50257": "哈萨克语", + "50258": "乌兹别克语", + "50259": "祖鲁语", + "50260": "拉丁语", + "50261": "翻译", + "50262": "商务英语", + "50263": "阿姆哈拉语", + "50264": "吉尔吉斯语", + "50265": "索马里语", + "50266": "土库曼语", + "50267": "加泰罗尼亚语", + "50268": "约鲁巴语", + "50269": "亚美尼亚语", + "50270": "马达加斯加语", + "50271": "格鲁吉亚语", + "50272": "阿塞拜疆语", + "50273": "阿非利卡语", + "50274": "马其顿语", + "50275": "塔吉克语", + "50276": "茨瓦纳语", + "50277": "恩德贝莱语", + "50278": "科摩罗语", + "50279": "克里奥尔语", + "50280": "绍纳语", + "50281": "提格雷尼亚语", + "50282": "白俄罗斯语", + "50283": "毛利语", + "50284": "汤加语", + "50285": "萨摩亚语", + "50286": "库尔德语", + "50287": "比斯拉马语", + "50288": "达里语", + "50289": "德顿语", + "50290": "迪维希语", + "50291": "斐济语", + "50292": "库克群岛毛利语", + "50293": "隆迪语", + "50294": "卢森堡语", + "50295": "卢旺达语", + "50296": "纽埃语", + "50297": "皮金语", + "50298": "切瓦语", + "50299": "塞苏陀语", + "50300": "新闻传播学类", + "50301": "新闻学", + "50302": "广播电视学", + "50303": "广告学", + "50304": "传播学", + "50305": "编辑出版学", + "50306": "网络与新媒体", + "50307": "数字出版", + "50308": "时尚传播", + "50309": "国际新闻与传播", + "50310": "会展", + "55100": "翻译", + "55101": "英语笔译", + "55102": "英语口译", + "55103": "俄语笔译", + "55104": "俄语口译", + "55105": "日语笔译", + "55106": "日语口译", + "55107": "法语笔译", + "55108": "法语口译", + "55109": "德语笔译", + "55110": "德语口译", + "55111": "朝鲜语笔译", + "55112": "朝鲜语口译", + "55113": "西班牙语笔译", + "55114": "西班牙语口译", + "55115": "阿拉伯语笔译", + "55116": "阿拉伯语口译", + "55117": "泰语笔译", + "55118": "泰语口译", + "55119": "意大利语笔译", + "55120": "意大利语口译", + "55121": "越南语笔译", + "55122": "越南语口译", + "55200": "新闻与传播", + "55300": "出版", + "60100": "历史学类", + "60101": "历史学", + "60102": "世界史", + "60103": "考古学", + "60104": "文物与博物馆学", + "60105": "文物保护技术", + "60106": "外国语言与外国历史", + "60107": "文化遗产", + "60200": "中国史", + "60201": "中国古代史", + "60202": "历史地理学", + "60204": "专门史", + "60300": "世界史", + "65100": "文物与博物馆", + "65101": "考古学", + "65102": "博物馆学", + "65103": "文化遗产", + "65104": "文物保护", + "70100": "数学类", + "70101": "数学与应用数学", + "70102": "信息与计算科学", + "70103": "数理基础科学", + "70104": "数据计算及应用", + "70105": "运筹学与控制论", + "70200": "物理学类", + "70201": "物理学", + "70202": "应用物理学", + "70203": "核物理", + "70204": "声学", + "70205": "系统科学与工程", + "70206": "量子信息科学", + "70207": "光学", + "70208": "无线电物理", + "70300": "化学类", + "70301": "化学", + "70302": "应用化学", + "70303": "化学生物学", + "70304": "分子科学与工程", + "70305": "能源化学", + "70306": "化学测量学技术", + "70400": "天文学类", + "70401": "天文学", + "70402": "天体测量与天体力学", + "70500": "地理科学类", + "70501": "地理科学", + "70502": "自然地理与资源环境", + "70503": "人文地理与城乡规划", + "70504": "地理信息科学", + "70600": "大气科学类", + "70601": "大气科学", + "70602": "应用气象学", + "70603": "气象技术与工程", + "70700": "海洋科学类", + "70701": "海洋科学", + "70702": "海洋技术", + "70703": "海洋资源与环境", + "70704": "军事海洋学", + "70800": "地球物理学类", + "70801": "地球物理学", + "70802": "空间科学与技术", + "70803": "防灾减灾科学与工程", + "70900": "地质学类", + "70901": "地质学", + "70902": "地球化学", + "70903": "地球信息科学与技术", + "70904": "古生物学", + "70905": "第四纪地质学", + "71000": "生物科学类", + "71001": "生物科学", + "71002": "生物技术", + "71003": "生物信息学", + "71004": "生态学", + "71005": "整合科学", + "71006": "神经科学", + "71007": "遗传学", + "71008": "发育生物学", + "71009": "细胞生物学", + "71010": "生物化学与分子生物学", + "71011": "生物物理学", + "71012": "生态学", + "71100": "心理学类", + "71101": "心理学", + "71102": "应用心理学", + "71200": "统计学类", + "71201": "统计学", + "71202": "应用统计学", + "71300": "生态学", + "71400": "统计学", + "77100": "心理学", + "77101": "基础心理学", + "77102": "发展与教育心理学", + "77103": "应用心理学", + "77200": "力学", + "77201": "一般力学与力学基础", + "77202": "固体力学", + "77203": "流体力学", + "77204": "工程力学", + "77300": "材料科学与工程", + "77301": "材料物理与化学", + "77302": "材料学", + "77303": "材料加工工程", + "77400": "电子科学与技术", + "77401": "物理电子学", + "77402": "电路与系统", + "77403": "微电子学与固体电子学", + "77404": "电磁场与微波技术", + "77500": "计算机科学与技术", + "77501": "计算机系统结构", + "77502": "计算机软件与理论", + "77503": "计算机应用技术", + "77600": "环境科学与工程", + "77601": "环境科学", + "77602": "环境工程", + "77700": "生物医学工程", + "77800": "基础医学", + "77801": "人体解剖与组织胚胎学", + "77802": "免疫学", + "77803": "病原生物学", + "77804": "病理学与病理生理学", + "77805": "法医学", + "77806": "放射医学", + "77900": "公共卫生与预防医学", + "77901": "流行病与卫生统计学", + "77902": "劳动卫生与环境卫生学", + "77903": "营养与食品卫生学", + "77904": "儿少卫生与妇幼保健学", + "77905": "卫生毒理学", + "77906": "军事预防医学", + "78000": "药学", + "78001": "药物化学", + "78002": "药剂学", + "78003": "生药学", + "78004": "药物分析学", + "78005": "微生物与生化药学", + "78006": "药理学", + "78100": "中药学", + "78200": "医学技术", + "78300": "护理学", + "78400": "教育技术学", + "78401": "教育技术学", + "78500": "运动人体科学", + "78501": "运动人体科学", + "78600": "农药学", + "78601": "农药学", + "80100": "力学类", + "80101": "理论与应用力学", + "80102": "工程力学", + "80103": "流体力学", + "80104": "工程力学", + "80200": "机械类", + "80201": "机械工程", + "80202": "机械设计制造及其自动化", + "80203": "材料成型及控制工程", + "80204": "机械电子工程", + "80205": "工业设计", + "80206": "过程装备与控制工程", + "80207": "车辆工程", + "80208": "汽车服务工程", + "80209": "机械工艺技术", + "80210": "微机电系统工程", + "80211": "机电技术教育", + "80212": "汽车维修工程教育", + "80213": "智能制造工程", + "80214": "智能车辆工程", + "80215": "仿生科学与工程", + "80216": "新能源汽车工程", + "80300": "仪器类", + "80301": "测控技术与仪器", + "80302": "精密仪器", + "80303": "智能感知工程", + "80400": "材料类", + "80401": "材料科学与工程", + "80402": "材料物理", + "80403": "材料化学", + "80404": "冶金工程", + "80405": "金属材料工程", + "80406": "无机非金属材料工程", + "80407": "高分子材料与工程", + "80408": "复合材料与工程", + "80409": "粉体材料科学与工程", + "80410": "宝石及材料工艺学", + "80411": "焊接技术与工程", + "80412": "功能材料", + "80413": "纳米材料与技术", + "80414": "新能源材料与器件", + "80415": "材料设计科学与工程", + "80416": "复合材料成型工程", + "80417": "智能材料与结构", + "80500": "能源动力类", + "80501": "能源与动力工程", + "80502": "能源与环境系统工程", + "80503": "新能源科学与工程", + "80504": "储能科学与工程", + "80600": "电气类", + "80601": "电气工程及其自动化", + "80602": "智能电网信息工程", + "80603": "光源与照明", + "80604": "电气工程与智能控制", + "80605": "电机电器智能化", + "80606": "电缆工程", + "80700": "电子信息类", + "80701": "电子信息工程", + "80702": "电子科学与技术", + "80703": "通信工程", + "80704": "微电子科学与工程", + "80705": "光电信息科学与工程", + "80706": "信息工程", + "80707": "广播电视工程", + "80708": "水声工程", + "80709": "电子封装技术", + "80710": "集成电路设计与集成系统", + "80711": "医学信息工程", + "80712": "电磁场与无线技术", + "80713": "电波传播与天线", + "80714": "电子信息科学与技术", + "80715": "电信工程及管理", + "80716": "应用电子技术教育", + "80717": "人工智能", + "80718": "海洋信息工程", + "80800": "自动化类", + "80801": "自动化", + "80802": "轨道交通信号与控制", + "80803": "机器人工程", + "80804": "邮政工程", + "80805": "核电技术与控制工程", + "80806": "智能装备与系统", + "80807": "工业智能", + "80900": "计算机类", + "80901": "计算机科学与技术", + "80902": "软件工程", + "80903": "网络工程", + "80904": "信息安全", + "80905": "物联网工程", + "80906": "数字媒体技术", + "80907": "智能科学与技术", + "80908": "空间信息与数字技术", + "80909": "电子与计算机工程", + "80910": "数据科学与大数据技术", + "80911": "网络空间安全", + "80912": "新媒体技术", + "80913": "电影制作", + "80914": "保密技术", + "80915": "服务科学与工程", + "80916": "虚拟现实技术", + "80917": "区块链工程", + "80918": "密码科学与技术", + "81000": "土木类", + "81001": "土木工程", + "81002": "建筑环境与能源应用工程", + "81003": "给排水科学与工程", + "81004": "建筑电气与智能化", + "81005": "城市地下空间工程", + "81006": "道路桥梁与渡河工程", + "81007": "铁道工程", + "81008": "智能建造", + "81009": "土木、水利与海洋工程", + "81010": "土木、水利与交通工程", + "81011": "城市水系统工程", + "81012": "智能建造与智慧交通", + "81100": "水利类", + "81101": "水利水电工程", + "81102": "水文与水资源工程", + "81103": "港口航道与海岸工程", + "81104": "水务工程", + "81105": "水利科学与工程", + "81200": "测绘类", + "81201": "测绘工程", + "81202": "遥感科学与技术", + "81203": "导航工程", + "81204": "地理国情监测", + "81205": "地理空间信息工程", + "81300": "化工与制药类", + "81301": "化学工程与工艺", + "81302": "制药工程", + "81303": "资源循环科学与工程", + "81304": "能源化学工程", + "81305": "化学工程与工业生物工程", + "81306": "化工安全工程", + "81307": "涂料工程", + "81308": "精细化工", + "81400": "地质类", + "81401": "地质工程", + "81402": "勘查技术与工程", + "81403": "资源勘查工程", + "81404": "地下水科学与工程", + "81405": "旅游地学与规划工程", + "81406": "桥梁与隧道工程", + "81500": "矿业类", + "81501": "采矿工程", + "81502": "石油工程", + "81503": "矿物加工工程", + "81504": "油气储运工程", + "81505": "矿物资源工程", + "81506": "海洋油气工程", + "81600": "纺织类", + "81601": "纺织工程", + "81602": "服装设计与工程", + "81603": "非织造材料与工程", + "81604": "服装设计与工艺教育", + "81605": "丝绸设计与工程", + "81700": "轻工类", + "81701": "轻化工程", + "81702": "包装工程", + "81703": "印刷工程", + "81704": "香料香精技术与工程", + "81705": "化妆品技术与工程", + "81800": "交通运输类", + "81801": "交通运输", + "81802": "交通工程", + "81803": "航海技术", + "81804": "轮机工程", + "81805": "飞行技术", + "81806": "交通设备与控制工程", + "81807": "救助与打捞工程", + "81808": "船舶电子电气工程", + "81809": "轨道交通电气与控制", + "81810": "邮轮工程与管理", + "81900": "海洋工程类", + "81901": "船舶与海洋工程", + "81902": "海洋工程与技术", + "81903": "海洋资源开发技术", + "81904": "海洋机器人", + "82000": "航空航天类", + "82001": "航空航天工程", + "82002": "飞行器设计与工程", + "82003": "飞行器制造工程", + "82004": "飞行器动力工程", + "82005": "飞行器环境与生命保障工程", + "82006": "飞行器质量与可靠性", + "82007": "飞行器适航技术", + "82008": "飞行器控制与信息工程", + "82009": "无人驾驶航空器系统工程", + "82100": "兵器类", + "82101": "武器系统与工程", + "82102": "武器发射工程", + "82103": "探测制导与控制技术", + "82104": "弹药工程与爆炸技术", + "82105": "特种能源技术与工程", + "82106": "装甲车辆工程", + "82107": "信息对抗技术", + "82108": "智能无人系统技术", + "82200": "核工程类", + "82201": "核工程与核技术", + "82202": "辐射防护与核安全", + "82203": "工程物理", + "82204": "核化工与核燃料工程", + "82300": "农业工程类", + "82301": "农业工程", + "82302": "农业机械化及其自动化", + "82303": "农业电气化", + "82304": "农业建筑环境与能源工程", + "82305": "农业水利工程", + "82306": "土地整治工程", + "82307": "农业智能装备工程", + "82400": "林业工程类", + "82401": "森林工程", + "82402": "木材科学与工程", + "82403": "林产化工", + "82404": "家具设计与工程", + "82500": "环境科学与工程类", + "82501": "环境科学与工程", + "82502": "环境工程", + "82503": "环境科学", + "82504": "环境生态工程", + "82505": "环保设备工程", + "82506": "资源环境科学", + "82507": "水质科学与技术", + "82600": "生物医学工程类", + "82601": "生物医学工程", + "82602": "假肢矫形工程", + "82603": "临床工程技术", + "82604": "康复工程", + "82700": "食品科学与工程类", + "82701": "食品科学与工程", + "82702": "食品质量与安全", + "82703": "粮食工程", + "82704": "乳品工程", + "82705": "酿酒工程", + "82706": "葡萄与葡萄酒工程", + "82707": "食品营养与检验教育", + "82708": "烹饪与营养教育", + "82709": "食品安全与检测", + "82711": "食用菌科学与工程", + "82712": "白酒酿造工程", + "82800": "建筑类", + "82801": "建筑学", + "82802": "城乡规划", + "82803": "风景园林", + "82804": "历史建筑保护工程", + "82805": "人居环境科学与技术", + "82806": "城市设计", + "82900": "安全科学与工程类", + "82901": "安全工程", + "82902": "应急技术与管理", + "82903": "职业卫生工程", + "83000": "生物工程类", + "83001": "生物工程", + "83002": "生物制药", + "83003": "合成生物学", + "83100": "公安技术类", + "83101": "刑事科学技术", + "83102": "消防工程", + "83103": "交通管理工程", + "83104": "安全防范工程", + "83105": "公安视听技术", + "83106": "抢险救援指挥与技术", + "83107": "火灾勘查", + "83108": "网络安全与执法", + "83109": "核生化消防", + "83110": "海警舰艇指挥与技术", + "83111": "数据警务技术", + "83200": "食品科学与工程", + "83201": "食品科学", + "83202": "粮食、油脂及植物蛋白工程", + "83203": "农产品加工及贮藏工程", + "83204": "水产品加工及贮藏工程", + "83300": "城乡规划学", + "83400": "风景园林学", + "83500": "软件工程", + "83600": "生物工程", + "83700": "安全科学与工程", + "83800": "公安技术", + "83900": "网络空间安全", + "85100": "建筑学", + "85200": "工程", + "85201": "机械工程", + "85202": "光学工程", + "85203": "仪器仪表工程", + "85204": "材料工程", + "85205": "冶金工程", + "85206": "动力工程", + "85207": "电气工程", + "85208": "电子与通信工程", + "85209": "集成电路工程", + "85210": "控制工程", + "85211": "计算机技术", + "85212": "软件工程", + "85213": "建筑与土木工程", + "85214": "水利工程", + "85215": "测绘工程", + "85216": "化学工程", + "85217": "地质工程", + "85218": "矿业工程", + "85219": "石油与天然气工程", + "85220": "纺织工程", + "85221": "轻工技术与工程", + "85222": "交通运输工程", + "85223": "船舶与海洋工程", + "85224": "安全工程", + "85225": "兵器工程", + "85226": "核能与核技术工程", + "85227": "农业工程", + "85228": "林业工程", + "85229": "环境工程", + "85230": "生物医学工程", + "85231": "食品工程", + "85232": "航空工程", + "85233": "航天工程", + "85234": "车辆工程", + "85235": "制药工程", + "85236": "工业工程", + "85237": "工业设计工程", + "85238": "生物工程", + "85239": "项目管理", + "85240": "物流工程", + "85271": "电子与信息", + "85272": "先进制造", + "85273": "生物与医药", + "85274": "能源与环保", + "85300": "城市规划", + "85400": "电子信息", + "85401": "新一代电子信息技术(含量子技术等)", + "85402": "通信工程(含宽带网络、移动通信等)", + "85403": "集成电路工程", + "85404": "计算机技术", + "85405": "软件工程", + "85406": "控制工程", + "85407": "仪器仪表工程", + "85408": "光电信息工程", + "85409": "生物医学工程", + "85410": "人工智能", + "85411": "大数据技术与工程", + "85412": "网络与信息安全", + "85500": "机械", + "85501": "机械工程", + "85502": "车辆工程", + "85503": "航空工程", + "85504": "航天工程", + "85505": "船舶工程", + "85506": "兵器工程", + "85507": "工业设计工程", + "85508": "农机装备工程", + "85509": "智能制造技术", + "85510": "机器人工程", + "85600": "材料与化工", + "85601": "材料工程", + "85602": "化学工程", + "85603": "冶金工程", + "85604": "纺织工程", + "85605": "林业工程", + "85606": "轻化工程(含皮革、纸张、织物加工等)", + "85700": "资源与环境", + "85701": "环境工程", + "85702": "安全工程", + "85703": "地质工程", + "85704": "测绘工程", + "85705": "矿业工程", + "85706": "石油与天然气工程", + "85800": "能源动力", + "85801": "电气工程", + "85802": "动力工程", + "85803": "核能工程", + "85804": "航空发动机工程", + "85805": "燃气轮机工程", + "85806": "航天动力工程", + "85807": "清洁能源技术", + "85808": "储能技术", + "85900": "土木水利", + "85901": "土木工程", + "85902": "水利工程", + "85903": "海洋工程", + "85904": "农田水土工程", + "85905": "市政工程(含给排水等)", + "85906": "人工环境工程(含供热、通风及空调等)", + "86000": "生物与医药", + "86001": "生物技术与工程", + "86002": "制药工程", + "86003": "食品工程", + "86004": "发酵工程", + "86100": "交通运输", + "86101": "轨道交通运输", + "86102": "道路交通运输", + "86103": "水路交通运输", + "86104": "航空交通运输", + "86105": "管道交通运输", + "87000": "科学技术史", + "87100": "管理科学与工程", + "87200": "设计学", + "90100": "植物生产类", + "90101": "农学", + "90102": "园艺", + "90103": "植物保护", + "90104": "植物科学与技术", + "90105": "种子科学与工程", + "90106": "设施农业科学与工程", + "90107": "茶学", + "90108": "烟草", + "90109": "应用生物科学", + "90110": "农艺教育", + "90111": "园艺教育", + "90112": "智慧农业", + "90113": "菌物科学与工程", + "90114": "农药化肥", + "90200": "自然保护与环境生态类", + "90201": "农业资源与环境", + "90202": "野生动物与自然保护区管理", + "90203": "水土保持与荒漠化防治", + "90300": "动物生产类", + "90301": "动物科学", + "90302": "蚕学", + "90303": "蜂学", + "90304": "经济动物学", + "90305": "马业科学", + "90400": "动物医学类", + "90401": "动物医学", + "90402": "动物药学", + "90403": "动植物检疫", + "90404": "实验动物学", + "90405": "中兽医学", + "90500": "林学类", + "90501": "林学", + "90502": "园林", + "90503": "森林保护", + "90504": "经济林", + "90600": "水产类", + "90601": "水产养殖学", + "90602": "海洋渔业科学与技术", + "90603": "水族科学与技术", + "90604": "水生动物医学", + "90700": "草学类", + "90701": "草业科学", + "90702": "草坪科学与工程", + "90703": "森林保护学", + "90704": "森林经理学", + "90705": "野生动植物保护与利用", + "90706": "园林植物与观赏园艺", + "90707": "水土保持与荒漠化防治", + "90800": "水产", + "90801": "水产养殖", + "90802": "捕捞学", + "90803": "渔业资源", + "90900": "草学", + "95100": "农业", + "95101": "作物", + "95102": "园艺", + "95103": "农业资源利用", + "95104": "植物保护", + "95105": "养殖", + "95106": "草业", + "95107": "林业", + "95108": "渔业", + "95109": "农业机械化", + "95110": "农村与区域发展", + "95111": "农业科技组织与服务", + "95112": "农业信息化", + "95113": "食品加工与安全", + "95114": "设施农业", + "95115": "种业", + "95131": "农艺与种业", + "95132": "资源利用与植物保护", + "95133": "畜牧", + "95134": "渔业发展", + "95135": "食品加工与安全", + "95136": "农业工程与信息技术", + "95137": "农业管理", + "95138": "农村发展", + "95200": "兽医", + "95300": "风景园林", + "95400": "林业", + "97000": "科学技术史", + "97100": "环境科学与工程", + "97101": "环境科学", + "97102": "环境工程", + "97200": "食品科学与工程", + "97201": "食品科学", + "97202": "粮食、油脂及植物蛋白工程", + "97203": "农产品加工及贮藏工程", + "97204": "水产品加工及贮藏工程", + "97300": "风景园林学", + "100100": "基础医学类", + "100101": "基础医学", + "100102": "生物医学", + "100103": "生物医学科学", + "100104": "病理学与病理生理学", + "100105": "法医学", + "100106": "放射医学", + "100200": "临床医学类", + "100201": "临床医学", + "100202": "麻醉学", + "100203": "医学影像学", + "100204": "眼视光医学", + "100205": "精神医学", + "100206": "放射医学", + "100207": "儿科学", + "100208": "临床检验诊断学", + "100209": "护理学", + "100210": "外科学", + "100211": "妇产科学", + "100212": "眼科学", + "100213": "耳鼻咽喉科学", + "100214": "肿瘤学", + "100215": "康复医学与理疗学", + "100216": "运动医学", + "100217": "麻醉学", + "100218": "急诊医学", + "100300": "口腔医学类", + "100301": "口腔医学", + "100302": "口腔临床医学", + "100400": "公共卫生与预防医学类", + "100401": "预防医学", + "100402": "食品卫生与营养学", + "100403": "妇幼保健医学", + "100404": "卫生监督", + "100405": "全球健康学", + "100406": "军事预防医学", + "100500": "中医学类", + "100501": "中医学", + "100502": "针灸推拿学", + "100503": "藏医学", + "100504": "蒙医学", + "100505": "维医学", + "100506": "壮医学", + "100507": "哈医学", + "100508": "傣医学", + "100509": "回医学", + "100510": "中医康复学", + "100511": "中医养生学", + "100512": "中医儿科学", + "100513": "中医骨伤科学", + "100600": "中西医结合类", + "100601": "中西医临床医学", + "100602": "中西医结合临床", + "100700": "药学类", + "100701": "药学", + "100702": "药物制剂", + "100703": "临床药学", + "100704": "药事管理", + "100705": "药物分析", + "100706": "药物化学", + "100707": "海洋药学", + "100708": "化妆品科学与技术", + "100800": "中药学类", + "100801": "中药学", + "100802": "中药资源与开发", + "100803": "藏药学", + "100804": "蒙药学", + "100805": "中药制药", + "100806": "中草药栽培与鉴定", + "100900": "法医学类", + "100901": "法医学", + "101000": "医学技术类", + "101001": "医学检验技术", + "101002": "医学实验技术", + "101003": "医学影像技术", + "101004": "眼视光学", + "101005": "康复治疗学", + "101006": "口腔医学技术", + "101007": "卫生检验与检疫", + "101008": "听力与言语康复学", + "101009": "康复物理治疗", + "101010": "康复作业治疗", + "101011": "智能医学工程", + "101100": "护理学类", + "101101": "护理学", + "101102": "助产学", + "105100": "临床医学", + "105101": "内科学", + "105102": "儿科学", + "105103": "老年医学", + "105104": "神经病学", + "105105": "精神病与精神卫生学", + "105106": "皮肤病与性病学", + "105107": ", 影像医学与核医学", + "105108": ", 临床检验诊断学", + "105109": ", 全科医学", + "105110": ", 妇产科学", + "105111": ", 外科学", + "105112": ", 耳鼻咽喉科学", + "105113": ", 肿瘤学", + "105114": ", 康复医学与理疗学", + "105115": ", 妇产科学", + "105116": ", 眼科学", + "105117": ", 耳鼻咽喉科学", + "105118": ", 中医内科学", + "105119": ", 临床病理", + "105120": "临床检验诊断学", + "105121": "肿瘤学", + "105122": "放射肿瘤学", + "105123": "放射影像学", + "105124": "超声医学", + "105125": "核医学", + "105126": "医学遗传学", + "105127": "全科医学(不授博士学位)", + "105128": "临床病理学(不授博士学位)", + "105200": "口腔医学", + "105300": "公共卫生", + "105400": "护理", + "105500": "药学", + "105600": "中药学", + "105700": "中医", + "105701": "中医内科学", + "105702": "中医外科学", + "105703": "中医骨伤科学", + "105704": "中医妇科学", + "105705": "中医儿科学", + "105706": "中医五官科学", + "105707": "针灸推拿学", + "105708": "民族医学(含:藏医学、蒙医学等)", + "105709": "中西医结合临床", + "105710": "全科医学(中医,不授博士学位)", + "107100": "科学技术史", + "107200": "生物医学工程", + "107400": "社会医学与卫生事业管理", + "107401": "社会医学与卫生事业管理", + "110500": "军队指挥学", + "115100": "军事", + "115101": "军事指挥", + "115102": "军队政治工作", + "115103": "军事后勤", + "115104": "军事装备", + "120100": "管理科学与工程类", + "120101": "管理科学", + "120102": "信息管理与信息系统", + "120103": "工程管理", + "120104": "房地产开发与管理", + "120105": "工程造价", + "120106": "保密管理", + "120107": "邮政管理", + "120108": "大数据管理与应用", + "120109": "工程审计", + "120110": "计算金融", + "120200": "工商管理类", + "120201": "工商管理", + "120202": "市场营销", + "120203": "会计学", + "120204": "财务管理", + "120205": "国际商务", + "120206": "人力资源管理", + "120207": "审计学", + "120208": "资产评估", + "120209": "物业管理", + "120210": "文化产业管理", + "120211": "劳动关系", + "120212": "体育经济与管理", + "120213": "财务会计教育", + "120214": "市场营销教育", + "120215": "零售业管理", + "120300": "农业经济管理类", + "120301": "农林经济管理", + "120302": "农村区域发展", + "120400": "公共管理类", + "120401": "公共事业管理", + "120402": "行政管理", + "120403": "劳动与社会保障", + "120404": "土地资源管理", + "120405": "城市管理", + "120406": "海关管理", + "120407": "交通管理", + "120408": "海事管理", + "120409": "公共关系学", + "120410": "健康服务与管理", + "120411": "海警后勤管理", + "120412": "医疗产品管理", + "120413": "医疗保险", + "120414": "养老服务管理", + "120500": "图书情报与档案管理类", + "120501": "图书馆学", + "120502": "档案学", + "120503": "信息资源管理", + "120600": "物流管理与工程类", + "120601": "物流管理", + "120602": "物流工程", + "120603": "采购管理", + "120604": "供应链管理", + "120700": "工业工程类", + "120701": "工业工程", + "120702": "标准化工程", + "120703": "质量管理工程", + "120800": "电子商务类", + "120801": "电子商务", + "120802": "电子商务及法律", + "120803": "跨境电子商务", + "120900": "旅游管理类", + "120901": "旅游管理", + "120902": "酒店管理", + "120903": "会展经济与管理", + "120904": "旅游管理与服务教育", + "125100": "工商管理", + "125200": "公共管理", + "125300": "会计", + "125400": "旅游管理", + "125500": "图书情报", + "125600": "工程管理", + "125601": "工程管理", + "125602": "项目管理", + "125603": "工业工程与管理", + "125604": "物流工程与管理", + "130100": "艺术学理论类", + "130101": "艺术史论", + "130102": "艺术管理", + "130200": "音乐与舞蹈学类", + "130201": "音乐表演", + "130202": "音乐学", + "130203": "作曲与作曲技术理论", + "130204": "舞蹈表演", + "130205": "舞蹈学", + "130206": "舞蹈编导", + "130207": "舞蹈教育", + "130208": "航空服务艺术与管理", + "130209": "流行音乐", + "130210": "音乐治疗", + "130211": "流行舞蹈", + "130300": "戏剧与影视学类", + "130301": "表演", + "130302": "戏剧学", + "130303": "电影学", + "130304": "戏剧影视文学", + "130305": "广播电视编导", + "130306": "戏剧影视导演", + "130307": "戏剧影视美术设计", + "130308": "录音艺术", + "130309": "播音与主持艺术", + "130310": "动画", + "130311": "影视摄影与制作", + "130312": "影视技术", + "130313": "戏剧教育", + "130400": "美术学类", + "130401": "美术学", + "130402": "绘画", + "130403": "雕塑", + "130404": "摄影", + "130405": "书法学", + "130406": "中国画", + "130407": "实验艺术", + "130408": "跨媒体艺术", + "130409": "文物保护与修复", + "130410": "漫画", + "130500": "设计学类", + "130501": "艺术设计学", + "130502": "视觉传达设计", + "130503": "环境设计", + "130504": "产品设计", + "130505": "服装与服饰设计", + "130506": "公共艺术", + "130507": "工艺美术", + "130508": "数字媒体艺术", + "130509": "艺术与科技", + "130510": "陶瓷艺术设计", + "130511": "新媒体艺术", + "130512": "包装设计", + "135100": "艺术", + "135101": "音乐", + "135102": "戏剧", + "135103": "戏曲", + "135104": "电影", + "135105": "广播电视", + "135106": "舞蹈", + "135107": "美术", + "135108": "艺术设计", + "140100": "集成电路科学与工程", + "140200": "国家安全学", + "210100": "农业类", + "210101": "现代种业技术", + "210102": "作物生产与品质改良", + "210103": "智慧农业技术", + "210104": "设施园艺", + "210105": "现代农业经营与管理", + "210200": "林业类", + "210201": "智慧林业技术", + "210202": "园林工程", + "210203": "木业产品智能制造", + "210300": "畜牧业类", + "210301": "动物医学", + "210302": "动物药学", + "210303": "宠物医疗", + "210304": "现代畜牧", + "210400": "渔业类", + "210401": "现代水产养殖技术", + "220100": "资源勘查类", + "220101": "资源勘查工程技术", + "220200": "地质类", + "220201": "环境地质工程", + "220300": "测绘地理信息类", + "220301": "导航工程技术", + "220302": "测绘工程技术", + "220303": "地理信息技术", + "220400": "石油与天然气类", + "220401": "油气储运工程", + "220402": "石油工程技术", + "220500": "煤炭类", + "220501": "智能采矿技术", + "220502": "煤炭清洁利用工程", + "220700": "气象类", + "220701": "智慧气象技术", + "220800": "环境保护类", + "220801": "生态环境工程技术", + "220900": "安全类", + "220901": "安全工程技术", + "220902": "应急管理", + "230100": "电力技术类", + "230101": "电力工程及自动化", + "230102": "智能电网工程技术", + "230200": "热能与发电工程类", + "230201": "热能动力工程", + "230300": "新能源发电工程类", + "230301": "新能源发电工程技术", + "230400": "黑色金属材料类", + "230401": "钢铁智能冶金技术", + "230500": "有色金属材料类", + "230501": "材料化冶金应用技术", + "230502": "金属智能成型技术", + "230503": "储能材料工程技术", + "230600": "非金属材料类", + "230601": "高分子材料工程技术", + "230602": "新材料与应用技术", + "230700": "建筑材料类", + "230701": "建筑材料智能制造", + "240100": "建筑设计类", + "240101": "建筑设计", + "240102": "建筑装饰工程", + "240103": "古建筑工程", + "240104": "园林景观工程", + "240105": "城市设计数字技术", + "240200": "城乡规划与管理类", + "240201": "城乡规划", + "240300": "土建施工类", + "240301": "建筑工程", + "240302": "智能建造工程", + "240303": "城市地下工程", + "240304": "建筑智能检测与修复", + "240400": "建筑设备类", + "240401": "建筑环境与能源工程", + "240402": "建筑电气与智能化工程", + "240500": "建设工程管理类", + "240501": "工程造价", + "240502": "建设工程管理", + "240600": "市政工程类", + "240601": "市政工程", + "240602": "城市设施智慧管理", + "240700": "房地产类", + "240701": "房地产投资与策划", + "240702": "现代物业管理", + "250100": "水文水资源类", + "250101": "水文与水资源工程技术", + "250200": "水利工程与管理类", + "250201": "智慧水利工程", + "250202": "农业水利工程", + "250203": "水利水电工程", + "250204": "治河与港航工程", + "250300": "水利水电设备类", + "250301": "水利水电设备及自动化", + "250400": "水土保持与水环境类", + "250401": "生态水利工程", + "250402": "水环境工程", + "260100": "机械设计制造类", + "260101": "机械设计制造及自动化", + "260102": "智能制造工程技术", + "260103": "数控技术", + "260104": "工业设计", + "260105": "工业工程技术", + "260106": "材料成型及控制工程", + "260200": "机电设备类", + "260201": "装备智能化技术", + "260202": "制冷与空调工程", + "260203": "电梯工程技术", + "260300": "自动化类", + "260301": "机械电子工程技术", + "260302": "电气工程及自动化", + "260303": "智能控制技术", + "260304": "机器人技术", + "260305": "自动化技术与应用", + "260306": "现代测控工程技术", + "260307": "工业互联网工程", + "260400": "轨道装备类", + "260401": "轨道交通车辆工程技术", + "260402": "轨道交通智能控制装备技术", + "260500": "船舶与海洋工程装备类", + "260501": "船舶智能制造技术", + "260502": "船舶动力工程技术", + "260503": "船舶电气工程技术", + "260600": "航空装备类", + "260601": "航空智能制造技术", + "260602": "飞行器维修工程技术", + "260603": "航空动力装置维修技术", + "260604": "无人机系统应用技术", + "260700": "汽车制造类", + "260701": "汽车工程技术", + "260702": "新能源汽车工程技术", + "260703": "智能网联汽车工程技术", + "270100": "生物技术类", + "270101": "生物检验检测技术", + "270102": "合成生物技术", + "270103": "农业生物技术", + "270200": "化工技术类", + "270201": "应用化工技术", + "270202": "化工智能制造工程技术", + "270203": "现代精细化工技术", + "270204": "现代分析测试技术", + "280100": "轻化工类", + "280101": "化妆品工程技术", + "280102": "现代造纸工程技术", + "280200": "包装类", + "280201": "包装工程技术", + "280300": "印刷类", + "280301": "数字印刷工程", + "280400": "纺织服装类", + "280401": "现代纺织工程技术", + "280402": "服装工程技术", + "290100": "食品类", + "290101": "食品工程技术", + "290102": "食品质量与安全", + "290103": "食品营养与健康", + "290200": "药品与医疗器械类", + "290201": "制药工程技术", + "290202": "药品质量管理", + "290203": "医疗器械工程技术", + "290204": "药事服务与管理", + "290300": "粮食类", + "290301": "现代粮食工程技术", + "300100": "铁道运输类", + "300101": "高速铁路工程", + "300102": "高速铁路动车组技术", + "300103": "高速铁路信号控制技术", + "300104": "铁道机车智能运用技术", + "300105": "高速铁路运营管理", + "300200": "道路运输类", + "300201": "道路与桥梁工程", + "300202": "智能交通管理", + "300203": "汽车服务工程技术", + "300300": "水上运输类", + "300301": "航海技术", + "300302": "港口智能工程技术", + "300303": "轮机工程技术", + "300304": "国际邮轮运营管理", + "300305": "水路运输与海事管理", + "300400": "航空运输类", + "300401": "民航运输服务与管理", + "300402": "航空机电设备维修技术", + "300403": "智慧机场运行与管理", + "300404": "通用航空航务技术", + "300600": "城市轨道交通类", + "300601": "城市轨道交通信号与控制技术", + "300602": "城市轨道交通设备与控制技术", + "300603": "城市轨道交通智能运营", + "300700": "邮政类", + "300701": "邮政快递管理", + "310100": "电子信息类", + "310101": "电子信息工程技术", + "310102": "物联网工程技术", + "310103": "柔性电子技术", + "310104": "光电信息工程技术", + "310200": "计算机类", + "310201": "计算机应用工程", + "310202": "网络工程技术", + "310203": "软件工程技术", + "310204": "数字媒体技术", + "310205": "大数据工程技术", + "310206": "云计算技术", + "310207": "信息安全与管理", + "310208": "虚拟现实技术", + "310209": "人工智能工程技术", + "310210": "嵌入式技术", + "310211": "工业互联网技术", + "310212": "区块链技术", + "310300": "通信类", + "310301": "现代通信工程", + "310400": "集成电路类", + "310401": "集成电路工程技术", + "320200": "护理类", + "320201": "护理", + "320300": "药学类", + "320301": "药学", + "320400": "中医药类", + "320401": "中药制药", + "320500": "医学技术类", + "320501": "医学检验技术", + "320502": "医学影像技术", + "320503": "医学生物技术", + "320504": "口腔医学技术", + "320505": "放射治疗技术", + "320506": "呼吸治疗技术", + "320600": "康复治疗类", + "320601": "康复治疗", + "320602": "康复辅助器具技术", + "320603": "言语听觉治疗技术", + "320604": "儿童康复治疗", + "320700": "公共卫生与卫生管理类", + "320701": "公共卫生管理", + "320702": "职业卫生工程技术", + "320703": "职业病危害检测评价技术", + "320800": "健康管理与促进类", + "320801": "健康管理", + "320802": "婴幼儿发展与健康管理", + "320803": "医养照护与管理", + "320900": "眼视光类", + "320901": "眼视光技术", + "330100": "财政税务类", + "330101": "财税大数据应用", + "330200": "金融类", + "330201": "金融管理", + "330202": "金融科技应用", + "330203": "保险", + "330204": "信用管理", + "330300": "财务会计类", + "330301": "大数据与财务管理", + "330302": "大数据与会计", + "330303": "大数据与审计", + "330500": "经济贸易类", + "330501": "国际经济与贸易", + "330600": "工商管理类", + "330601": "企业数字化管理", + "330602": "市场营销", + "330700": "电子商务类", + "330701": "电子商务", + "330702": "跨境电子商务", + "330703": "全媒体电商运营", + "330800": "物流类", + "330801": "物流工程技术", + "330802": "现代物流管理", + "340100": "旅游类", + "340101": "旅游管理", + "340102": "酒店管理", + "340103": "旅游规划与设计", + "340200": "餐饮类", + "340201": "烹饪与餐饮管理", + "350100": "艺术设计类", + "350101": "工艺美术", + "350102": "视觉传达设计", + "350103": "数字媒体艺术", + "350104": "产品设计", + "350105": "服装与服饰设计", + "350106": "环境艺术设计", + "350107": "美术", + "350108": "公共艺术设计", + "350109": "游戏创意设计", + "350110": "展示艺术设计", + "350111": "数字影像设计", + "350112": "时尚品设计", + "350200": "表演艺术类", + "350201": "音乐表演", + "350202": "舞蹈表演与编导", + "350203": "戏曲表演", + "350204": "舞台艺术设计", + "350400": "文化服务类", + "350401": "文物修复与保护", + "360100": "新闻出版类", + "360101": "网络与新媒体", + "360200": "广播影视类", + "360201": "播音与主持", + "360202": "影视摄影与制作", + "360203": "数字广播电视技术", + "360204": "影视编导", + "360205": "全媒体新闻采编与制作", + "360206": "数字动画", + "370100": "教育类", + "370101": "学前教育", + "370200": "语言类", + "370201": "应用英语", + "370202": "应用日语", + "370203": "应用韩语", + "370204": "应用俄语", + "370205": "应用泰语", + "370206": "应用外语", + "370207": "应用西班牙语", + "370208": "中文国际教育", + "370300": "体育类", + "370301": "社会体育指导与管理", + "370302": "休闲体育", + "370303": "体能训练", + "370304": "电子竞技技术与管理", + "380200": "公安技术类", + "380201": "刑事科学技术", + "380202": "网络安全与执法", + "380300": "侦查类", + "380301": "刑事侦查", + "380400": "法律实务类", + "380401": "法律", + "380500": "法律执行类", + "380501": "刑事矫正与管理", + "380502": "司法警务管理", + "380503": "综合行政执法", + "380600": "司法技术类", + "380601": "智慧司法技术与应用", + "380700": "安全防范类", + "380701": "数字安防技术", + "380702": "国际安保服务与管理", + "390100": "公共事业类", + "390101": "社会工作", + "390102": "党务工作", + "390103": "智慧社区管理", + "390200": "公共管理类", + "390201": "民政管理", + "390202": "人力资源管理", + "390203": "行政管理", + "390204": "外事实务", + "390300": "公共服务类", + "390301": "现代家政管理", + "390302": "智慧健康养老管理", + "410100": "农业类", + "410101": "种子生产与经营", + "410102": "作物生产与经营管理", + "410103": "现代农业技术", + "410104": "生态农业技术", + "410105": "园艺技术", + "410106": "植物保护与检疫技术", + "410107": "茶叶生产与加工技术", + "410108": "中草药栽培与加工技术", + "410109": "烟草栽培与加工技术", + "410110": "饲草生产技术", + "410111": "食用菌生产与加工技术", + "410112": "设施农业与装备", + "410113": "现代农业装备应用技术", + "410114": "农产品加工与质量检测", + "410115": "绿色食品生产技术", + "410116": "农产品流通与管理", + "410117": "棉花加工与经营管理", + "410118": "休闲农业经营与管理", + "410119": "现代农业经济管理", + "410120": "农村新型经济组织管理", + "410200": "林业类", + "410201": "林业技术", + "410202": "园林技术", + "410203": "草业技术", + "410204": "花卉生产与花艺", + "410205": "经济林培育与利用", + "410206": "森林和草原资源保护", + "410207": "林草生态保护与修复", + "410208": "野生动植物资源保护与利用", + "410209": "自然保护地建设与管理", + "410210": "森林生态旅游与康养", + "410211": "林业信息技术应用", + "410212": "木业智能装备应用技术", + "410213": "木业产品设计与制造", + "410300": "畜牧业类", + "410301": "动物医学", + "410302": "动物药学", + "410303": "畜牧兽医", + "410304": "中兽医", + "410305": "宠物医疗技术", + "410306": "动物防疫与检疫", + "410307": "畜禽智能化养殖", + "410308": "特种动物养殖技术", + "410309": "宠物养护与驯导", + "410310": "动物营养与饲料", + "410311": "蚕桑技术", + "410400": "渔业类", + "410401": "水产养殖技术", + "410402": "海洋渔业技术", + "410403": "水族科学与技术", + "410404": "水生动物医学", + "420100": "资源勘查类", + "420101": "国土资源调查与管理", + "420102": "地质调查与矿产普查", + "420103": "生态地质调查", + "420104": "矿产地质勘查", + "420105": "煤田地质勘查", + "420106": "岩矿分析与鉴定", + "420107": "宝玉石鉴定与加工", + "420200": "地质类", + "420201": "工程地质勘查", + "420202": "水文与工程地质", + "420203": "矿山地质", + "420204": "钻探工程技术", + "420205": "岩土工程技术", + "420206": "地球物理勘探技术", + "420207": "地质灾害调查与防治", + "420208": "环境地质工程", + "420209": "城市地质勘查", + "420300": "测绘地理信息类", + "420301": "工程测量技术", + "420302": "测绘工程技术", + "420303": "测绘地理信息技术", + "420304": "摄影测量与遥感技术", + "420305": "地籍测绘与土地管理", + "420306": "国土空间规划与测绘", + "420307": "无人机测绘技术", + "420308": "矿山测量", + "420309": "导航与位置服务", + "420310": "空间数字建模与应用技术", + "420400": "石油与天然气类", + "420401": "油气储运技术", + "420402": "油气地质勘探技术", + "420403": "钻井技术", + "420404": "油气智能开采技术", + "420405": "油田化学应用技术", + "420406": "石油工程技术", + "420500": "煤炭类", + "420501": "煤矿智能开采技术", + "420502": "矿井建设工程技术", + "420503": "通风技术与安全管理", + "420504": "矿山机电与智能装备", + "420505": "煤炭清洁利用技术", + "420506": "煤层气采输技术", + "420600": "金属与非金属矿类", + "420601": "矿山智能开采技术", + "420602": "矿物加工技术", + "420700": "气象类", + "420701": "大气科学技术", + "420702": "大气探测技术", + "420703": "应用气象技术", + "420704": "雷电防护技术", + "420800": "环境保护类", + "420801": "环境监测技术", + "420802": "环境工程技术", + "420803": "生态保护技术", + "420804": "生态环境大数据技术", + "420805": "环境管理与评价", + "420806": "生态环境修复技术", + "420807": "绿色低碳技术", + "420808": "资源综合利用技术", + "420809": "水净化与安全技术", + "420810": "核与辐射检测防护技术", + "420811": "智能环保装备技术", + "420900": "安全类", + "420901": "安全技术与管理", + "420902": "化工安全技术", + "420903": "工程安全评价与监理", + "420904": "安全智能监测技术", + "420905": "应急救援技术", + "420906": "消防救援技术", + "420907": "森林草原防火技术", + "420908": "职业健康安全技术", + "430100": "电力技术类", + "430101": "发电厂及电力系统", + "430102": "水电站机电设备与自动化", + "430103": "水电站与电力网技术", + "430104": "分布式发电与智能微电网技术", + "430105": "电力系统自动化技术", + "430106": "电力系统继电保护技术", + "430107": "输配电工程技术", + "430108": "供用电技术", + "430109": "农业电气化技术", + "430110": "机场电工技术", + "430111": "电力客户服务与管理", + "430200": "热能与发电工程类", + "430201": "热能动力工程技术", + "430202": "城市热能应用技术", + "430203": "地热开发技术", + "430204": "太阳能光热技术与应用", + "430205": "发电运行技术", + "430206": "热工自动化技术", + "430207": "核电站动力设备运行与维护", + "430208": "电厂化学与环保技术", + "430300": "新能源发电工程类", + "430301": "光伏工程技术", + "430302": "风力发电工程技术", + "430303": "生物质能应用技术", + "430304": "氢能技术应用", + "430305": "工业节能技术", + "430306": "节电技术与管理", + "430307": "新能源材料应用技术", + "430400": "黑色金属材料类", + "430401": "钢铁智能冶金技术", + "430402": "智能轧钢技术", + "430403": "钢铁冶金设备维护", + "430404": "金属材料检测技术", + "430500": "有色金属材料类", + "430501": "有色金属智能冶金技术", + "430502": "金属智能加工技术", + "430503": "金属精密成型技术", + "430504": "储能材料技术", + "430505": "稀土材料技术", + "430600": "非金属材料类", + "430601": "材料工程技术", + "430602": "高分子材料智能制造技术", + "430603": "复合材料智能制造技术", + "430604": "航空复合材料成型与加工技术", + "430605": "非金属矿物材料技术", + "430606": "光伏材料制备技术", + "430607": "硅材料制备技术", + "430608": "炭材料工程技术", + "430609": "橡胶智能制造技术", + "430700": "建筑材料类", + "430701": "建筑材料工程技术", + "430702": "新型建筑材料技术", + "430703": "建筑装饰材料技术", + "430704": "建筑材料检测技术", + "430705": "装配式建筑构件智能制造技术", + "440100": "建筑设计类", + "440101": "建筑设计", + "440102": "建筑装饰工程技术", + "440103": "古建筑工程技术", + "440104": "园林工程技术", + "440105": "风景园林设计", + "440106": "建筑室内设计", + "440107": "建筑动画技术", + "440200": "城乡规划与管理类", + "440201": "城乡规划", + "440202": "智慧城市管理技术", + "440203": "村镇建设与管理", + "440300": "土建施工类", + "440301": "建筑工程技术", + "440302": "装配式建筑工程技术", + "440303": "建筑钢结构工程技术", + "440304": "智能建造技术", + "440305": "地下与隧道工程技术", + "440306": "土木工程检测技术", + "440400": "建筑设备类", + "440401": "建筑设备工程技术", + "440402": "建筑电气工程技术", + "440403": "供热通风与空调工程技术", + "440404": "建筑智能化工程技术", + "440405": "工业设备安装工程技术", + "440406": "建筑消防技术", + "440500": "建设工程管理类", + "440501": "工程造价", + "440502": "建设工程管理", + "440503": "建筑经济信息化管理", + "440504": "建设工程监理", + "440600": "市政工程类", + "440601": "市政工程技术", + "440602": "给排水工程技术", + "440603": "城市燃气工程技术", + "440604": "市政管网智能检测与维护", + "440605": "城市环境工程技术", + "440700": "房地产类", + "440701": "房地产经营与管理", + "440702": "房地产智能检测与估价", + "440703": "现代物业管理", + "450100": "水文水资源类", + "450101": "水文与水资源技术", + "450102": "水政水资源管理", + "450200": "水利工程与管理类", + "450201": "水利工程", + "450202": "智慧水利技术", + "450203": "水利水电工程技术", + "450204": "水利水电工程智能管理", + "450205": "水利水电建筑工程", + "450206": "机电排灌工程技术", + "450207": "治河与航道工程技术", + "450208": "智能水务管理", + "450300": "水利水电设备类", + "450301": "水电站设备安装与管理", + "450302": "水电站运行与智能管理", + "450303": "水利机电设备智能管理", + "450400": "水土保持与水环境类", + "450401": "水土保持技术", + "450402": "水环境智能监测与治理", + "450403": "水生态修复技术", + "460100": "机械设计制造类", + "460101": "机械设计与制造", + "460102": "数字化设计与制造技术", + "460103": "数控技术", + "460104": "机械制造及自动化", + "460105": "工业设计", + "460106": "工业工程技术", + "460107": "材料成型及控制技术", + "460108": "现代铸造技术", + "460109": "现代锻压技术", + "460110": "智能焊接技术", + "460111": "工业材料表面处理技术", + "460112": "增材制造技术", + "460113": "模具设计与制造", + "460114": "特种加工技术", + "460115": "智能光电制造技术", + "460116": "电线电缆制造技术", + "460117": "内燃机制造与应用技术", + "460118": "机械装备制造技术", + "460119": "工业产品质量检测技术", + "460120": "理化测试与质检技术", + "460200": "机电设备类", + "460201": "智能制造装备技术", + "460202": "机电设备技术", + "460203": "电机与电器技术", + "460204": "新能源装备技术", + "460205": "制冷与空调技术", + "460206": "电梯工程技术", + "460300": "自动化类", + "460301": "机电一体化技术", + "460302": "智能机电技术", + "460303": "智能控制技术", + "460304": "智能机器人技术", + "460305": "工业机器人技术", + "460306": "电气自动化技术", + "460307": "工业过程自动化技术", + "460308": "工业自动化仪表技术", + "460309": "液压与气动技术", + "460310": "工业互联网应用", + "460311": "计量测试与应用技术", + "460400": "轨道装备类", + "460401": "铁道机车车辆制造与维护", + "460402": "高速铁路动车组制造与维护", + "460403": "城市轨道交通车辆制造与维护", + "460404": "轨道交通通信信号设备制造与维护", + "460405": "轨道交通工程机械制造与维护", + "460500": "船舶与海洋工程装备类", + "460501": "船舶工程技术", + "460502": "船舶动力工程技术", + "460503": "船舶电气工程技术", + "460504": "船舶智能焊接技术", + "460505": "船舶舾装工程技术", + "460506": "船舶涂装工程技术", + "460507": "船舶通信装备技术", + "460508": "游艇设计与制造", + "460509": "邮轮内装技术", + "460510": "海洋工程装备技术", + "460600": "航空装备类", + "460601": "飞行器数字化制造技术", + "460602": "飞行器数字化装配技术", + "460603": "航空发动机制造技术", + "460604": "航空发动机装配调试技术", + "460605": "飞机机载设备装配调试技术", + "460606": "航空装备表面处理技术", + "460607": "飞行器维修技术", + "460608": "航空发动机维修技术", + "460609": "无人机应用技术", + "460610": "航空材料精密成型技术", + "460611": "导弹维修技术", + "460700": "汽车制造类", + "460701": "汽车制造与试验技术", + "460702": "新能源汽车技术", + "460703": "汽车电子技术", + "460704": "智能网联汽车技术", + "460705": "汽车造型与改装技术", + "470100": "生物技术类", + "470101": "食品生物技术", + "470102": "药品生物技术", + "470103": "农业生物技术", + "470104": "化工生物技术", + "470105": "生物产品检验检疫", + "470106": "绿色生物制造技术", + "470107": "生物信息技术", + "470200": "化工技术类", + "470201": "应用化工技术", + "470202": "石油炼制技术", + "470203": "精细化工技术", + "470204": "石油化工技术", + "470205": "煤化工技术", + "470206": "高分子合成技术", + "470207": "海洋化工技术", + "470208": "分析检验技术", + "470209": "化工智能制造技术", + "470210": "化工装备技术", + "470211": "化工自动化技术", + "470212": "涂装防护技术", + "470213": "烟花爆竹技术与管理", + "480100": "轻化工类", + "480101": "化妆品技术", + "480102": "现代造纸技术", + "480103": "家具设计与制造", + "480104": "鞋类设计与工艺", + "480105": "陶瓷制造技术与工艺", + "480106": "珠宝首饰技术与管理", + "480107": "皮革加工技术", + "480108": "皮具制作与工艺", + "480109": "乐器制造与维护", + "480110": "香料香精技术与工艺", + "480111": "表面精饰工艺", + "480200": "包装类", + "480201": "包装工程技术", + "480202": "包装策划与设计", + "480300": "印刷类", + "480301": "数字印刷技术", + "480302": "印刷媒体技术", + "480303": "印刷数字图文技术", + "480304": "印刷设备应用技术", + "480400": "纺织服装类", + "480401": "现代纺织技术", + "480402": "服装设计与工艺", + "480403": "丝绸技术", + "480404": "针织技术与针织服装", + "480405": "数字化染整技术", + "480406": "纺织品设计", + "480407": "现代家用纺织品设计", + "480408": "纺织材料与应用", + "480409": "现代非织造技术", + "480410": "纺织机电技术", + "480411": "纺织品检验与贸易", + "480412": "皮革服装制作与工艺", + "490100": "食品类", + "490101": "食品智能加工技术", + "490102": "食品质量与安全", + "490103": "食品营养与健康", + "490104": "食品检验检测技术", + "490105": "酿酒技术", + "490106": "食品贮运与营销", + "490200": "药品与医疗器械类", + "490201": "药品生产技术", + "490202": "生物制药技术", + "490203": "药物制剂技术", + "490204": "化学制药技术", + "490205": "兽药制药技术", + "490206": "药品质量与安全", + "490207": "制药设备应用技术", + "490208": "药品经营与管理", + "490209": "食品药品监督管理", + "490210": "智能医疗装备技术", + "490211": "医用电子仪器技术", + "490212": "医用材料与应用", + "490213": "医疗器械维护与管理", + "490214": "医疗器械经营与服务", + "490215": "康复工程技术", + "490216": "保健食品质量与管理", + "490217": "化妆品经营与管理", + "490218": "化妆品质量与安全", + "490300": "粮食类", + "490301": "粮食工程技术与管理", + "490302": "粮食储运与质量安全", + "500100": "铁道运输类", + "500101": "铁道工程技术", + "500102": "高速铁路施工与维护", + "500103": "铁道桥梁隧道工程技术", + "500104": "铁道养路机械应用技术", + "500105": "铁道机车运用与维护", + "500106": "铁道车辆技术", + "500107": "铁道供电技术", + "500108": "动车组检修技术", + "500109": "高速铁路综合维修技术", + "500110": "铁道信号自动控制", + "500111": "铁道通信与信息化技术", + "500112": "铁道交通运营管理", + "500113": "高速铁路客运服务", + "500200": "道路运输类", + "500201": "道路与桥梁工程技术", + "500202": "道路机械化施工技术", + "500203": "智能工程机械运用技术", + "500204": "道路工程检测技术", + "500205": "道路工程造价", + "500206": "道路养护与管理", + "500207": "智能交通技术", + "500208": "道路运输管理", + "500209": "交通运营管理", + "500210": "汽车技术服务与营销", + "500211": "汽车检测与维修技术", + "500212": "新能源汽车检测与维修技术", + "500300": "水上运输类", + "500301": "航海技术", + "500302": "港口与航道工程技术", + "500303": "轮机工程技术", + "500304": "国际邮轮乘务管理", + "500305": "水路运输安全管理", + "500306": "港口机械与智能控制", + "500307": "港口与航运管理", + "500308": "船舶电子电气技术", + "500309": "船舶检验", + "500310": "集装箱运输管理", + "500400": "航空运输类", + "500401": "民航运输服务", + "500402": "民航通信技术", + "500403": "定翼机驾驶技术", + "500404": "直升机驾驶技术", + "500405": "空中乘务", + "500406": "民航安全技术管理", + "500407": "民航空中安全保卫", + "500408": "机场运行服务与管理", + "500409": "飞机机电设备维修", + "500410": "飞机电子设备维修", + "500411": "飞机部件修理", + "500412": "通用航空器维修", + "500413": "飞机结构修理", + "500414": "航空地面设备维修", + "500415": "机场场务技术与管理", + "500416": "通用航空航务技术", + "500417": "航空油料", + "500500": "管道运输类", + "500501": "管道工程技术", + "500502": "管道运输管理", + "500600": "城市轨道交通类", + "500601": "城市轨道交通工程技术", + "500602": "城市轨道车辆应用技术", + "500603": "城市轨道交通机电技术", + "500604": "城市轨道交通通信信号技术", + "500605": "城市轨道交通供配电技术", + "500606": "城市轨道交通运营管理", + "500700": "邮政类", + "500701": "邮政快递运营管理", + "500702": "邮政快递智能技术", + "500703": "邮政通信管理", + "502100": "语言学", + "502101": "塔玛齐格特语", + "502102": "爪哇语", + "502103": "旁遮普语", + "510100": "农业类", + "510101": "作物生产技术", + "510102": "种子生产与经营", + "510103": "设施农业与装备", + "510104": "现代农业技术", + "510105": "休闲农业", + "510106": "生态农业技术", + "510107": "园艺技术", + "510108": "植物保护与检疫技术", + "510109": "茶树栽培与茶叶加工", + "510110": "中草药栽培技术", + "510111": "烟草栽培与加工", + "510112": "棉花加工与经营管理", + "510113": "农产品加工与质量检测", + "510114": "绿色食品生产与检验", + "510115": "农资营销与服务", + "510116": "农产品流通与管理", + "510117": "农业装备应用技术", + "510118": "农业经济管理", + "510119": "农村经营管理", + "510120": "食用菌生产与加工", + "510200": "林业类", + "510201": "林业技术", + "510202": "园林技术", + "510203": "森林资源保护", + "510204": "经济林培育与利用", + "510205": "野生植物资源保护与利用", + "510206": "野生动物资源保护与利用", + "510207": "森林生态旅游", + "510208": "森林防火指挥与通讯", + "510209": "自然保护区建设与管理", + "510210": "木工设备应用技术", + "510211": "木材加工技术", + "510212": "林业调查与信息处理", + "510213": "林业信息技术与管理", + "510214": "工业软件开发技术", + "510215": "动漫制作技术", + "510216": "密码技术应用", + "510300": "畜牧业类", + "510301": "畜牧兽医", + "510302": "动物医学", + "510303": "动物药学", + "510304": "动物防疫与检疫", + "510305": "动物医学检验技术", + "510306": "宠物养护与驯导", + "510307": "实验动物技术", + "510308": "饲料与动物营养", + "510309": "特种动物养殖", + "510310": "畜牧工程技术", + "510311": "蚕桑技术", + "510312": "草业技术", + "510313": "养蜂与蜂产品加工", + "510314": "畜牧业经济管理", + "510315": "宠物临床诊疗技术", + "510400": "渔业类", + "510401": "水产养殖技术", + "510402": "海洋渔业技术", + "510403": "水族科学与技术", + "510404": "水生动物医学", + "510405": "渔业经济管理", + "520100": "资源勘查类", + "520101": "国土资源调查与管理", + "520102": "地质调查与矿产普查", + "520103": "矿产地质与勘查", + "520104": "岩矿分析与鉴定", + "520105": "宝玉石鉴定与加工", + "520106": "煤田地质与勘查技术", + "520107": "权籍信息化管理", + "520200": "地质类", + "520201": "工程地质勘查", + "520202": "水文与工程地质", + "520203": "钻探技术", + "520204": "矿山地质", + "520205": "地球物理勘探技术", + "520206": "地质灾害调查与防治", + "520207": "环境地质工程", + "520208": "岩土工程技术", + "520300": "测绘地理信息类", + "520301": "工程测量技术", + "520302": "摄影测量与遥感技术", + "520303": "测绘工程技术", + "520304": "测绘地理信息技术", + "520305": "地籍测绘与土地管理", + "520306": "矿山测量", + "520307": "测绘与地质工程技术", + "520308": "导航与位置服务", + "520309": "地图制图与数字传播技术", + "520310": "地理国情监测技术", + "520311": "国土测绘与规划", + "520400": "石油与天然气类", + "520401": "钻井技术", + "520402": "油气开采技术", + "520403": "油气储运技术", + "520404": "油气地质勘探技术", + "520405": "油田化学应用技术", + "520406": "石油工程技术", + "520407": "傣医学", + "520408": "哈医学", + "520409": "朝医学", + "520410": "中药学", + "520411": "蒙药学", + "520412": "维药学", + "520413": "藏药学", + "520414": "中药材生产与加工", + "520415": "中药制药", + "520416": "中医康复技术", + "520417": "中医养生保健", + "520418": "药膳与食疗", + "520500": "煤炭类", + "520501": "煤矿开采技术", + "520502": "矿井建设", + "520503": "矿山机电技术", + "520504": "矿井通风与安全", + "520505": "综合机械化采煤", + "520506": "选煤技术", + "520507": "煤炭深加工与利用", + "520508": "煤化分析与检验", + "520509": "煤层气采输技术", + "520510": "矿井运输与提升", + "520600": "金属与非金属矿类", + "520601": "金属与非金属矿开采技术", + "520602": "矿物加工技术", + "520603": "矿业装备维护技术", + "520700": "气象类", + "520701": "大气科学技术", + "520702": "大气探测技术", + "520703": "应用气象技术", + "520704": "防雷技术", + "520800": "环境保护类", + "520801": "环境监测与控制技术", + "520802": "农村环境保护", + "520803": "室内环境检测与控制技术", + "520804": "环境工程技术", + "520805": "环境信息技术", + "520806": "核与辐射检测防护技术", + "520807": "环境规划与管理", + "520808": "环境评价与咨询服务", + "520809": "污染修复与生态工程技术", + "520810": "清洁生产与减排技术", + "520811": "资源综合利用与管理技术", + "520812": "水净化与安全技术", + "520900": "安全类", + "520901": "安全健康与环保", + "520902": "化工安全技术", + "520903": "救援技术", + "520904": "安全技术与管理", + "520905": "工程安全评价与监理", + "520906": "安全生产监测监控", + "520907": "职业卫生技术与管理", + "530100": "电力技术类", + "530101": "发电厂及电力系统", + "530102": "供用电技术", + "530103": "电力系统自动化技术", + "530104": "高压输配电线路施工运行与维护", + "530105": "电力系统继电保护与自动化技术", + "530106": "水电站机电设备与自动化", + "530107": "电网监控技术", + "530108": "电力客户服务与管理", + "530109": "水电站与电力网", + "530110": "电源变换技术与应用", + "530111": "农业电气化技术", + "530112": "分布式发电与微电网技术", + "530113": "机场电工技术", + "530200": "热能与发电工程类", + "530201": "电厂热能动力装置", + "530202": "城市热能应用技术", + "530203": "核电站动力设备运行与维护", + "530204": "火电厂集控运行", + "530205": "电厂化学与环保技术", + "530206": "电厂热工自动化技术", + "530207": "国际金融", + "530208": "农村金融", + "530300": "新能源发电工程类", + "530301": "风力发电工程技术", + "530302": "风电系统运行与维护", + "530303": "生物质能应用技术", + "530304": "光伏发电技术与应用", + "530305": "工业节能技术", + "530306": "节电技术与管理", + "530307": "太阳能光热技术与应用", + "530308": "农村能源与环境技术", + "530309": "氢能技术应用", + "530400": "黑色金属材料类", + "530401": "黑色冶金技术", + "530402": "轧钢工程技术", + "530403": "钢铁冶金设备应用技术", + "530404": "金属材料质量检测", + "530405": "铁矿资源综合利用", + "530500": "有色金属材料类", + "530501": "有色冶金技术", + "530502": "有色冶金设备应用技术", + "530503": "金属压力加工", + "530504": "金属精密成型技术", + "530505": "储能材料技术", + "530600": "非金属材料类", + "530601": "材料工程技术", + "530602": "高分子材料工程技术", + "530603": "复合材料工程技术", + "530604": "非金属矿物材料技术", + "530605": "光伏材料制备技术", + "530606": "炭素加工技术", + "530607": "硅材料制备技术", + "530608": "橡胶工程技术", + "530700": "建筑材料类", + "530701": "建筑材料工程技术", + "530702": "建筑材料检测技术", + "530703": "建筑装饰材料技术", + "530704": "建筑材料设备应用", + "530705": "新型建筑材料技术", + "530706": "建筑材料生产与管理", + "530800": "物流类", + "530801": "物流工程技术", + "530802": "现代物流管理", + "530803": "航空物流管理", + "530804": "铁路物流管理", + "530805": "冷链物流技术与管理", + "530806": "港口物流管理", + "530807": "工程物流管理", + "530808": "采购与供应管理", + "530809": "智能物流技术", + "530810": "供应链运营", + "540100": "建筑设计类", + "540101": "建筑设计", + "540102": "建筑装饰工程技术", + "540103": "古建筑工程技术", + "540104": "建筑室内设计", + "540105": "风景园林设计", + "540106": "园林工程技术", + "540107": "建筑动画与模型制作", + "540108": "葡萄酒文化与营销", + "540109": "茶艺与茶文化", + "540110": "智慧景区开发与管理", + "540111": "智慧旅游技术应用", + "540112": "会展策划与管理", + "540113": "休闲服务与管理", + "540200": "城乡规划与管理类", + "540201": "城乡规划", + "540202": "村镇建设与管理", + "540203": "城市信息化管理", + "540204": "西式烹饪工艺", + "540205": "营养配餐", + "540300": "土建施工类", + "540301": "建筑工程技术", + "540302": "地下与隧道工程技术", + "540303": "土木工程检测技术", + "540304": "建筑钢结构工程技术", + "540400": "建筑设备类", + "540401": "建筑设备工程技术", + "540402": "供热通风与空调工程技术", + "540403": "建筑电气工程技术", + "540404": "建筑智能化工程技术", + "540405": "工业设备安装工程技术", + "540406": "消防工程技术", + "540500": "建设工程管理类", + "540501": "建设工程管理", + "540502": "工程造价", + "540503": "建筑经济管理", + "540504": "建设项目信息化管理", + "540505": "建设工程监理", + "540600": "市政工程类", + "540601": "市政工程技术", + "540602": "城市燃气工程技术", + "540603": "给排水工程技术", + "540604": "环境卫生工程技术", + "540700": "房地产类", + "540701": "房地产经营与管理", + "540702": "房地产检测与估价", + "540703": "物业管理", + "550100": "水文水资源类", + "550101": "水文与水资源工程", + "550102": "水文测报技术", + "550103": "水政水资源管理", + "550104": "产品艺术设计", + "550105": "服装与服饰设计", + "550106": "环境艺术设计", + "550107": "书画艺术", + "550108": "公共艺术设计", + "550109": "游戏艺术设计", + "550110": "展示艺术设计", + "550111": "美容美体艺术", + "550112": "工艺美术品设计", + "550113": "广告艺术设计", + "550114": "室内艺术设计", + "550115": "家具艺术设计", + "550116": "动漫设计", + "550117": "人物形象设计", + "550118": "摄影与摄像艺术", + "550119": "雕刻艺术设计", + "550120": "皮具艺术设计", + "550121": "包装艺术设计", + "550122": "陶瓷设计与工艺", + "550123": "首饰设计与工艺", + "550124": "玉器设计与工艺", + "550125": "刺绣设计与工艺", + "550126": "雕塑设计", + "550127": "服装陈列与展示设计", + "550200": "水利工程与管理类", + "550201": "水利工程", + "550202": "水利水电工程技术", + "550203": "水利水电工程管理", + "550204": "水利水电建筑工程", + "550205": "机电排灌工程技术", + "550206": "港口航道与治河工程", + "550207": "水务管理", + "550208": "音乐剧表演", + "550209": "国际标准舞", + "550210": "现代流行音乐", + "550211": "戏曲音乐", + "550212": "音乐制作", + "550213": "钢琴伴奏", + "550214": "钢琴调律", + "550215": "舞蹈编导", + "550216": "音乐传播", + "550217": "时尚表演与传播", + "550218": "舞台艺术设计与制作", + "550219": "作曲技术", + "550220": "现代魔术设计与表演", + "550300": "水利水电设备类", + "550301": "水电站动力设备", + "550302": "水电站电气设备", + "550303": "水电站运行与管理", + "550304": "水利机电设备运行与管理", + "550305": "中国少数民族语言文化", + "550400": "水土保持与水环境类", + "550401": "水土保持技术", + "550402": "水环境监测与治理", + "550403": "公共文化服务与管理", + "550404": "文物修复与保护", + "550405": "文物考古技术", + "550406": "文物展示利用技术", + "550407": "图书档案管理", + "550408": "石窟寺保护技术", + "560100": "机械设计制造类", + "560101": "机械设计与制造", + "560102": "机械制造与自动化", + "560103": "数控技术", + "560104": "精密机械技术", + "560105": "特种加工技术", + "560106": "材料成型与控制技术", + "560107": "金属材料与热处理技术", + "560108": "铸造技术", + "560109": "锻压技术", + "560110": "焊接技术与自动化", + "560111": "机械产品检测检验技术", + "560112": "理化测试与质检技术", + "560113": "模具设计与制造", + "560114": "电机与电器技术", + "560115": "电线电缆制造技术", + "560116": "内燃机制造与维修", + "560117": "机械装备制造技术", + "560118": "工业设计", + "560119": "工业工程技术", + "560200": "机电设备类", + "560201": "自动化生产设备应用", + "560202": "机电设备安装技术", + "560203": "机电设备维修与管理", + "560204": "数控设备应用与维护", + "560205": "制冷与空调技术", + "560206": "光电制造与应用技术", + "560207": "新能源装备技术", + "560208": "影视多媒体技术", + "560209": "影视照明技术与艺术", + "560210": "音像技术", + "560211": "录音技术与艺术", + "560212": "摄影摄像技术", + "560213": "融媒体技术与运营", + "560214": "网络直播与运营", + "560215": "传播与策划", + "560216": "全媒体广告策划与营销", + "560300": "自动化类", + "560301": "机电一体化技术", + "560302": "电气自动化技术", + "560303": "工业过程自动化技术", + "560304": "智能控制技术", + "560305": "工业网络技术", + "560306": "工业自动化仪表", + "560307": "液压与气动技术", + "560308": "电梯工程技术", + "560309": "工业机器人技术", + "560400": "铁道装备类", + "560401": "铁道机车车辆制造与维护", + "560402": "铁道通信信号设备制造与维护", + "560403": "铁道施工和养路机械制造与维护", + "560500": "船舶与海洋工程装备类", + "560501": "船舶工程技术", + "560502": "船舶机械工程技术", + "560503": "船舶电气工程技术", + "560504": "船舶舾装工程技术", + "560505": "船舶涂装工程技术", + "560506": "游艇设计与制造", + "560507": "海洋工程技术", + "560508": "船舶通信与导航", + "560509": "船舶动力工程技术", + "560600": "航空装备类", + "560601": "飞行器制造技术", + "560602": "飞行器维修技术", + "560603": "航空发动机制造技术", + "560604": "航空发动机装试技术", + "560605": "航空发动机维修技术", + "560606": "飞机机载设备制造技术", + "560607": "飞机机载设备维修技术", + "560608": "航空电子电气技术", + "560609": "航空材料精密成型技术", + "560610": "无人机应用技术", + "560611": "导弹维修", + "560700": "汽车制造类", + "560701": "汽车制造与装配技术", + "560702": "汽车检测与维修技术", + "560703": "汽车电子技术", + "560704": "汽车造型技术", + "560705": "汽车试验技术", + "560706": "汽车改装技术", + "560707": "新能源汽车技术", + "570100": "生物技术类", + "570101": "食品生物技术", + "570102": "化工生物技术", + "570103": "药品生物技术", + "570104": "农业生物技术", + "570105": "生物产品检验检疫", + "570106": "小学英语教育", + "570107": "小学科学教育", + "570108": "音乐教育", + "570109": "美术教育", + "570110": "体育教育", + "570111": "小学道德与法治教育", + "570112": "舞蹈教育", + "570113": "艺术教育", + "570114": "特殊教育", + "570115": "现代教育技术", + "570116": "心理健康教育", + "570200": "化工技术类", + "570201": "应用化工技术", + "570202": "石油炼制技术", + "570203": "石油化工技术", + "570204": "高分子合成技术", + "570205": "精细化工技术", + "570206": "海洋化工技术", + "570207": "工业分析技术", + "570208": "化工装备技术", + "570209": "化工自动化技术", + "570210": "涂装防护技术", + "570211": "烟花爆竹技术与管理", + "570212": "煤化工技术", + "570213": "应用德语", + "570214": "应用泰语", + "570215": "应用越南语", + "570216": "应用阿拉伯语", + "570300": "体育类", + "570301": "社会体育", + "570302": "休闲体育", + "570303": "运动训练", + "570304": "民族传统体育", + "570305": "运动防护", + "570306": "体育保健与康复", + "570307": "健身指导与管理", + "570308": "运动健康指导", + "570309": "运动数据分析", + "570310": "体能训练", + "570311": "体育运营与管理", + "570312": "电子竞技运动与管理", + "570313": "高尔夫球运动与管理", + "570314": "冰雪运动与管理", + "570315": "冰雪设施运维与管理", + "570316": "体育艺术表演", + "580100": "轻化工类", + "580101": "高分子材料加工技术", + "580102": "制浆造纸技术", + "580103": "香料香精工艺", + "580104": "表面精饰工艺", + "580105": "家具设计与制造", + "580106": "化妆品技术", + "580107": "皮革加工技术", + "580108": "皮具制作与工艺", + "580109": "鞋类设计与工艺", + "580110": "乐器制造与维护", + "580111": "陶瓷制造工艺", + "580112": "珠宝首饰技术与管理", + "580200": "包装类", + "580201": "包装工程技术", + "580202": "包装策划与设计", + "580203": "包装设备应用技术", + "580204": "食品包装技术", + "580300": "印刷类", + "580301": "数字图文信息技术", + "580302": "印刷设备应用技术", + "580303": "印刷媒体设计与制作", + "580304": "印刷媒体技术", + "580305": "数字印刷技术", + "580400": "纺织服装类", + "580401": "现代纺织技术", + "580402": "丝绸技术", + "580403": "染整技术", + "580404": "纺织机电技术", + "580405": "纺织品检验与贸易", + "580406": "纺织品设计", + "580407": "家用纺织品设计", + "580408": "纺织材料与应用", + "580409": "针织技术与针织服装", + "580410": "服装设计与工艺", + "580411": "皮革服装制作与工艺", + "580412": "服装陈列与展示设计", + "580500": "法律执行类", + "580501": "刑事执行", + "580502": "民事执行", + "580503": "行政执行", + "580504": "司法警务", + "580505": "社区矫正", + "580600": "司法技术类", + "580601": "刑事侦查技术", + "580602": "司法信息技术", + "580603": "司法鉴定技术", + "580604": "司法信息安全", + "580605": "罪犯心理测量与矫正技术", + "580606": "戒毒矫治技术", + "580700": "安全防范类", + "580701": "安全防范技术", + "580702": "安全保卫管理", + "580703": "智能安防运营管理", + "590100": "食品工业类", + "590101": "食品加工技术", + "590102": "酿酒技术", + "590103": "食品质量与安全", + "590104": "食品贮运与营销", + "590105": "食品检测技术", + "590106": "食品营养与卫生", + "590107": "食品营养与检测", + "590200": "药品制造类", + "590201": "中药生产与加工", + "590202": "药品生产技术", + "590203": "兽药制药技术", + "590204": "药品质量与安全", + "590205": "制药设备应用技术", + "590206": "化学制药技术", + "590207": "生物制药技术", + "590208": "中药制药技术", + "590209": "药物制剂技术", + "590210": "标准化技术", + "590300": "食品药品管理类", + "590301": "药品经营与管理", + "590302": "药品服务与管理", + "590303": "保健品开发与管理", + "590304": "化妆品经营与管理", + "590305": "食品药品监督管理", + "590306": "殡葬设备维护技术", + "590307": "陵园服务与管理", + "590400": "粮食工业类", + "590401": "粮食工程技术", + "590500": "粮食储检类", + "590501": "粮油储藏与检测技术", + "600100": "铁道运输类", + "600101": "铁道机车", + "600102": "铁道车辆", + "600103": "铁道供电技术", + "600104": "铁道工程技术", + "600105": "铁道机械化维修技术", + "600106": "铁道信号自动控制", + "600107": "铁道通信与信息化技术", + "600108": "铁道交通运营管理", + "600109": "铁路物流管理", + "600110": "铁路桥梁与隧道工程技术", + "600111": "高速铁道工程技术", + "600112": "高速铁路客运乘务", + "600113": "动车组检修技术", + "600114": "高铁综合维修技术", + "600200": "道路运输类", + "600201": "智能交通技术运用", + "600202": "道路桥梁工程技术", + "600203": "道路运输与路政管理", + "600204": "道路养护与管理", + "600205": "公路机械化施工技术", + "600206": "工程机械运用技术", + "600207": "交通运营管理", + "600208": "交通枢纽运营管理", + "600209": "汽车运用与维修技术", + "600210": "汽车车身维修技术", + "600211": "汽车运用安全管理", + "600212": "新能源汽车运用与维修", + "600300": "水上运输类", + "600301": "航海技术", + "600302": "国际邮轮乘务管理", + "600303": "船舶电子电气技术", + "600304": "船舶检验", + "600305": "港口机械与自动控制", + "600306": "港口电气技术", + "600307": "港口与航道工程技术", + "600308": "港口与航运管理", + "600309": "港口物流管理", + "600310": "轮机工程技术", + "600311": "水上救捞技术", + "600312": "水路运输与海事管理", + "600313": "集装箱运输管理", + "600400": "航空运输类", + "600401": "民航运输", + "600402": "民航通信技术", + "600403": "定翼机驾驶技术", + "600404": "直升机驾驶技术", + "600405": "空中乘务", + "600406": "民航安全技术管理", + "600407": "民航空中安全保卫", + "600408": "机场运行", + "600409": "飞机机电设备维修", + "600410": "飞机电子设备维修", + "600411": "飞机部件修理", + "600412": "航空地面设备维修", + "600413": "机场场务技术与管理", + "600414": "航空油料", + "600415": "航空物流", + "600416": "通用航空器维修", + "600417": "通用航空航务技术", + "600418": "飞机结构修理", + "600500": "管道运输类", + "600501": "管道工程技术", + "600502": "管道运输管理", + "600600": "城市轨道交通类", + "600601": "城市轨道交通车辆技术", + "600602": "城市轨道交通机电技术", + "600603": "城市轨道交通通信信号技术", + "600604": "城市轨道交通供配电技术", + "600605": "城市轨道交通工程技术", + "600606": "城市轨道交通运营管理", + "600700": "邮政类", + "600701": "邮政通信管理", + "600702": "快递运营管理", + "610100": "电子信息类", + "610101": "电子信息工程技术", + "610102": "应用电子技术", + "610103": "微电子技术", + "610104": "智能产品开发", + "610105": "智能终端技术与应用", + "610106": "智能监控技术应用", + "610107": "汽车智能技术", + "610108": "电子产品质量检测", + "610109": "电子产品营销与服务", + "610110": "电子电路设计与工艺", + "610111": "电子制造技术与设备", + "610112": "电子测量技术与仪器", + "610113": "电子工艺与管理", + "610114": "声像工程技术", + "610115": "移动互联应用技术", + "610116": "光电技术应用", + "610117": "光伏工程技术", + "610118": "光电显示技术", + "610119": "物联网应用技术", + "610120": "集成电路技术应用", + "610200": "计算机类", + "610201": "计算机应用技术", + "610202": "计算机网络技术", + "610203": "计算机信息管理", + "610204": "计算机系统与维护", + "610205": "软件技术", + "610206": "软件与信息服务", + "610207": "动漫制作技术", + "610208": "嵌入式技术与应用", + "610209": "数字展示技术", + "610210": "数字媒体应用技术", + "610211": "信息安全与管理", + "610212": "移动应用开发", + "610213": "云计算技术与应用", + "610214": "电子商务技术", + "610215": "大数据技术与应用", + "610216": "虚拟现实应用技术", + "610217": "人工智能技术服务", + "610300": "通信类", + "610301": "通信技术", + "610302": "移动通信技术", + "610303": "通信系统运行管理", + "610304": "通信工程设计与监理", + "610305": "电信服务与管理", + "610306": "光通信技术", + "610307": "物联网工程技术", + "620100": "临床医学类", + "620101": "临床医学", + "620102": "口腔医学", + "620103": "中医学", + "620104": "中医骨伤", + "620105": "针灸推拿", + "620106": "蒙医学", + "620107": "藏医学", + "620108": "维医学", + "620109": "傣医学", + "620110": "哈医学", + "620111": "朝医学", + "620200": "护理类", + "620201": "护理", + "620202": "助产", + "620300": "药学类", + "620301": "药学", + "620302": "中药学", + "620303": "蒙药学", + "620304": "维药学", + "620305": "藏药学", + "620400": "医学技术类", + "620401": "医学检验技术", + "620402": "医学生物技术", + "620403": "医学影像技术", + "620404": "医学美容技术", + "620405": "口腔医学技术", + "620406": "卫生检验与检疫技术", + "620407": "眼视光技术", + "620408": "放射治疗技术", + "620409": "呼吸治疗技术", + "620500": "康复治疗类", + "620501": "康复治疗技术", + "620502": "言语听觉康复技术", + "620503": "中医康复技术", + "620600": "公共卫生与卫生管理类", + "620601": "预防医学", + "620602": "公共卫生管理", + "620603": "卫生监督", + "620604": "卫生信息管理", + "620700": "人口与计划生育类", + "620701": "人口与家庭发展服务", + "620702": "生殖健康服务与管理", + "620800": "健康管理与促进类", + "620801": "健康管理", + "620802": "医学营养", + "620803": "中医养生保健", + "620804": "心理咨询", + "620805": "医疗设备应用技术", + "620806": "精密医疗器械技术", + "620807": "医疗器械维护与管理", + "620808": "康复工程技术", + "620809": "康复辅助器具技术", + "620810": "假肢与矫形器技术", + "620811": "老年保健与管理", + "620812": "医疗器械经营与管理", + "630100": "财政税务类", + "630101": "财政", + "630102": "税务", + "630103": "资产评估与管理", + "630104": "政府采购管理", + "630200": "金融类", + "630201": "金融管理", + "630202": "国际金融", + "630203": "证券与期货", + "630204": "信托与租赁", + "630205": "保险", + "630206": "投资与理财", + "630207": "信用管理", + "630208": "农村金融", + "630209": "互联网金融", + "630300": "财务会计类", + "630301": "财务管理", + "630302": "会计", + "630303": "审计", + "630304": "会计信息管理", + "630400": "统计类", + "630401": "信息统计与分析", + "630402": "统计与会计核算", + "630500": "经济贸易类", + "630501": "国际贸易实务", + "630502": "国际经济与贸易", + "630503": "国际商务", + "630504": "服务外包", + "630505": "经济信息管理", + "630506": "报关与国际货运", + "630507": "商务经纪与代理", + "630508": "国际文化贸易", + "630600": "工商管理类", + "630601": "工商企业管理", + "630602": "商务管理", + "630603": "商检技术", + "630604": "连锁经营管理", + "630605": "市场管理与服务", + "630606": "品牌代理经营", + "630607": "中小企业创业与经营", + "630700": "市场营销类", + "630701": "市场营销", + "630702": "汽车营销与服务", + "630703": "广告策划与营销", + "630704": "茶艺与茶叶营销", + "630800": "电子商务类", + "630801": "电子商务", + "630802": "移动商务", + "630803": "网络营销", + "630804": "商务数据分析与应用", + "630805": "跨境电子商务", + "630900": "物流类", + "630901": "物流工程技术", + "630902": "物流信息技术", + "630903": "物流管理", + "630904": "物流金融管理", + "630905": "工程物流管理", + "630906": "冷链物流技术与管理", + "630907": "采购与供应管理", + "640100": "旅游类", + "640101": "旅游管理", + "640102": "导游", + "640103": "旅行社经营管理", + "640104": "景区开发与管理", + "640105": "酒店管理", + "640106": "休闲服务与管理", + "640107": "研学旅行管理与服务", + "640108": "葡萄酒营销与服务", + "640200": "餐饮类", + "640201": "餐饮管理", + "640202": "烹调工艺与营养", + "640203": "营养配餐", + "640204": "中西面点工艺", + "640205": "西餐工艺", + "640300": "会展类", + "640301": "会展策划与管理", + "650100": "艺术设计类", + "650101": "艺术设计", + "650102": "视觉传播设计与制作", + "650103": "广告设计与制作", + "650104": "数字媒体艺术设计", + "650105": "产品艺术设计", + "650106": "家具艺术设计", + "650107": "皮具艺术设计", + "650108": "服装与服饰设计", + "650109": "室内艺术设计", + "650110": "展示艺术设计", + "650111": "环境艺术设计", + "650112": "公共艺术设计", + "650113": "雕刻艺术设计", + "650114": "包装艺术设计", + "650115": "陶瓷设计与工艺", + "650116": "刺绣设计与工艺", + "650117": "玉器设计与工艺", + "650118": "首饰设计与工艺", + "650119": "工艺美术品设计", + "650120": "动漫设计", + "650121": "游戏设计", + "650122": "人物形象设计", + "650123": "美容美体艺术", + "650124": "摄影与摄像艺术", + "650125": "美术", + "650200": "表演艺术类", + "650201": "表演艺术", + "650202": "戏剧影视表演", + "650203": "歌舞表演", + "650204": "戏曲表演", + "650205": "曲艺表演", + "650206": "音乐剧表演", + "650207": "舞蹈表演", + "650208": "国际标准舞", + "650209": "服装表演", + "650210": "模特与礼仪", + "650211": "现代流行音乐", + "650212": "作曲技术", + "650213": "音乐制作", + "650214": "钢琴伴奏", + "650215": "钢琴调律", + "650216": "舞蹈编导", + "650217": "戏曲导演", + "650218": "舞台艺术设计与制作", + "650219": "音乐表演", + "650220": "音乐传播", + "650300": "民族文化类", + "650301": "民族表演艺术", + "650302": "民族美术", + "650303": "民族服装与服饰", + "650304": "民族民居装饰", + "650305": "民族传统技艺", + "650306": "少数民族古籍修复", + "650307": "中国少数民族语言文化", + "650400": "文化服务类", + "650401": "文化创意与策划", + "650402": "文化市场经营管理", + "650403": "公共文化服务与管理", + "650404": "文物修复与保护", + "650405": "考古探掘技术", + "650406": "文物博物馆服务与管理", + "650407": "图书档案管理", + "660100": "新闻出版类", + "660101": "图文信息处理", + "660102": "网络新闻与传播", + "660103": "版面编辑与校对", + "660104": "出版商务", + "660105": "出版与电脑编辑技术", + "660106": "出版信息管理", + "660107": "数字出版", + "660108": "数字媒体设备管理", + "660200": "广播影视类", + "660201": "新闻采编与制作", + "660202": "播音与主持", + "660203": "广播影视节目制作", + "660204": "广播电视技术", + "660205": "影视制片管理", + "660206": "影视编导", + "660207": "影视美术", + "660208": "影视多媒体技术", + "660209": "影视动画", + "660210": "影视照明技术与艺术", + "660211": "音像技术", + "660212": "录音技术与艺术", + "660213": "摄影摄像技术", + "660214": "传播与策划", + "660215": "媒体营销", + "670100": "教育类", + "670101": "早期教育", + "670102": "学前教育", + "670103": "小学教育", + "670104": "语文教育", + "670105": "数学教育", + "670106": "英语教育", + "670107": "物理教育", + "670108": "化学教育", + "670109": "生物教育", + "670110": "历史教育", + "670111": "地理教育", + "670112": "音乐教育", + "670113": "美术教育", + "670114": "体育教育", + "670115": "思想政治教育", + "670116": "舞蹈教育", + "670117": "艺术教育", + "670118": "特殊教育", + "670119": "科学教育", + "670120": "现代教育技术", + "670121": "心理健康教育", + "670200": "语言类", + "670201": "汉语", + "670202": "商务英语", + "670203": "应用英语", + "670204": "旅游英语", + "670205": "商务日语", + "670206": "应用日语", + "670207": "旅游日语", + "670208": "应用韩语", + "670209": "应用俄语", + "670210": "应用法语", + "670211": "应用德语", + "670212": "应用西班牙语", + "670213": "应用越南语", + "670214": "应用泰语", + "670215": "应用阿拉伯语", + "670216": "应用外语", + "670300": "文秘类", + "670301": "文秘", + "670302": "文秘速录", + "670400": "体育类", + "670401": "运动训练", + "670402": "运动防护", + "670403": "社会体育", + "670404": "休闲体育", + "670405": "高尔夫球运动与管理", + "670406": "民族传统体育", + "670407": "体育艺术表演", + "670408": "体育运营与管理", + "670409": "体育保健与康复", + "670410": "健身指导与管理", + "670411": "电子竞技运动与管理", + "670412": "冰雪设施运维与管理", + "680100": "公安管理类", + "680101": "治安管理", + "680102": "交通管理", + "680103": "信息网络安全监察", + "680104": "防火管理", + "680105": "边防检查", + "680106": "边境管理", + "680107": "特警", + "680108": "警察管理", + "680109": "公共安全管理", + "680110": "森林消防", + "680111": "部队后勤管理", + "680112": "部队政治工作", + "680200": "公安指挥类", + "680201": "警察指挥与战术", + "680202": "边防指挥", + "680203": "船艇指挥", + "680204": "通信指挥", + "680205": "消防指挥", + "680206": "参谋业务", + "680207": "抢险救援", + "680300": "公安技术类", + "680301": "刑事科学技术", + "680302": "警犬技术", + "680400": "侦查类", + "680401": "刑事侦查", + "680402": "国内安全保卫", + "680403": "经济犯罪侦查", + "680404": "禁毒", + "680500": "法律实务类", + "680501": "司法助理", + "680502": "法律文秘", + "680503": "法律事务", + "680504": "检察事务", + "680600": "法律执行类", + "680601": "刑事执行", + "680602": "民事执行", + "680603": "行政执行", + "680604": "司法警务", + "680605": "社区矫正", + "680700": "司法技术类", + "680701": "刑事侦查技术", + "680702": "安全防范技术", + "680703": "司法信息技术", + "680704": "司法鉴定技术", + "680705": "司法信息安全", + "680706": "罪犯心理测量与矫正技术", + "680707": "戒毒矫治技术", + "680708": "职务犯罪预防与控制", + "690100": "公共事业类", + "690101": "社会工作", + "690102": "社会福利事业管理", + "690103": "青少年工作与管理", + "690104": "社区管理与服务", + "690105": "公共关系", + "690106": "人民武装", + "690200": "公共管理类", + "690201": "民政管理", + "690202": "人力资源管理", + "690203": "劳动与社会保障", + "690204": "网络舆情监测", + "690205": "公共事务管理", + "690206": "行政管理", + "690207": "质量管理与认证", + "690208": "知识产权管理", + "690209": "公益慈善事业管理", + "690300": "公共服务类", + "690301": "老年服务与管理", + "690302": "家政服务与管理", + "690303": "婚庆服务与管理", + "690304": "社区康复", + "690305": "现代殡葬技术与管理", + "690306": "幼儿发展与健康管理", + "690307": "陵园服务与管理", + "720300": "测绘地理信息类", + "720301": "导航工程", + "720400": "石油与天然气类", + "720401": "油气储运工程", + "720500": "煤炭类", + "720501": "采矿工程", + "730300": "新能源发电工程类", + "730301": "新能源工程", + "740100": "城乡规划与管理类", + "740101": "土木工程", + "740200": "城乡规划与管理类", + "740201": "工程造价", + "740202": "工程管理", + "740300": "土建施工类", + "740301": "建筑设计", + "740302": "风景园林", + "760100": "机械设计制造类", + "760101": "机械设计制造及其自动化", + "760102": "材料成型及控制工程", + "760103": "智能制造工程", + "760300": "自动化类", + "760301": "机械电子工程", + "760302": "电气工程及其自动化", + "760303": "智能控制技术", + "760304": "工业机器人技术", + "760305": "电梯工程技术", + "760306": "自动化技术与应用", + "760700": "汽车制造类", + "760701": "车辆工程", + "760702": "汽车服务工程", + "760703": "新能源汽车工程", + "770200": "化工技术类", + "770201": "化学工程与工艺", + "780300": "印刷类", + "780301": "印刷工程", + "790100": "食品工业类", + "790101": "食品质量与安全", + "790200": "药品制造类", + "790201": "制药工程", + "800200": "道路运输类", + "800201": "道路桥梁工程", + "800300": "水上运输类", + "800301": "航海技术", + "800302": "水路运输与海事管理", + "800600": "城市轨道交通类", + "800601": "轨道交通信号与控制", + "800602": "城市轨道交通设备与控制", + "810100": "电子信息类", + "810101": "电子信息工程", + "810102": "物联网工程", + "810103": "集成电路技术与应用", + "810200": "计算机类", + "810201": "计算机应用工程", + "810202": "网络工程", + "810203": "软件工程", + "810204": "数字媒体技术", + "810205": "信息安全与管理", + "810206": "大数据技术与应用", + "810207": "区块链技术与应用", + "810208": "虚拟现实技术与应用", + "810300": "通信类", + "810301": "通信工程", + "820200": "护理类", + "820201": "护理", + "820500": "康复治疗类", + "820501": "康复治疗", + "820800": "健康管理与促进类", + "820801": "健康服务与管理", + "830200": "金融类", + "830201": "金融管理", + "830202": "互联网金融", + "830300": "财务会计类", + "830301": "财务管理", + "830302": "会计", + "830500": "经济贸易类", + "830501": "国际经济与贸易", + "830700": "市场营销类", + "830701": "市场营销", + "830800": "电子商务类", + "830801": "电子商务", + "830802": "跨境电子商务", + "830900": "物流类", + "830901": "物流管理", + "830902": "物流工程", + "840100": "旅游类", + "840101": "旅游管理", + "840102": "酒店管理", + "850100": "艺术设计类", + "850101": "视觉传达设计", + "850102": "数字媒体艺术", + "850103": "服装与服饰设计", + "850104": "环境艺术设计", + "850105": "工艺美术", + "850106": "美术", + "850107": "产品设计", + "850108": "公共艺术设计", + "850200": "表演艺术类", + "850201": "舞蹈表演", + "850202": "音乐表演", + "860100": "新闻出版类", + "860101": "网络与新媒体", + "860200": "广播影视类", + "860201": "播音与主持", + "860202": "影视编导", + "860203": "影视摄影与制作", + "870100": "教育类", + "870101": "学前教育", + "870200": "语言类", + "870201": "商务英语", + "870202": "商务日语", + "870203": "应用韩语", + "870204": "应用俄语", + "870205": "应用泰语", + "870400": "体育类", + "870401": "社会体育指导与管理", + "870402": "休闲体育", + "890300": "公共服务类", + "890301": "家政管理", + "999999": "未知", + "01SY00": "人文科学试验班类", + "01SY01": "人文科学试验班", + "02SY00": "经济试验班类", + "02SY01": "经济试验班", + "02SY02": "经济管理试验班", + "03SY00": "社会科学试验班", + "03SY01": "社会科学试验班", + "050200A": "桑戈语", + "05SY00": "文科试验班类", + "07SY00": "理科试验班类", + "07SY01": "理科试验班", + "07SY02": "自然科学试验班", + "08SY00": "工科试验班类", + "08SY01": "工科试验班", + "08SY02": "科技与创意设计试验班", + "08SY03": "技术科学试验班", + "10SY00": "医学试验班类", + "10SY01": "医学试验班" + }, + "schools": { + "10001": "北京大学", + "10002": "中国人民大学", + "10003": "清华大学", + "10004": "北京交通大学", + "10005": "北京工业大学", + "10006": "北京航空航天大学", + "10007": "北京理工大学", + "10008": "北京科技大学", + "10009": "北方工业大学", + "10010": "北京化工大学", + "10011": "北京工商大学", + "10012": "北京服装学院", + "10013": "北京邮电大学", + "10015": "北京印刷学院", + "10016": "北京建筑大学", + "10017": "北京石油化工学院", + "10018": "北京电子科技学院", + "10019": "中国农业大学", + "10020": "北京农学院", + "10022": "北京林业大学", + "10023": "北京协和医学院(清华大学医学部)", + "10025": "首都医科大学", + "10026": "北京中医药大学", + "10027": "北京师范大学", + "10028": "首都师范大学", + "10029": "首都体育学院", + "10030": "北京外国语大学", + "10031": "北京第二外国语学院", + "10032": "北京语言大学", + "10033": "中国传媒大学", + "10034": "中央财经大学", + "10035": "桂林生命与健康职业技术学院", + "10036": "对外经济贸易大学", + "10037": "北京物资学院", + "10038": "首都经济贸易大学", + "10039": "中国消防救援学院", + "10040": "外交学院", + "10041": "中国人民公安大学", + "10042": "国际关系学院", + "10043": "北京体育大学", + "10045": "中央音乐学院", + "10046": "中国音乐学院", + "10047": "中央美术学院", + "10048": "中央戏剧学院", + "10049": "中国戏曲学院", + "10050": "北京电影学院", + "10051": "北京舞蹈学院", + "10052": "中央民族大学", + "10053": "中国政法大学", + "10054": "华北电力大学", + "10055": "南开大学", + "10056": "天津大学", + "10057": "天津科技大学", + "10058": "天津工业大学", + "10059": "中国民航大学", + "10060": "天津理工大学", + "10061": "天津农学院", + "10062": "天津医科大学", + "10063": "天津中医药大学", + "10065": "天津师范大学", + "10066": "天津职业技术师范大学", + "10068": "天津外国语大学", + "10069": "天津商业大学", + "10070": "天津财经大学", + "10071": "天津体育学院", + "10072": "天津音乐学院", + "10073": "天津美术学院", + "10075": "河北大学", + "10076": "河北工程大学", + "10077": "河北地质大学", + "10078": "华北水利水电大学", + "10079": "华北电力大学(保定)", + "10080": "河北工业大学", + "10081": "华北理工大学", + "10082": "河北科技大学", + "10084": "河北建筑工程学院", + "10085": "河北水利电力学院", + "10086": "河北农业大学", + "10089": "河北医科大学", + "10092": "河北北方学院", + "10093": "承德医学院", + "10094": "河北师范大学", + "10096": "保定学院", + "10098": "河北民族师范学院", + "10099": "唐山师范学院", + "10100": "廊坊师范学院", + "10101": "衡水学院", + "10102": "石家庄学院", + "10103": "邯郸学院", + "10104": "邢台学院", + "10105": "沧州师范学院", + "10107": "石家庄铁道大学", + "10108": "山西大学", + "10109": "太原科技大学", + "10110": "中北大学", + "10112": "太原理工大学", + "10113": "山西农业大学", + "10114": "山西医科大学", + "10117": "长治医学院", + "10118": "山西师范大学", + "10119": "太原师范学院", + "10120": "山西大同大学", + "10121": "晋中学院", + "10122": "长治学院", + "10123": "运城学院", + "10124": "忻州师范学院", + "10125": "山西财经大学", + "10126": "内蒙古大学", + "10127": "内蒙古科技大学", + "10128": "内蒙古工业大学", + "10129": "内蒙古农业大学", + "10132": "内蒙古医科大学", + "10135": "内蒙古师范大学", + "10136": "内蒙古民族大学", + "10138": "赤峰学院", + "10139": "内蒙古财经大学", + "10140": "辽宁大学", + "10141": "大连理工大学", + "10142": "沈阳工业大学", + "10143": "沈阳航空航天大学", + "10144": "沈阳理工大学", + "10145": "东北大学", + "10146": "辽宁科技大学", + "10147": "辽宁工程技术大学", + "10148": "辽宁石油化工大学", + "10149": "沈阳化工大学", + "10150": "大连交通大学", + "10151": "大连海事大学", + "10152": "大连工业大学", + "10153": "沈阳建筑大学", + "10154": "辽宁工业大学", + "10157": "沈阳农业大学", + "10158": "大连海洋大学", + "10159": "中国医科大学", + "10160": "锦州医科大学", + "10161": "大连医科大学", + "10162": "辽宁中医药大学", + "10163": "沈阳药科大学", + "10164": "沈阳医学院", + "10165": "辽宁师范大学", + "10166": "沈阳师范大学", + "10167": "渤海大学", + "10169": "鞍山师范学院", + "10171": "朝阳师范高等专科学校", + "10172": "大连外国语大学", + "10173": "东北财经大学", + "10175": "中国刑事警察学院", + "10176": "沈阳体育学院", + "10177": "沈阳音乐学院", + "10178": "鲁迅美术学院", + "10179": "抚顺师范高等专科学校", + "10180": "锦州师范高等专科学校", + "10181": "营口职业技术学院", + "10182": "铁岭师范高等专科学校", + "10183": "吉林大学", + "10184": "延边大学", + "10186": "长春理工大学", + "10188": "东北电力大学", + "10190": "长春工业大学", + "10191": "吉林建筑大学", + "10192": "吉林化工学院", + "10193": "吉林农业大学", + "10199": "长春中医药大学", + "10200": "东北师范大学", + "10201": "北华大学", + "10202": "通化师范学院", + "10203": "吉林师范大学", + "10204": "吉林工程技术师范学院", + "10205": "长春师范大学", + "10206": "白城师范学院", + "10207": "吉林财经大学", + "10208": "吉林体育学院", + "10209": "吉林艺术学院", + "10212": "黑龙江大学", + "10213": "哈尔滨工业大学", + "10214": "哈尔滨理工大学", + "10216": "燕山大学", + "10217": "哈尔滨工程大学", + "10219": "黑龙江科技大学", + "10220": "东北石油大学", + "10222": "佳木斯大学", + "10223": "黑龙江八一农垦大学", + "10224": "东北农业大学", + "10225": "东北林业大学", + "10226": "哈尔滨医科大学", + "10228": "黑龙江中医药大学", + "10229": "牡丹江医学院", + "10231": "哈尔滨师范大学", + "10232": "齐齐哈尔大学", + "10233": "牡丹江师范学院", + "10234": "哈尔滨学院", + "10235": "大庆师范学院", + "10236": "绥化学院", + "10238": "齐齐哈尔高等师范专科学校", + "10240": "哈尔滨商业大学", + "10242": "哈尔滨体育学院", + "10245": "哈尔滨金融学院", + "10246": "复旦大学", + "10247": "同济大学", + "10248": "上海交通大学", + "10251": "华东理工大学", + "10252": "上海理工大学", + "10254": "上海海事大学", + "10255": "东华大学", + "10256": "上海电力大学", + "10259": "上海应用技术大学", + "10262": "上海健康医学院", + "10264": "上海海洋大学", + "10268": "上海中医药大学", + "10269": "华东师范大学", + "10270": "上海师范大学", + "10271": "上海外国语大学", + "10272": "上海财经大学", + "10273": "上海对外经贸大学", + "10274": "上海海关学院", + "10275": "上海旅游高等专科学校", + "10276": "华东政法大学", + "10277": "上海体育大学", + "10278": "上海音乐学院", + "10279": "上海戏剧学院", + "10280": "上海大学", + "10283": "上海公安学院", + "10284": "南京大学", + "10285": "苏州大学", + "10286": "东南大学", + "10287": "南京航空航天大学", + "10288": "南京理工大学", + "10289": "江苏科技大学", + "10290": "中国矿业大学", + "10291": "南京工业大学", + "10292": "常州大学", + "10293": "南京邮电大学", + "10294": "河海大学", + "10295": "江南大学", + "10298": "南京林业大学", + "10299": "江苏大学", + "10300": "南京信息工程大学", + "10304": "南通大学", + "10305": "盐城工学院", + "10307": "南京农业大学", + "10312": "南京医科大学", + "10313": "徐州医科大学", + "10315": "南京中医药大学", + "10316": "中国药科大学", + "10319": "南京师范大学", + "10320": "江苏师范大学", + "10323": "淮阴师范学院", + "10324": "盐城师范学院", + "10327": "南京财经大学", + "10329": "江苏警官学院", + "10330": "南京体育学院", + "10331": "南京艺术学院", + "10332": "苏州科技大学", + "10333": "常熟理工学院", + "10335": "浙江大学", + "10336": "杭州电子科技大学", + "10337": "浙江工业大学", + "10338": "浙江理工大学", + "10340": "浙江海洋大学", + "10341": "浙江农林大学", + "10343": "温州医科大学", + "10344": "浙江中医药大学", + "10345": "浙江师范大学", + "10346": "杭州师范大学", + "10347": "湖州师范学院", + "10349": "绍兴文理学院", + "10350": "台州学院", + "10351": "温州大学", + "10352": "丽水学院", + "10353": "浙江工商大学", + "10354": "嘉兴学院", + "10355": "中国美术学院", + "10356": "中国计量大学", + "10357": "安徽大学", + "10358": "中国科学技术大学", + "10359": "合肥工业大学", + "10360": "安徽工业大学", + "10361": "安徽理工大学", + "10363": "安徽工程大学", + "10364": "安徽农业大学", + "10366": "安徽医科大学", + "10367": "蚌埠医学院", + "10368": "皖南医学院", + "10369": "安徽中医药大学", + "10370": "安徽师范大学", + "10371": "阜阳师范大学", + "10372": "安庆师范大学", + "10373": "淮北师范大学", + "10375": "黄山学院", + "10376": "皖西学院", + "10377": "滁州学院", + "10378": "安徽财经大学", + "10379": "宿州学院", + "10380": "巢湖学院", + "10381": "淮南师范学院", + "10383": "铜陵学院", + "10384": "厦门大学", + "10385": "华侨大学", + "10386": "福州大学", + "10388": "福建理工大学", + "10389": "福建农林大学", + "10390": "集美大学", + "10392": "福建医科大学", + "10393": "福建中医药大学", + "10394": "福建师范大学", + "10395": "闽江学院", + "10397": "武夷学院", + "10398": "宁德师范学院", + "10399": "泉州师范学院", + "10402": "闽南师范大学", + "10403": "南昌大学", + "10404": "华东交通大学", + "10405": "东华理工大学", + "10406": "南昌航空大学", + "10407": "江西理工大学", + "10408": "景德镇陶瓷大学", + "10410": "江西农业大学", + "10412": "江西中医药大学", + "10413": "赣南医学院", + "10414": "江西师范大学", + "10416": "上饶师范学院", + "10417": "宜春学院", + "10418": "赣南师范大学", + "10419": "井冈山大学", + "10421": "江西财经大学", + "10422": "山东大学", + "10423": "中国海洋大学", + "10424": "山东科技大学", + "10425": "中国石油大学(华东)", + "10426": "青岛科技大学", + "10427": "济南大学", + "10429": "青岛理工大学", + "10430": "山东建筑大学", + "10431": "齐鲁工业大学", + "10433": "山东理工大学", + "10434": "山东农业大学", + "10435": "青岛农业大学", + "10438": "潍坊医学院", + "10439": "山东第一医科大学", + "10440": "滨州医学院", + "10441": "山东中医药大学", + "10442": "山东医学高等专科学校", + "10443": "济宁医学院", + "10444": "菏泽医学专科学校", + "10445": "山东师范大学", + "10446": "曲阜师范大学", + "10447": "聊城大学", + "10448": "德州学院", + "10449": "滨州学院", + "10451": "鲁东大学", + "10452": "临沂大学", + "10453": "泰山学院", + "10454": "济宁学院", + "10455": "菏泽学院", + "10456": "山东财经大学", + "10457": "山东体育学院", + "10458": "山东艺术学院", + "10459": "郑州大学", + "10460": "河南理工大学", + "10462": "郑州轻工业大学", + "10463": "河南工业大学", + "10464": "河南科技大学", + "10465": "中原工学院", + "10466": "河南农业大学", + "10467": "河南科技学院", + "10469": "河南牧业经济学院", + "10471": "河南中医药大学", + "10472": "新乡医学院", + "10475": "河南大学", + "10476": "河南师范大学", + "10477": "信阳师范学院", + "10478": "周口师范学院", + "10479": "安阳师范学院", + "10480": "许昌学院", + "10481": "南阳师范学院", + "10482": "洛阳师范学院", + "10483": "商丘师范学院", + "10484": "河南财经政法大学", + "10485": "郑州航空工业管理学院", + "10486": "武汉大学", + "10487": "华中科技大学", + "10488": "武汉科技大学", + "10489": "长江大学", + "10490": "武汉工程大学", + "10491": "中国地质大学(武汉)", + "10495": "武汉纺织大学", + "10496": "武汉轻工大学", + "10497": "武汉理工大学", + "10500": "湖北工业大学", + "10504": "华中农业大学", + "10507": "湖北中医药大学", + "10511": "华中师范大学", + "10512": "湖北大学", + "10513": "湖北师范大学", + "10514": "黄冈师范学院", + "10517": "湖北民族大学", + "10518": "汉江师范学院", + "10519": "湖北文理学院", + "10520": "中南财经政法大学", + "10522": "武汉体育学院", + "10523": "湖北美术学院", + "10524": "中南民族大学", + "10525": "湖北汽车工业学院", + "10528": "湖北工程学院", + "10530": "湘潭大学", + "10531": "吉首大学", + "10532": "湖南大学", + "10533": "中南大学", + "10534": "湖南科技大学", + "10536": "长沙理工大学", + "10537": "湖南农业大学", + "10538": "中南林业科技大学", + "10541": "湖南中医药大学", + "10542": "湖南师范大学", + "10543": "湖南理工学院", + "10545": "湘南学院", + "10546": "衡阳师范学院", + "10547": "邵阳学院", + "10548": "怀化学院", + "10549": "湖南文理学院", + "10551": "湖南科技学院", + "10553": "湖南人文科技学院", + "10554": "湖南工商大学", + "10555": "南华大学", + "10558": "中山大学", + "10559": "暨南大学", + "10560": "汕头大学", + "10561": "华南理工大学", + "10564": "华南农业大学", + "10566": "广东海洋大学", + "10570": "广州医科大学", + "10571": "广东医科大学", + "10572": "广州中医药大学", + "10573": "广东药科大学", + "10574": "华南师范大学", + "10576": "韶关学院", + "10577": "惠州学院", + "10578": "韩山师范学院", + "10579": "岭南师范学院", + "10580": "肇庆学院", + "10582": "嘉应学院", + "10585": "广州体育学院", + "10586": "广州美术学院", + "10587": "星海音乐学院", + "10588": "广东技术师范大学", + "10589": "海南大学", + "10590": "深圳大学", + "10592": "广东财经大学", + "10593": "广西大学", + "10594": "广西科技大学", + "10595": "桂林电子科技大学", + "10596": "桂林理工大学", + "10598": "广西医科大学", + "10599": "右江民族医学院", + "10600": "广西中医药大学", + "10601": "桂林医学院", + "10602": "广西师范大学", + "10603": "南宁师范大学", + "10604": "广西民族师范学院", + "10605": "河池学院", + "10606": "玉林师范学院", + "10607": "广西艺术学院", + "10608": "广西民族大学", + "10609": "百色学院", + "10610": "四川大学", + "10611": "重庆大学", + "10613": "西南交通大学", + "10614": "电子科技大学", + "10615": "西南石油大学", + "10616": "成都理工大学", + "10617": "重庆邮电大学", + "10618": "重庆交通大学", + "10619": "西南科技大学", + "10621": "成都信息工程大学", + "10622": "四川轻化工大学", + "10623": "西华大学", + "10624": "中国民用航空飞行学院", + "10626": "四川农业大学", + "10628": "西昌学院", + "10631": "重庆医科大学", + "10632": "西南医科大学", + "10633": "成都中医药大学", + "10634": "川北医学院", + "10635": "西南大学", + "10636": "四川师范大学", + "10637": "重庆师范大学", + "10638": "西华师范大学", + "10639": "绵阳师范学院", + "10640": "内江师范学院", + "10641": "宜宾学院", + "10642": "重庆文理学院", + "10643": "重庆三峡学院", + "10644": "四川文理学院", + "10646": "阿坝师范学院", + "10647": "长江师范学院", + "10649": "乐山师范学院", + "10650": "四川外国语大学", + "10651": "西南财经大学", + "10652": "西南政法大学", + "10653": "成都体育学院", + "10654": "四川音乐学院", + "10655": "四川美术学院", + "10656": "西南民族大学", + "10657": "贵州大学", + "10660": "贵州医科大学", + "10661": "遵义医科大学", + "10662": "贵州中医药大学", + "10663": "贵州师范大学", + "10664": "遵义师范学院", + "10665": "铜仁学院", + "10666": "兴义民族师范学院", + "10667": "安顺学院", + "10668": "贵州工程应用技术学院", + "10669": "凯里学院", + "10670": "黔南民族师范学院", + "10671": "贵州财经大学", + "10672": "贵州民族大学", + "10673": "云南大学", + "10674": "昆明理工大学", + "10676": "云南农业大学", + "10677": "西南林业大学", + "10678": "昆明医科大学", + "10679": "大理大学", + "10680": "云南中医药大学", + "10681": "云南师范大学", + "10683": "昭通学院", + "10684": "曲靖师范学院", + "10685": "普洱学院", + "10686": "保山学院", + "10687": "红河学院", + "10689": "云南财经大学", + "10690": "云南艺术学院", + "10691": "云南民族大学", + "10692": "西藏警官高等专科学校", + "10693": "西藏农牧学院", + "10694": "西藏大学", + "10695": "西藏民族大学", + "10696": "西藏藏医药大学", + "10697": "西北大学", + "10698": "西安交通大学", + "10699": "西北工业大学", + "10700": "西安理工大学", + "10701": "西安电子科技大学", + "10702": "西安工业大学", + "10703": "西安建筑科技大学", + "10704": "西安科技大学", + "10705": "西安石油大学", + "10708": "陕西科技大学", + "10709": "西安工程大学", + "10710": "长安大学", + "10712": "西北农林科技大学", + "10716": "陕西中医药大学", + "10718": "陕西师范大学", + "10719": "延安大学", + "10720": "陕西理工大学", + "10721": "宝鸡文理学院", + "10722": "咸阳师范学院", + "10723": "渭南师范学院", + "10724": "西安外国语大学", + "10726": "西北政法大学", + "10727": "西安体育学院", + "10728": "西安音乐学院", + "10729": "西安美术学院", + "10730": "兰州大学", + "10731": "兰州理工大学", + "10732": "兰州交通大学", + "10733": "甘肃农业大学", + "10735": "甘肃中医药大学", + "10736": "西北师范大学", + "10737": "兰州城市学院", + "10738": "陇东学院", + "10739": "天水师范学院", + "10740": "河西学院", + "10741": "兰州财经大学", + "10742": "西北民族大学", + "10743": "青海大学", + "10746": "青海师范大学", + "10748": "青海民族大学", + "10749": "宁夏大学", + "10752": "宁夏医科大学", + "10753": "宁夏师范学院", + "10755": "新疆大学", + "10757": "塔里木大学", + "10758": "新疆农业大学", + "10759": "石河子大学", + "10760": "新疆医科大学", + "10762": "新疆师范大学", + "10763": "喀什大学", + "10764": "伊犁师范大学", + "10765": "和田师范专科学校", + "10766": "新疆财经大学", + "10768": "新疆艺术学院", + "10792": "天津城建大学", + "10798": "河北科技师范学院", + "10809": "山西中医药大学", + "10812": "吕梁学院", + "10819": "呼伦贝尔学院", + "10822": "广东白云学院", + "10823": "长沙医学院", + "10824": "河南职业技术学院", + "10825": "齐鲁医药学院", + "10826": "明达职业技术学院", + "10827": "长沙民政职业技术学院", + "10828": "陕西工业职业技术学院", + "10829": "公安海警学院", + "10830": "湖南工业职业技术学院", + "10831": "顺德职业技术学院", + "10832": "山东商业职业技术学院", + "10833": "广东轻工职业技术学院", + "10834": "武汉职业技术学院", + "10835": "漯河职业技术学院", + "10836": "株洲师范高等专科学校", + "10838": "兰州石化职业技术学院", + "10839": "江西工业职业技术学院", + "10841": "辽宁对外经贸学院", + "10842": "三门峡职业技术学院", + "10843": "郑州铁路职业技术学院", + "10845": "大连职业技术学院", + "10846": "江西科技学院", + "10847": "辽源职业技术学院", + "10848": "无锡职业技术学院", + "10849": "江苏建筑职业技术学院", + "10850": "南京工业职业技术大学", + "10851": "上海东海职业技术学院", + "10852": "上海工商职业技术学院", + "10853": "北京工业职业技术学院", + "10856": "上海工程技术大学", + "10857": "北京信息职业技术学院", + "10858": "北京电子科技职业学院", + "10859": "天津天狮学院", + "10861": "广东交通职业技术学院", + "10862": "广东水利电力职业技术学院", + "10863": "宁波职业技术学院", + "10864": "温州职业技术学院", + "10865": "湖南信息职业技术学院", + "10866": "福建船政交通职业学院", + "10867": "广西机电职业技术学院", + "10868": "青岛滨海学院", + "10869": "安徽职业技术学院", + "10870": "重庆航天职业技术学院", + "10871": "内蒙古建筑职业技术学院", + "10872": "伊春职业学院", + "10873": "河北工业职业技术学院", + "10876": "浙江万里学院", + "10878": "安徽建筑大学", + "10879": "安徽科技学院", + "10888": "江西医学高等专科学校", + "10894": "景德镇学院", + "10895": "萍乡学院", + "10904": "枣庄学院", + "10908": "山东工艺美术学院", + "10918": "黄淮学院", + "10919": "平顶山学院", + "10920": "湖北理工学院", + "10927": "湖北科技学院", + "10929": "湖北医药学院", + "10955": "黄冈职业技术学院", + "10956": "长江职业学院", + "10957": "辽宁农业职业技术学院", + "10958": "江苏工程职业技术学院", + "10959": "安徽三联学院", + "10960": "苏州工艺美术职业技术学院", + "10963": "淮北职业技术学院", + "10964": "吉林外国语大学", + "10965": "潮汕职业技术学院", + "10966": "杨凌职业技术学院", + "10976": "贵阳学院", + "10977": "六盘水师范学院", + "10994": "新疆工程学院", + "10995": "新疆农业职业技术学院", + "10997": "昌吉学院", + "11032": "天津市职业大学", + "11033": "唐山学院", + "11034": "邯郸职业技术学院", + "11035": "沈阳大学", + "11037": "抚顺职业技术学院", + "11044": "四平职业大学", + "11046": "牡丹江大学", + "11047": "上海立信会计金融学院", + "11049": "淮阴工学院", + "11050": "连云港职业技术学院", + "11051": "镇江市高等专科学校", + "11052": "南通职业大学", + "11054": "苏州市职业大学", + "11055": "常州工学院", + "11057": "浙江科技学院", + "11058": "宁波工程学院", + "11059": "合肥学院", + "11061": "芜湖职业技术学院", + "11062": "厦门理工学院", + "11065": "青岛大学", + "11066": "烟台大学", + "11067": "潍坊学院", + "11068": "郑州工程技术学院", + "11069": "开封大学", + "11070": "洛阳理工学院", + "11071": "新乡学院", + "11072": "江汉大学", + "11074": "荆州理工职业学院", + "11075": "三峡大学", + "11077": "长沙学院", + "11078": "广州大学", + "11079": "成都大学", + "11080": "西安文理学院", + "11084": "北京科技大学延庆分校", + "11090": "北京京北职业技术学院", + "11092": "北京交通职业技术学院", + "11097": "首都经济贸易大学密云分校", + "11099": "北京工业大学通州分校", + "11100": "海南热带海洋学院", + "11104": "华北科技学院", + "11105": "中国人民警察大学", + "11106": "广州航海学院", + "11110": "广东警官学院", + "11113": "深圳职业技术学院", + "11114": "广东南华工商职业学院", + "11116": "成都工业学院", + "11117": "扬州大学", + "11121": "私立华联学院", + "11122": "三江学院", + "11149": "中华女子学院", + "11230": "齐齐哈尔医学院", + "11232": "北京信息科技大学", + "11236": "河北体育学院", + "11238": "石家庄职业技术学院", + "11242": "太原学院", + "11249": "辽阳职业技术学院", + "11250": "阜新高等专科学校", + "11258": "大连大学", + "11261": "吉林工商学院", + "11276": "南京工程学院", + "11287": "南京审计大学", + "11288": "沙洲职业工学院", + "11305": "蚌埠学院", + "11306": "池州学院", + "11308": "淮南联合大学", + "11311": "三明学院", + "11312": "龙岩学院", + "11313": "福建商学院", + "11314": "漳州职业技术学院", + "11315": "闽西职业技术学院", + "11317": "黎明职业大学", + "11318": "江西科技师范大学", + "11319": "南昌工程学院", + "11324": "山东警察学院", + "11326": "信阳农林学院", + "11329": "河南工学院", + "11330": "安阳工学院", + "11332": "湖北警官学院", + "11334": "湖北工业职业技术学院", + "11335": "鄂州职业大学", + "11336": "荆楚理工学院", + "11342": "湖南工程学院", + "11347": "仲恺农业工程学院", + "11349": "五邑大学", + "11350": "广西体育高等专科学校", + "11354": "梧州学院", + "11355": "南宁职业技术学院", + "11360": "攀枝花学院", + "11390": "玉溪师范学院", + "11391": "楚雄师范学院", + "11392": "云南警官学院", + "11393": "昆明学院", + "11395": "榆林学院", + "11396": "商洛学院", + "11397": "安康学院", + "11400": "西安培华学院", + "11406": "甘肃政法大学", + "11407": "北方民族大学", + "11413": "中国矿业大学(北京)", + "11414": "中国石油大学(北京)", + "11415": "中国地质大学(北京)", + "11417": "北京联合大学", + "11418": "北京城市学院", + "11420": "河北金融学院", + "11423": "张家口职业技术学院", + "11427": "集宁师范学院", + "11429": "内蒙古丰州职业学院", + "11430": "辽宁科技学院", + "11432": "辽宁警察学院", + "11436": "长春汽车工业高等专科学校", + "11437": "长春工程学院", + "11439": "吉林农业科技学院", + "11440": "长春金融高等专科学校", + "11441": "吉林警察学院", + "11445": "黑龙江工业学院", + "11446": "黑龙江东方学院", + "11449": "黑龙江职业学院", + "11458": "上海电机学院", + "11460": "南京晓庄学院", + "11462": "扬州市职业大学", + "11463": "江苏理工学院", + "11481": "浙江水利水电学院", + "11482": "浙江财经大学", + "11483": "浙江警察学院", + "11488": "衢州学院", + "11495": "福建警察学院", + "11498": "莆田学院", + "11499": "福建华南女子职业学院", + "11500": "辽宁省交通高等专科学校", + "11502": "福州职业技术学院", + "11504": "江西警察学院", + "11505": "九江职业大学", + "11508": "新余学院", + "11510": "山东交通学院", + "11517": "河南工程学院", + "11522": "焦作大学", + "11524": "武汉音乐学院", + "11527": "湖南城市学院", + "11528": "湖南工学院", + "11532": "湖南财政经济学院", + "11534": "湖南警察学院", + "11535": "湖南工业大学", + "11538": "湖南女子学院", + "11540": "广东金融学院", + "11545": "电子科技大学中山学院", + "11546": "广西科技师范学院", + "11548": "广西财经学院", + "11549": "南宁学院", + "11551": "重庆科技学院", + "11552": "四川旅游学院", + "11553": "成都纺织高等专科学校", + "11556": "文山学院", + "11557": "昆明冶金高等专科学校", + "11560": "西安财经大学", + "11561": "甘肃民族师范学院", + "11562": "兰州文理学院", + "11565": "乌鲁木齐职业大学", + "11585": "连云港师范高等专科学校", + "11600": "湖北经济学院", + "11607": "北部湾大学", + "11608": "广西水利电力职业技术学院", + "11625": "中国青年政治学院", + "11626": "北京青年政治学院", + "11629": "北华航天工业学院", + "11630": "山西省财政税务专科学校", + "11631": "河套学院", + "11632": "沈阳工程学院", + "11635": "哈尔滨信息工程学院", + "11641": "江苏海洋大学", + "11646": "宁波大学", + "11647": "浙江传媒学院", + "11652": "河南财政金融学院", + "11653": "南阳理工学院", + "11654": "武汉商学院", + "11656": "广东石油化工学院", + "11658": "海南师范大学", + "11660": "重庆理工大学", + "11661": "四川民族学院", + "11663": "黔南民族医学高等专科学校", + "11664": "西安邮电大学", + "11671": "桂林师范高等专科学校", + "11688": "山东工商学院", + "11709": "呼和浩特民族学院", + "11726": "长春大学", + "11731": "贵州商学院", + "11733": "上海出版印刷高等专科学校", + "11736": "西安航空学院", + "11765": "河南城建学院", + "11773": "广西职业技术学院", + "11775": "防灾科技学院", + "11777": "承德石油高等专科学校", + "11779": "辽东学院", + "11784": "仰恩大学", + "11785": "九江职业技术学院", + "11787": "濮阳职业技术学院", + "11788": "河南警察学院", + "11796": "武汉城市职业学院", + "11798": "武汉东湖学院", + "11799": "重庆工商大学", + "11800": "汉口学院", + "11802": "黑龙江工程学院", + "11805": "甘肃医学院", + "11806": "陇南师范高等专科学校", + "11807": "兰州工业学院", + "11808": "定西师范高等专科学校", + "11810": "海南医学院", + "11818": "新疆维吾尔医学专科学校", + "11819": "东莞理工学院", + "11821": "邢台职业技术学院", + "11823": "长春医学高等专科学校", + "11825": "桂林航天工业学院", + "11826": "西安电力高等专科学校", + "11827": "山东电力高等专科学校", + "11828": "郑州电力高等专科学校", + "11831": "首钢工学院", + "11832": "河北经贸大学", + "11833": "上海杉达学院", + "11834": "黄河科技学院", + "11835": "上海政法学院", + "11837": "桂林旅游学院", + "11838": "贺州学院", + "11840": "西安医学院", + "11841": "民办四川天一学院", + "11842": "浙江树人学院", + "11843": "九江学院", + "11845": "广东工业大学", + "11846": "广东外语外贸大学", + "11847": "佛山科学技术学院", + "11848": "重庆电力高等专科学校", + "11903": "中央司法警官学院", + "11998": "徐州工程学院", + "11999": "海南职业技术学院", + "12026": "大连民族大学", + "12034": "湖南第一师范学院", + "12036": "浙江交通职业技术学院", + "12040": "广州民航职业技术学院", + "12044": "上海第二工业大学", + "12046": "广州番禺职业技术学院", + "12047": "江苏经贸职业技术学院", + "12048": "南京特殊教育师范学院", + "12049": "吉林交通职业技术学院", + "12050": "上海商学院", + "12051": "湖北职业技术学院", + "12052": "武汉船舶职业技术学院", + "12053": "黑龙江建筑职业技术学院", + "12054": "九州职业技术学院", + "12055": "长沙航空职业技术学院", + "12056": "南通理工学院", + "12057": "包头职业技术学院", + "12058": "黄河水利职业技术学院", + "12059": "广东培正学院", + "12060": "广东松山职业技术学院", + "12061": "金华职业技术学院", + "12062": "日照职业技术学院", + "12063": "盘锦职业技术学院", + "12064": "成都航空职业技术学院", + "12065": "四川电力职业技术学院", + "12067": "许昌职业技术学院", + "12070": "曲阜远东职业技术学院", + "12072": "安徽商贸职业技术学院", + "12073": "安徽水利水电职业技术学院", + "12074": "阜阳职业技术学院", + "12078": "硅湖职业技术学院", + "12104": "柳州职业技术学院", + "12105": "天津中德应用技术大学", + "12106": "泰州职业技术学院", + "12107": "贵州警察学院", + "12111": "山西警察学院", + "12121": "南方医科大学", + "12212": "四川警察学院", + "12213": "南京森林警察学院", + "12214": "湖南医药学院", + "12215": "重庆工业职业技术学院", + "12216": "安徽新华学院", + "12217": "铜陵职业技术学院", + "12218": "民办万博科技职业学院", + "12219": "安徽警官职业学院", + "12220": "淮南职业技术学院", + "12222": "贵州交通职业技术学院", + "12223": "贵州航天职业技术学院", + "12300": "湖南大众传媒职业技术学院", + "12301": "永州职业技术学院", + "12302": "湖南铁道职业技术学院", + "12303": "湖南涉外经济学院", + "12304": "湖南科技职业学院", + "12306": "长春东方职业学院", + "12308": "海口经济学院", + "12309": "武昌首义学院", + "12310": "武昌理工学院", + "12317": "常州信息职业技术学院", + "12322": "广东农工商职业技术学院", + "12324": "青岛职业技术学院", + "12325": "广东新安职业技术学院", + "12326": "威海职业学院", + "12327": "佛山职业技术学院", + "12328": "山东职业学院", + "12329": "山东劳动职业技术学院", + "12330": "莱芜职业技术学院", + "12331": "山东女子学院", + "12332": "烟台南山学院", + "12334": "安徽工业经济职业技术学院", + "12335": "济宁职业技术学院", + "12336": "贵州电子信息职业技术学院", + "12343": "湖南生物机电职业技术学院", + "12344": "广西生态工程职业技术学院", + "12347": "恩施职业技术学院", + "12349": "云南国土资源职业学院", + "12352": "河北软件职业技术学院", + "12354": "襄阳职业技术学院", + "12356": "广西交通职业技术学院", + "12357": "云南交通职业技术学院", + "12362": "武汉生物工程学院", + "12364": "广西工业职业技术学院", + "12367": "河北石油职业技术学院", + "12369": "武汉工贸职业学院", + "12379": "广西国际商务职业技术学院", + "12382": "广西农业职业技术学院", + "12388": "长治职业技术学院", + "12389": "河北建材职业技术学院", + "12391": "潍坊职业学院", + "12392": "柳州铁道职业技术学院", + "12393": "昆明工业职业技术学院", + "12396": "烟台职业学院", + "12397": "湖南交通职业技术学院", + "12401": "湖南商务职业技术学院", + "12408": "河北政法职业学院", + "12410": "合肥通用职业技术学院", + "12415": "沧州职业技术学院", + "12418": "河北能源职业技术学院", + "12423": "湖南体育职业学院", + "12424": "石家庄铁路职业技术学院", + "12425": "湖南工程职业技术学院", + "12440": "东营职业学院", + "12441": "聊城职业技术学院", + "12443": "兴安职业技术学院", + "12448": "北京农业职业学院", + "12451": "北京政法职业学院", + "12453": "中国劳动关系学院", + "12481": "拉萨师范高等专科学校", + "12482": "克拉玛依职业技术学院", + "12484": "天津滨海职业学院", + "12487": "天津工程职业技术学院", + "12490": "黑龙江艺术职业学院", + "12493": "上海行健职业学院", + "12495": "上海城建职业学院", + "12497": "上海交通职业技术学院", + "12498": "上海海事职业技术学院", + "12499": "上海电子信息职业技术学院", + "12510": "陕西能源职业技术学院", + "12511": "甘肃建筑职业技术学院", + "12514": "新疆轻工职业技术学院", + "12539": "酒泉职业技术学院", + "12543": "保定职业技术学院", + "12544": "宁夏理工学院", + "12555": "云南农业职业技术学院", + "12556": "云南司法警官职业学院", + "12558": "云南文化艺术职业学院", + "12559": "云南体育运动职业技术学院", + "12560": "云南经济管理学院", + "12561": "北京财贸职业学院", + "12562": "青海卫生职业技术学院", + "12564": "北京北大方正软件职业技术学院", + "12565": "北京经贸职业学院", + "12566": "北京经济技术职业学院", + "12567": "北京戏曲艺术职业学院", + "12568": "北京汇佳职业学院", + "12569": "北京现代职业技术学院", + "12570": "新疆能源职业技术学院", + "12572": "广东科学技术职业学院", + "12573": "广东食品药品职业学院", + "12574": "广东东软学院", + "12575": "广州康大职业技术学院", + "12576": "珠海艺术职业学院", + "12577": "广东行政职业学院", + "12578": "广东体育职业技术学院", + "12581": "河南工业和信息化职业学院", + "12582": "河南水利与环境职业学院", + "12583": "上海震旦职业学院", + "12584": "上海民远职业技术学院", + "12586": "上海思博职业技术学院", + "12587": "上海立达学院", + "12588": "上海工艺美术职业学院", + "12591": "辽宁体育运动职业技术学院", + "12592": "辽宁职业学院", + "12593": "辽宁生态工程职业学院", + "12594": "沈阳职业技术学院", + "12595": "辽宁理工职业大学", + "12596": "保险职业学院", + "12597": "湖南外贸职业学院", + "12598": "湖南网络工程职业学院", + "12599": "湘潭大学兴湘学院", + "12600": "邵阳职业技术学院", + "12601": "湖南司法警官职业学院", + "12603": "长沙商贸旅游职业技术学院", + "12604": "湖南工业大学科技学院", + "12605": "重庆三峡职业学院", + "12606": "重庆工贸职业技术学院", + "12607": "重庆机电职业技术大学", + "12608": "重庆工程学院", + "12609": "重庆电子工程职业学院", + "12616": "重庆城市科技学院", + "12617": "华南理工大学广州学院", + "12618": "广州大学华软软件学院", + "12619": "广州南方学院", + "12620": "广东外语外贸大学南国商学院", + "12621": "广东财经大学华商学院", + "12622": "湛江科技学院", + "12623": "华南农业大学珠江学院", + "12625": "福建林业职业技术学院", + "12626": "福建信息职业技术学院", + "12627": "福建水利电力职业技术学院", + "12628": "福建电力职业技术学院", + "12629": "厦门海洋职业技术学院", + "12630": "福建农业职业技术学院", + "12631": "厦门医学院", + "12633": "福建卫生职业技术学院", + "12634": "泉州医学高等专科学校", + "12635": "成都职业技术学院", + "12636": "成都东软学院", + "12637": "四川化工职业技术学院", + "12638": "四川水利职业技术学院", + "12639": "南充职业技术学院", + "12640": "内江职业技术学院", + "12641": "四川航天职业技术学院", + "12642": "四川邮电职业技术学院", + "12645": "宁波城市职业技术学院", + "12647": "浙江同济科技职业学院", + "12649": "湖南科技大学潇湘学院", + "12650": "南华大学船山学院", + "12651": "湘潭理工学院", + "12652": "湖南师范大学树达学院", + "12653": "湖南农业大学东方科技学院", + "12656": "中南林业科技大学涉外学院", + "12657": "湖南文理学院芙蓉学院", + "12658": "湖南理工学院南湖学院", + "12659": "衡阳师范学院南岳学院", + "12660": "湖南工程学院应用技术学院", + "12661": "湖南中医药大学湘杏学院", + "12662": "吉首大学张家界学院", + "12664": "辽宁省残疾人中等职业技术学校", + "12668": "广州理工学院", + "12670": "呼和浩特职业学院", + "12671": "包头轻工职业技术学院", + "12673": "内蒙古电子信息职业技术学院", + "12674": "内蒙古机电职业技术学院", + "12675": "内蒙古化工职业学院", + "12676": "内蒙古商贸职业学院", + "12677": "锡林郭勒职业学院", + "12678": "江苏联合职业技术学院", + "12679": "江苏海事职业技术学院", + "12680": "应天职业技术学院", + "12681": "无锡科技职业学院", + "12682": "江苏医药职业学院", + "12683": "扬州环境资源职业技术学院", + "12684": "南通科技职业学院", + "12685": "苏州经贸职业技术学院", + "12686": "苏州工业职业技术学院", + "12687": "苏州托普信息职业技术学院", + "12688": "苏州卫生职业技术学院", + "12689": "东南大学成贤学院", + "12702": "无锡商业职业技术学院", + "12703": "江苏航运职业技术学院", + "12704": "山西艺术职业学院", + "12708": "福州英华职业学院", + "12709": "厦门华厦学院", + "12710": "闽南理工学院", + "12711": "泉州纺织服装职业学院", + "12712": "西安欧亚学院", + "12713": "西安外事学院", + "12714": "西安翻译学院", + "12715": "西京学院", + "12716": "宁夏民族职业技术学院", + "12717": "三亚城市职业学院", + "12718": "大庆职业学院", + "12719": "天津渤海职业技术学院", + "12720": "天津电子信息职业技术学院", + "12721": "天津机电职业技术学院", + "12722": "天津现代职业技术学院", + "12723": "天津公安警官职业学院", + "12724": "黑龙江林业职业技术学院", + "12725": "黑龙江农业职业技术学院", + "12726": "黑龙江农业工程职业学院", + "12727": "黑龙江农垦职业学院", + "12728": "黑龙江司法警官职业学院", + "12729": "齐齐哈尔工程学院", + "12730": "大连商务职业学院", + "12732": "天津轻工职业技术学院", + "12733": "北京科技经营管理学院", + "12734": "新疆警察学院", + "12735": "铁道警察学院", + "12736": "广东职业技术学院", + "12737": "荆州职业技术学院", + "12738": "武汉工程职业技术学院", + "12739": "湖南环境生物职业技术学院", + "12740": "仙桃职业学院", + "12741": "广东建设职业技术学院", + "12742": "广东女子职业技术学院", + "12743": "广东机电职业技术学院", + "12744": "湖北轻工职业技术学院", + "12745": "商丘职业技术学院", + "12746": "郑州科技学院", + "12747": "郑州工业应用技术学院", + "12748": "平顶山工业职业技术学院", + "12749": "广东岭南职业技术学院", + "12750": "周口职业技术学院", + "12751": "四川机电职业技术学院", + "12752": "湖北交通职业技术学院", + "12753": "绵阳职业技术学院", + "12754": "重庆海联职业技术学院", + "12755": "重庆信息技术职业学院", + "12756": "重庆传媒职业学院", + "12757": "重庆警察学院", + "12758": "重庆城市管理职业学院", + "12759": "重庆工程职业技术学院", + "12761": "四川交通职业技术学院", + "12762": "四川工商职业技术学院", + "12763": "四川工程职业技术学院", + "12764": "四川建筑职业技术学院", + "12765": "汕尾职业技术学院", + "12766": "江西工程学院", + "12767": "达州职业技术学院", + "12768": "济源职业技术学院", + "12770": "罗定职业技术学院", + "12771": "阳江职业技术学院", + "12772": "河源职业技术学院", + "12773": "秦皇岛职业技术学院", + "12774": "晋城职业技术学院", + "12775": "山西建筑职业技术学院", + "12776": "山西药科职业学院", + "12778": "山西交通职业技术学院", + "12779": "山西应用科技学院", + "12780": "大同煤炭职业技术学院", + "12781": "河南司法警官职业学院", + "12782": "石家庄工程职业学院", + "12783": "石家庄城市经济职业学院", + "12784": "河北传媒学院", + "12785": "唐山职业技术学院", + "12786": "衡水职业技术学院", + "12787": "唐山工业职业技术学院", + "12788": "天津商务职业学院", + "12789": "浙江工商职业技术学院", + "12790": "台州职业技术学院", + "12791": "浙江工贸职业技术学院", + "12792": "浙江越秀外国语学院", + "12793": "鹤壁职业技术学院", + "12794": "河南工业职业技术学院", + "12795": "南昌理工学院", + "12796": "河北工程技术学院", + "12797": "内蒙古警察职业学院", + "12798": "上海济光职业技术学院", + "12799": "上海建桥学院", + "12800": "上海工商外国语职业学院", + "12801": "上海科学技术职业学院", + "12802": "吉利学院", + "12803": "天津国土资源和房屋职业学院", + "12804": "南京交通职业技术学院", + "12805": "江苏电子信息职业学院", + "12806": "江苏农牧科技职业学院", + "12807": "常州纺织服装职业技术学院", + "12808": "苏州农业职业技术学院", + "12809": "苏州工业园区职业技术学院", + "12810": "安徽文达信息工程学院", + "12811": "安徽工贸职业技术学院", + "12812": "宿州职业技术学院", + "12813": "六安职业技术学院", + "12814": "安徽电子信息职业技术学院", + "12815": "民办合肥经济技术职业学院", + "12816": "安徽交通职业技术学院", + "12817": "安徽体育运动职业技术学院", + "12818": "滨州职业学院", + "12819": "山东科技职业学院", + "12820": "重庆建筑科技职业学院", + "12821": "安顺职业技术学院", + "12822": "黔东南民族职业技术学院", + "12823": "黔南民族职业技术学院", + "12824": "遵义职业技术学院", + "12825": "云南科技信息职业学院", + "12826": "西双版纳职业技术学院", + "12827": "陕西国防工业职业技术学院", + "12828": "西安航空职业技术学院", + "12829": "陕西财经职业技术学院", + "12830": "陕西交通职业技术学院", + "12831": "陕西职业技术学院", + "12832": "兰州外语职业学院", + "12833": "兰州职业技术学院", + "12834": "甘肃警察职业学院", + "12835": "甘肃林业职业技术学院", + "12836": "甘肃工业职业技术学院", + "12837": "宁夏工业职业学院", + "12838": "昌吉职业技术学院", + "12841": "山东服装职业学院", + "12842": "德州科技职业学院", + "12843": "潍坊科技学院", + "12844": "山东力明科技职业学院", + "12845": "湖南邮电职业技术学院", + "12846": "湘潭医卫职业技术学院", + "12847": "郴州职业技术学院", + "12848": "娄底职业技术学院", + "12849": "张家界航空工业职业技术学院", + "12850": "贵州城市职业学院", + "12851": "昆明艺术职业学院", + "12852": "青海警官职业学院", + "12860": "浙江医药高等专科学校", + "12861": "浙江机电职业技术学院", + "12862": "浙江建设职业技术学院", + "12863": "浙江艺术职业学院", + "12864": "浙江经贸职业技术学院", + "12865": "浙江商业职业技术学院", + "12866": "浙江经济职业技术学院", + "12867": "浙江旅游职业学院", + "12868": "浙江育英职业技术学院", + "12869": "浙江警官职业学院", + "12870": "浙江金融职业学院", + "12871": "浙江工业职业技术学院", + "12872": "杭州职业技术学院", + "12874": "嘉兴职业技术学院", + "12875": "湖州职业技术学院", + "12876": "绍兴职业技术学院", + "12877": "衢州职业技术学院", + "12878": "丽水职业技术学院", + "12880": "天津医学高等专科学校", + "12881": "天津开发区职业技术学院", + "12882": "天津艺术职业学院", + "12883": "天津交通职业学院", + "12884": "邢台医学高等专科学校", + "12885": "河北艺术职业学院", + "12887": "河北旅游职业学院", + "12888": "山西机电职业技术学院", + "12890": "山西财贸职业技术学院", + "12891": "山西林业职业技术学院", + "12892": "山西水利职业技术学院", + "12893": "阳泉职业技术学院", + "12894": "内蒙古体育职业学院", + "12895": "辽宁金融职业学院", + "12896": "辽宁轨道交通职业学院", + "12897": "辽宁广告职业学院", + "12898": "辽宁机电职业技术学院", + "12899": "辽宁经济职业技术学院", + "12900": "辽宁石化职业技术学院", + "12901": "吉林司法警官职业学院", + "12902": "吉林电子信息职业技术学院", + "12903": "吉林工业职业技术学院", + "12904": "吉林工程职业学院", + "12905": "鹤岗师范高等专科学校", + "12906": "哈尔滨电力职业技术学院", + "12907": "哈尔滨铁道职业技术学院", + "12908": "大兴安岭职业学院", + "12910": "黑龙江农业经济职业学院", + "12911": "哈尔滨职业技术学院", + "12912": "上海农林职业技术学院", + "12913": "上海邦德职业技术学院", + "12914": "上海兴伟学院", + "12915": "上海中侨职业技术大学", + "12917": "泰州学院", + "12918": "太湖创意职业技术学院", + "12919": "炎黄职业技术学院", + "12920": "南京科技职业学院", + "12921": "正德职业技术学院", + "12922": "钟山职业技术学院", + "12923": "无锡南洋职业技术学院", + "12924": "安徽中医药高等专科学校", + "12925": "安徽医学高等专科学校", + "12926": "亳州学院", + "12927": "泉州华光职业学院", + "12928": "泉州职业技术大学", + "12929": "江西司法警官职业学院", + "12930": "江西陶瓷工艺美术职业技术学院", + "12931": "渤海船舶职业学院", + "12932": "江西旅游商贸职业学院", + "12933": "江西电力职业技术学院", + "12934": "江西环境工程职业学院", + "12936": "江西艺术职业学院", + "12937": "鹰潭职业技术学院", + "12938": "江西应用科技学院", + "12939": "江西信息应用职业技术学院", + "12940": "江西交通职业技术学院", + "12941": "江西财经职业学院", + "12942": "江西应用技术职业学院", + "12943": "江西现代职业技术学院", + "12944": "江西工业工程职业技术学院", + "12945": "山东圣翰财贸职业学院", + "12946": "山东水利职业学院", + "12947": "山东畜牧兽医职业学院", + "12948": "郑州澍青医学高等专科学校", + "12949": "郑州师范学院", + "12950": "焦作师范高等专科学校", + "12951": "湖北中医药高等专科学校", + "12952": "武汉航海职业技术学院", + "12953": "广东邮电职业技术学院", + "12954": "汕头职业技术学院", + "12956": "揭阳职业技术学院", + "12957": "深圳信息职业技术学院", + "12958": "清远职业技术学院", + "12959": "广东工贸职业技术学院", + "12960": "广东司法警官职业学院", + "12961": "广东亚视演艺职业学院", + "12962": "广东省外语艺术职业学院", + "12963": "四川托普信息技术职业学院", + "12964": "四川国际标榜职业学院", + "12965": "成都农业科技职业学院", + "12966": "宜宾职业技术学院", + "12967": "泸州职业技术学院", + "12968": "眉山职业技术学院", + "12969": "成都艺术职业大学", + "12970": "四川职业技术学院", + "12971": "玉溪农业职业技术学院", + "12972": "青海畜牧兽医职业技术学院", + "12973": "青海交通职业技术学院", + "12974": "青海建筑职业技术学院", + "12975": "伊犁职业技术学院", + "12976": "江西机电职业技术学院", + "12977": "武汉铁路职业技术学院", + "12978": "武汉软件工程职业学院", + "12979": "湖北三峡职业技术学院", + "12980": "随州职业技术学院", + "12981": "武汉电力职业技术学院", + "12982": "湖北水利水电职业技术学院", + "12983": "湖北城市建设职业技术学院", + "12984": "武汉警官职业学院", + "12985": "湖北生物科技职业学院", + "12986": "湖北开放职业学院", + "12987": "武汉科技职业学院", + "12988": "武汉外语外事职业学院", + "12989": "武汉信息传播职业技术学院", + "12990": "武昌职业学院", + "12991": "武汉商贸职业学院", + "12992": "闽南科技学院", + "12993": "福州工商学院", + "13001": "宁波财经学院", + "13002": "浙江东方职业技术学院", + "13003": "义乌工商职业技术学院", + "13005": "青岛飞洋职业技术学院", + "13006": "山东英才学院", + "13007": "东营科技职业学院", + "13008": "山东交通职业学院", + "13009": "淄博职业学院", + "13010": "山东外贸职业学院", + "13011": "青岛酒店管理职业技术学院", + "13012": "山东信息职业技术学院", + "13014": "青岛港湾职业技术学院", + "13015": "青岛恒星科技学院", + "13017": "江南影视艺术职业学院", + "13021": "浙大城市学院", + "13022": "浙大宁波理工学院", + "13023": "杭州医学院", + "13025": "浙江纺织服装职业技术学院", + "13026": "杭州科技职业技术学院", + "13027": "浙江长征职业技术学院", + "13028": "嘉兴南洋职业技术学院", + "13029": "浙江广厦建设职业技术大学", + "13030": "杭州万向职业技术学院", + "13031": "长沙环境保护职业技术学院", + "13032": "湖南艺术职业学院", + "13033": "湖南机电职业技术学院", + "13036": "长沙职业技术学院", + "13037": "怀化职业技术学院", + "13038": "岳阳职业技术学院", + "13039": "常德职业技术学院", + "13041": "长沙南方职业学院", + "13042": "潇湘职业学院", + "13043": "湖南化工职业技术学院", + "13044": "湖南城建职业技术学院", + "13045": "湖南石油化工职业技术学院", + "13048": "乐山职业技术学院", + "13049": "雅安职业技术学院", + "13052": "贵州工业职业技术学院", + "13053": "贵州电力职业技术学院", + "13054": "六盘水职业技术学院", + "13055": "铜仁职业技术学院", + "13058": "合肥职业技术学院", + "13059": "滁州职业技术学院", + "13060": "池州职业技术学院", + "13061": "宣城职业技术学院", + "13062": "安徽广播影视职业技术学院", + "13064": "民办合肥滨湖职业技术学院", + "13065": "安徽外国语学院", + "13070": "石家庄财经职业学院", + "13071": "河北交通职业技术学院", + "13072": "河北化工医药职业技术学院", + "13073": "石家庄信息工程职业学院", + "13074": "河北对外经贸职业学院", + "13075": "河北美术学院", + "13086": "宁夏职业技术学院", + "13087": "宁夏工商职业技术学院", + "13088": "宁夏财经职业技术学院", + "13089": "宁夏警官职业学院", + "13093": "阿克苏职业技术学院", + "13094": "巴音郭楞职业技术学院", + "13100": "金肯职业技术学院", + "13101": "常州工业职业技术学院", + "13102": "常州工程职业技术学院", + "13103": "江苏农林职业技术学院", + "13104": "江苏食品药品职业技术学院", + "13105": "建东职业技术学院", + "13106": "南京铁道职业技术学院", + "13107": "徐州工业职业技术学院", + "13108": "江苏信息职业技术学院", + "13110": "宿迁职业技术学院", + "13112": "南京信息职业技术学院", + "13113": "江海职业技术学院", + "13114": "常州机电职业技术学院", + "13115": "厦门工学院", + "13121": "西安思源学院", + "13122": "西安高新科技职业学院", + "13123": "陕西国际商贸学院", + "13124": "西安城市建设职业学院", + "13125": "陕西服装工程学院", + "13136": "云南能源职业技术学院", + "13137": "江阴职业技术学院", + "13138": "广西建设职业技术学院", + "13151": "宁夏建设职业技术学院", + "13161": "长春职业技术学院", + "13171": "临汾职业技术学院", + "13177": "北京师范大学珠海分校", + "13188": "武汉晴川学院", + "13198": "大连理工大学城市学院", + "13201": "沈阳工学院", + "13203": "大连工业大学艺术与信息工程学院", + "13207": "大连科技学院", + "13208": "沈阳城市建设学院", + "13212": "大连医科大学中山学院", + "13213": "锦州医科大学医疗学院", + "13215": "辽宁师范大学海华学院", + "13217": "辽宁理工学院", + "13218": "大连财经学院", + "13220": "沈阳城市学院", + "13234": "湖北大学知行学院", + "13235": "武汉科技大学城市学院", + "13236": "三峡大学科技学院", + "13237": "武汉文理学院", + "13238": "湖北工业大学工程技术学院", + "13239": "武汉工程大学邮电与信息工程学院", + "13240": "武汉纺织大学外经贸学院", + "13241": "武昌工学院", + "13242": "武汉工商学院", + "13245": "长江大学工程技术学院", + "13246": "长江大学文理学院", + "13247": "湖北商贸学院", + "13248": "湖北汽车工业学院科技学院", + "13249": "湖北医药学院药护学院", + "13250": "湖北民族大学科技学院", + "13251": "湖北经济学院法商学院", + "13253": "武汉体育学院体育科技学院", + "13256": "湖北师范大学文理学院", + "13257": "湖北文理学院理工学院", + "13258": "湖北工程学院新技术学院", + "13262": "文华学院", + "13263": "湖北艺术职业学院", + "13264": "武汉交通职业学院", + "13265": "咸宁职业技术学院", + "13266": "长江工程职业技术学院", + "13275": "浙江工业大学之江学院", + "13276": "浙江师范大学行知学院", + "13277": "宁波大学科学技术学院", + "13279": "杭州电子科技大学信息工程学院", + "13280": "浙江理工大学科技与艺术学院", + "13282": "浙江海洋大学东海科学技术学院", + "13283": "浙江农林大学暨阳学院", + "13284": "温州医科大学仁济学院", + "13285": "浙江中医药大学滨江学院", + "13286": "杭州师范大学钱江学院", + "13287": "湖州学院", + "13288": "绍兴文理学院元培学院", + "13289": "温州理工学院", + "13290": "浙江工商大学杭州商学院", + "13291": "嘉兴南湖学院", + "13292": "中国计量大学现代科技学院", + "13294": "浙江财经大学东方学院", + "13296": "黑龙江外国语学院", + "13298": "黑龙江财经学院", + "13299": "哈尔滨石油学院", + "13300": "黑龙江工商学院", + "13301": "哈尔滨远东理工学院", + "13302": "哈尔滨传媒职业学院", + "13303": "哈尔滨剑桥学院", + "13304": "黑龙江工程学院昆仑旅游学院", + "13306": "哈尔滨广厦学院", + "13307": "哈尔滨华德学院", + "13316": "山东胜利职业学院", + "13317": "山东经贸职业学院", + "13318": "山东工业职业学院", + "13319": "山东化工职业学院", + "13320": "青岛黄海学院", + "13321": "青岛求实职业技术学院", + "13322": "山东现代学院", + "13323": "济南职业学院", + "13324": "山东协和学院", + "13325": "宁夏大学新华学院", + "13326": "云南大学滇池学院", + "13328": "云南大学旅游文化学院", + "13329": "昆明理工大学津桥学院", + "13330": "云南师范大学商学院", + "13331": "昆明文理学院", + "13332": "昆明医科大学海源学院", + "13333": "云南艺术学院文华学院", + "13336": "安徽电气工程职业技术学院", + "13337": "安徽冶金科技职业学院", + "13338": "安徽城市管理职业学院", + "13339": "安徽机电职业技术学院", + "13340": "安徽工商职业学院", + "13341": "安徽中澳科技职业学院", + "13342": "阜阳科技职业学院", + "13343": "亳州职业技术学院", + "13344": "安徽国防科技职业学院", + "13345": "安庆职业技术学院", + "13346": "安徽艺术职业学院", + "13355": "烟台工程职业技术学院", + "13356": "山东工程职业技术大学", + "13359": "烟台理工学院", + "13373": "聊城大学东昌学院", + "13378": "青岛城市学院", + "13379": "潍坊理工学院", + "13383": "山东财经大学燕山学院", + "13386": "山东石油化工学院", + "13387": "山东外国语职业技术大学", + "13388": "潍坊工商职业学院", + "13389": "德州职业技术学院", + "13390": "枣庄科技职业学院", + "13391": "河北科技学院", + "13392": "保定电力职业技术学院", + "13393": "河北机电职业技术学院", + "13394": "渤海石油职业学院", + "13395": "廊坊职业技术学院", + "13396": "唐山科技职业技术学院", + "13397": "石家庄邮电职业技术学院", + "13398": "河北公安警察职业学院", + "13399": "石家庄工商职业学院", + "13400": "石家庄理工职业学院", + "13401": "石家庄医学高等专科学校", + "13402": "河北外国语学院", + "13403": "石家庄科技信息职业学院", + "13404": "河北大学工商学院", + "13408": "华北理工大学轻工学院", + "13409": "河北科技大学理工学院", + "13411": "河北师范大学汇华学院", + "13414": "河北经贸大学经济管理学院", + "13415": "河北医科大学临床学院", + "13417": "华北电力大学科技学院", + "13418": "江西服装学院", + "13419": "江西科技职业学院", + "13420": "南昌职业大学", + "13421": "南昌工学院", + "13422": "江西外语外贸职业学院", + "13423": "江西工业贸易职业技术学院", + "13424": "宜春职业技术学院", + "13425": "江西应用工程职业学院", + "13426": "江西生物科技职业学院", + "13427": "江西建设职业技术学院", + "13428": "抚州职业技术学院", + "13429": "南昌大学科学技术学院", + "13430": "南昌大学共青学院", + "13431": "华东交通大学理工学院", + "13432": "东华理工大学长江学院", + "13433": "南昌航空大学科技学院", + "13434": "江西理工大学应用科学学院", + "13435": "景德镇艺术职业大学", + "13436": "江西农业大学南昌商学院", + "13437": "江西中医药大学科技学院", + "13438": "江西师范大学科学技术学院", + "13439": "赣南师范大学科技学院", + "13440": "江西科技师范大学理工学院", + "13441": "江西财经大学现代经济管理学院", + "13447": "黑龙江生物科技职业学院", + "13448": "黑龙江商业职业学院", + "13449": "黑龙江公安警官职业学院", + "13450": "黑龙江信息技术职业学院", + "13451": "哈尔滨城市职业学院", + "13453": "黑龙江农垦科技职业学院", + "13468": "阳光学院", + "13469": "厦门大学嘉庚学院", + "13470": "福州大学至诚学院", + "13471": "集美大学诚毅学院", + "13472": "福建师范大学协和学院", + "13497": "郑州财经学院", + "13498": "黄河交通学院", + "13499": "河南检察职业学院", + "13500": "商丘工学院", + "13501": "河南大学民生学院", + "13502": "中原科技学院", + "13503": "信阳学院", + "13504": "安阳学院", + "13505": "新乡医学院三全学院", + "13506": "新乡工程学院", + "13507": "郑州工商学院", + "13508": "郑州经贸学院", + "13510": "西北师范大学知行学院", + "13511": "兰州工商学院", + "13512": "兰州财经大学长青学院", + "13514": "兰州博文科技学院", + "13515": "兰州信息科技学院", + "13518": "武威职业学院", + "13519": "甘肃交通职业技术学院", + "13520": "广西警察学院", + "13522": "广西现代职业技术学院", + "13523": "北海职业学院", + "13524": "北海艺术设计学院", + "13526": "桂林山水职业学院", + "13528": "山西职业技术学院", + "13530": "山西金融职业学院", + "13532": "太原城市职业技术学院", + "13533": "山西大学商务学院", + "13534": "山西工学院", + "13535": "山西农业大学信息学院", + "13537": "山西师范大学现代文理学院", + "13538": "中北大学信息商务学院", + "13541": "山西信息职业技术学院", + "13548": "重庆人文科技学院", + "13558": "新疆理工学院", + "13559": "新疆农业大学科学技术学院", + "13560": "新疆第二医学院", + "13561": "新疆科技学院", + "13562": "新疆建设职业技术学院", + "13564": "河南质量工程职业学院", + "13565": "郑州信息科技职业学院", + "13566": "陕西铁路工程职业技术学院", + "13567": "宝鸡职业技术学院", + "13568": "陕西航空职业技术学院", + "13569": "西安交通工程学院", + "13570": "陕西电子信息职业技术学院", + "13571": "无锡太湖学院", + "13573": "金陵科技学院", + "13575": "海南软件职业技术学院", + "13576": "海南政法职业学院", + "13577": "海南外国语职业学院", + "13578": "河北工程大学科信学院", + "13579": "中国矿业大学徐海学院", + "13584": "河北工业大学城市学院", + "13588": "重庆外语外事学院", + "13589": "重庆对外经贸学院", + "13590": "重庆财经学院", + "13591": "重庆工商大学派斯学院", + "13592": "燕山大学里仁学院", + "13593": "石家庄铁道大学四方学院", + "13594": "河北地质大学华信学院", + "13595": "河北农业大学现代科技学院", + "13596": "华北理工大学冀唐学院", + "13597": "太原科技大学华科学院", + "13598": "山西医科大学晋祠学院", + "13599": "大连艺术学院", + "13600": "长春光华学院", + "13601": "长春工业大学人文信息学院", + "13602": "长春理工大学光电信息学院", + "13603": "长春财经学院", + "13604": "吉林建筑科技学院", + "13605": "长春建筑学院", + "13606": "长春科技学院", + "13607": "吉林动画学院", + "13608": "山西财经大学华商学院", + "13609": "辽宁中医药大学杏林学院", + "13610": "辽宁何氏医学院", + "13611": "蚌埠工商学院", + "13612": "安徽大学江淮学院", + "13613": "安徽信息工程学院", + "13614": "马鞍山学院", + "13615": "合肥城市学院", + "13616": "合肥经济学院", + "13617": "安徽师范大学皖江学院", + "13618": "安徽医科大学临床医学院", + "13619": "阜阳师范大学信息工程学院", + "13620": "淮北理工学院", + "13621": "沈阳科技学院", + "13622": "吉林师范大学博达学院", + "13623": "长春大学旅游学院", + "13624": "泰山科技学院", + "13627": "重庆移通学院", + "13628": "新疆政法学院", + "13629": "首都师范大学科德学院", + "13630": "北京工商大学嘉华学院", + "13631": "大连东软信息学院", + "13632": "上海视觉艺术学院", + "13634": "武汉学院", + "13635": "长沙理工大学城南学院", + "13636": "上海外国语大学贤达经济人文学院", + "13637": "温州商学院", + "13638": "广西大学行健文理学院", + "13639": "柳州工学院", + "13640": "广西民族大学相思湖学院", + "13641": "广西师范大学漓江学院", + "13642": "南宁师范大学师园学院", + "13643": "广西中医药大学赛恩斯新医药学院", + "13644": "桂林电子科技大学信息科技学院", + "13645": "桂林理工大学博文管理学院", + "13646": "南京大学金陵学院", + "13647": "贵州中医药大学时珍学院", + "13648": "贵州财经大学商务学院", + "13649": "贵州大学科技学院", + "13650": "贵州大学明德学院", + "13651": "贵州民族大学人文科技学院", + "13652": "贵州师范大学求是学院", + "13653": "遵义医科大学医学与科技学院", + "13654": "南京理工大学紫金学院", + "13655": "南京航空航天大学金城学院", + "13656": "广州华立学院", + "13657": "广州大学松田学院", + "13658": "天津外国语大学滨海外事学院", + "13659": "天津体育学院运动与文化艺术学院", + "13660": "天津商业大学宝德学院", + "13661": "天津医科大学临床医学院", + "13662": "东北师范大学人文学院", + "13663": "南开大学滨海学院", + "13664": "武汉工程科技学院", + "13665": "电子科技大学成都学院", + "13666": "武汉华夏理工学院", + "13667": "广州商学院", + "13668": "成都理工大学工程技术学院", + "13669": "四川传媒学院", + "13670": "成都银杏酒店管理学院", + "13671": "成都文理学院", + "13672": "四川工商学院", + "13673": "四川外国语大学成都学院", + "13674": "青海大学昆仑学院", + "13675": "北京理工大学珠海学院", + "13676": "贵州医科大学神奇民族医药学院", + "13677": "西安交通大学城市学院", + "13678": "西北大学现代学院", + "13679": "西安建筑科技大学华清学院", + "13680": "西安财经大学行知学院", + "13681": "陕西科技大学镐京学院", + "13682": "西安工商学院", + "13683": "延安大学西安创新学院", + "13684": "珠海科技学院", + "13685": "西安电子科技大学长安学院", + "13686": "武汉传媒学院", + "13687": "南京传媒学院", + "13688": "浙江邮电职业技术学院", + "13690": "河北司法警官职业学院", + "13691": "山西工商学院", + "13692": "山西体育职业学院", + "13693": "山西警官职业学院", + "13694": "山西国际商务职业学院", + "13695": "潞安职业技术学院", + "13696": "太原旅游职业学院", + "13697": "山西旅游职业学院", + "13698": "山西管理职业学院", + "13699": "乌兰察布职业学院", + "13700": "天津工业职业学院", + "13701": "天津石油职业技术学院", + "13702": "天津城市职业学院", + "13703": "北京科技职业学院", + "13705": "成都医学院", + "13706": "吉林医药学院", + "13707": "广东文艺职业学院", + "13708": "广州体育职业技术学院", + "13709": "广州工程技术职业学院", + "13710": "中山火炬职业技术学院", + "13711": "江门职业技术学院", + "13712": "茂名职业技术学院", + "13713": "珠海城市职业技术学院", + "13714": "广州工商学院", + "13715": "广州涉外经济职业技术学院", + "13716": "广州南洋理工职业学院", + "13717": "广州科技职业技术大学", + "13718": "惠州经济职业技术学院", + "13719": "广东科技学院", + "13720": "广东理工学院", + "13721": "广东工商职业技术大学", + "13726": "新疆现代职业技术学院", + "13727": "新疆天山职业技术大学", + "13728": "北京培黎职业学院", + "13729": "黑龙江旅游职业技术学院", + "13730": "黑龙江三江美术职业学院", + "13731": "黑龙江生态工程职业学院", + "13732": "黑龙江能源职业学院", + "13734": "重庆城市职业学院", + "13735": "重庆水利电力职业技术学院", + "13736": "陕西邮电职业技术学院", + "13737": "西安海棠职业学院", + "13738": "西安汽车职业大学", + "13739": "西安健康工程职业学院", + "13740": "通辽职业学院", + "13741": "科尔沁艺术职业学院", + "13742": "宁波卫生职业技术学院", + "13743": "白城医学高等专科学校", + "13744": "黑河学院", + "13745": "山西电力职业技术学院", + "13746": "台州科技职业学院", + "13747": "上海电影艺术职业学院", + "13748": "无锡城市职业技术学院", + "13749": "无锡工艺职业技术学院", + "13750": "金山职业技术学院", + "13751": "苏州健雄职业技术学院", + "13752": "盐城工业职业技术学院", + "13753": "江苏财经职业技术学院", + "13754": "扬州工业职业技术学院", + "13756": "云南国防工业职业技术学院", + "13757": "云南机电职业技术学院", + "13758": "云南林业职业技术学院", + "13759": "云南城市建设职业学院", + "13760": "马鞍山师范高等专科学校", + "13761": "云南工程职业学院", + "13762": "福州外语外贸学院", + "13763": "福建江夏学院", + "13764": "闽北职业技术学院", + "13765": "福州黎明职业技术学院", + "13766": "泉州信息工程学院", + "13767": "厦门演艺职业学院", + "13768": "厦门华天涉外职业技术学院", + "13769": "福州科技职业技术学院", + "13770": "泉州经贸职业技术学院", + "13772": "湄洲湾职业技术学院", + "13773": "福州理工学院", + "13774": "豫章师范学院", + "13775": "江西中医药高等专科学校", + "13776": "江西软件职业技术大学", + "13777": "淄博师范高等专科学校", + "13778": "山东中医药高等专科学校", + "13779": "沧州医学高等专科学校", + "13780": "漯河医学高等专科学校", + "13781": "南阳医学高等专科学校", + "13782": "商丘医学高等专科学校", + "13783": "郑州电子信息职业技术学院", + "13784": "信阳职业技术学院", + "13785": "嵩山少林武术职业学院", + "13786": "郑州工业安全职业学院", + "13787": "永城职业学院", + "13788": "河南经贸职业学院", + "13789": "河南交通职业技术学院", + "13790": "河南农业职业学院", + "13791": "郑州旅游职业学院", + "13792": "郑州职业技术学院", + "13793": "江汉艺术职业学院", + "13795": "武汉工业职业技术学院", + "13796": "武汉民政职业学院", + "13797": "湖北黄冈应急管理职业技术学院", + "13798": "湖北财税职业学院", + "13799": "黄冈科技职业学院", + "13800": "湖北国土资源职业学院", + "13801": "湖北生态工程职业技术学院", + "13802": "湖南中医药高等专科学校", + "13804": "湖南民族职业学院", + "13805": "湘西民族职业技术学院", + "13806": "长沙师范学院", + "13807": "湖南财经工业职业技术学院", + "13808": "益阳职业技术学院", + "13809": "湖南应用技术学院", + "13810": "肇庆医学高等专科学校", + "13811": "琼台师范学院", + "13812": "四川商务职业学院", + "13813": "四川司法警官职业学院", + "13814": "广安职业技术学院", + "13815": "四川信息职业技术学院", + "13816": "四川工业科技学院", + "13817": "黔西南民族职业技术学院", + "13818": "贵州轻工职业技术学院", + "13819": "陕西警官职业学院", + "13820": "银川能源学院", + "13821": "忻州职业技术学院", + "13822": "河北女子职业技术学院", + "13824": "内蒙古交通职业技术学院", + "13827": "广西经贸职业技术学院", + "13828": "广西工商职业技术学院", + "13829": "广西演艺职业学院", + "13830": "广西外国语学院", + "13831": "广西电力职业技术学院", + "13836": "湖南信息学院", + "13842": "南京理工大学泰州科技学院", + "13843": "南京师范大学泰州学院", + "13844": "东莞城市学院", + "13845": "安徽财贸职业学院", + "13846": "安徽国际商务职业学院", + "13847": "安徽公安职业学院", + "13848": "安徽林业职业技术学院", + "13849": "安徽审计职业学院", + "13850": "安徽新闻出版职业技术学院", + "13851": "安徽邮电职业技术学院", + "13852": "安徽工业职业技术学院", + "13853": "浙江国际海运职业技术学院", + "13854": "浙江体育职业技术学院", + "13855": "济南工程职业技术学院", + "13856": "山东电子职业技术学院", + "13857": "山东华宇工学院", + "13858": "山东旅游职业学院", + "13859": "山东铝业职业学院", + "13860": "山东杏林科技职业学院", + "13861": "泰山职业技术学院", + "13862": "山西同文职业技术学院", + "13863": "天津铁道职业技术学院", + "13864": "包头钢铁职业技术学院", + "13866": "江西经济管理职业学院", + "13867": "江西制造职业技术学院", + "13868": "江西工程职业学院", + "13869": "江西青年职业学院", + "13870": "上饶职业技术学院", + "13871": "江西航空职业技术学院", + "13872": "江西农业工程职业学院", + "13873": "赣西科技职业学院", + "13874": "山东外事职业大学", + "13875": "海南经贸职业技术学院", + "13876": "海南工商职业学院", + "13885": "河南信息统计职业学院", + "13889": "河南林业职业学院", + "13891": "保定理工学院", + "13892": "三亚学院", + "13893": "上海师范大学天华学院", + "13894": "西安明德理工学院", + "13895": "燕京理工学院", + "13896": "天津师范大学津沽学院", + "13897": "天津理工大学中环信息学院", + "13898": "北京科技大学天津学院", + "13899": "北京中医药大学东方学院", + "13900": "辽宁财贸学院", + "13901": "北京邮电大学世纪学院", + "13902": "广州新华学院", + "13903": "四川大学锦城学院", + "13904": "北京工业大学耿丹学院", + "13905": "南京工业大学浦江学院", + "13906": "南京师范大学中北学院", + "13909": "云南工商学院", + "13911": "天津工艺美术职业学院", + "13912": "广州现代信息工程职业技术学院", + "13913": "晋中职业技术学院", + "13914": "山西华澳商贸职业学院", + "13915": "乌海职业技术学院", + "13916": "长春信息技术职业学院", + "13917": "松原职业技术学院", + "13918": "七台河职业学院", + "13919": "广东理工职业学院", + "13920": "广西城市职业大学", + "13921": "湖南工艺美术职业学院", + "13922": "湖南九嶷职业技术学院", + "13923": "湖南理工职业技术学院", + "13924": "湖南交通工程学院", + "13925": "湖南软件职业技术大学", + "13926": "新疆交通职业技术学院", + "13927": "广州华南商贸职业学院", + "13928": "广州华立科技职业学院", + "13929": "广州城市职业学院", + "13930": "广东工程职业技术学院", + "13931": "三亚航空旅游职业学院", + "13932": "陕西经济管理职业技术学院", + "13933": "兰州资源环境职业技术学院", + "13934": "山西运城农业职业技术学院", + "13935": "黑龙江民族职业学院", + "13936": "河南工业贸易职业学院", + "13937": "湖南汽车工程职业学院", + "13938": "长沙电力职业技术学院", + "13939": "湖南水利水电职业技术学院", + "13940": "湖南现代物流职业技术学院", + "13941": "湖南高速铁路职业技术学院", + "13942": "湖南铁路科技职业技术学院", + "13943": "广州铁路职业技术学院", + "13945": "西安铁路职业技术学院", + "13946": "咸阳职业技术学院", + "13947": "西安职业技术学院", + "13948": "商洛职业技术学院", + "13949": "汉中职业技术学院", + "13950": "延安职业技术学院", + "13951": "渭南职业技术学院", + "13952": "安康职业技术学院", + "13953": "铜川职业技术学院", + "13954": "甘肃农业职业技术学院", + "13955": "甘肃畜牧工程职业技术学院", + "13956": "新疆石河子职业技术学院", + "13957": "辽宁传媒学院", + "13958": "大连软件职业学院", + "13959": "大连翻译职业学院", + "13960": "辽宁商贸职业学院", + "13961": "大连枫叶职业技术学院", + "13962": "苏州百年职业学院", + "13963": "昆山登云科技职业学院", + "13964": "南京视觉艺术职业学院", + "13965": "江西卫生职业学院", + "13966": "山东药品食品职业学院", + "13967": "重庆工商职业学院", + "13968": "重庆应用技术职业学院", + "13969": "福建生物工程职业技术学院", + "13970": "福建艺术职业学院", + "13972": "福建幼儿师范高等专科学校", + "13973": "厦门城市职业学院", + "13975": "泉州工艺美术职业学院", + "13976": "三明医学科技职业学院", + "13977": "宁德职业技术学院", + "13978": "福州软件职业技术学院", + "13979": "厦门兴才职业技术学院", + "13980": "南京医科大学康达学院", + "13981": "南京中医药大学翰林学院", + "13982": "南京信息工程大学滨江学院", + "13983": "苏州大学文正学院", + "13984": "苏州大学应用技术学院", + "13985": "苏州科技大学天平学院", + "13986": "江苏大学京江学院", + "13987": "扬州大学广陵学院", + "13988": "江苏师范大学科文学院", + "13989": "南京邮电大学通达学院", + "13990": "南京财经大学红山学院", + "13991": "江苏科技大学苏州理工学院", + "13992": "常州大学怀德学院", + "13993": "南通大学杏林学院", + "13994": "南京审计大学金审学院", + "13995": "青岛工学院", + "13997": "青岛农业大学海都学院", + "13998": "齐鲁理工学院", + "13999": "山东财经大学东方学院", + "14000": "江苏城市职业学院", + "14001": "南京城市职业学院", + "14002": "烟台科技学院", + "14003": "商丘学院", + "14004": "四川文化传媒职业学院", + "14005": "四川华新现代职业学院", + "14006": "四川铁道职业学院", + "14007": "四川艺术职业学院", + "14008": "重庆三峡医药高等专科学校", + "14009": "重庆医药高等专科学校", + "14010": "四川中医药高等专科学校", + "14011": "遵义医药高等专科学校", + "14012": "曲靖医学高等专科学校", + "14013": "楚雄医药高等专科学校", + "14014": "保山中医药高等专科学校", + "14015": "丽江师范高等专科学校", + "14016": "德宏师范高等专科学校", + "14017": "大庆医学高等专科学校", + "14020": "天津城市建设管理职业技术学院", + "14021": "天津生物工程职业技术学院", + "14022": "天津海运职业学院", + "14025": "湖南安全技术职业学院", + "14026": "广西英华国际职业学院", + "14029": "陕西工商职业学院", + "14030": "西安信息职业大学", + "14031": "陕西旅游烹饪职业学院", + "14032": "云南新兴职业学院", + "14034": "长安大学兴华学院", + "14035": "武汉设计工程学院", + "14037": "西南财经大学天府学院", + "14038": "天津大学仁爱学院", + "14039": "四川大学锦江学院", + "14040": "郑州商学院", + "14041": "西安理工大学高科学院", + "14042": "西安科技大学高新学院", + "14043": "四川文化艺术学院", + "14045": "西南科技大学城市学院", + "14046": "福建农林大学金山学院", + "14047": "石家庄经济职业学院", + "14048": "内蒙古科技职业学院", + "14049": "内蒙古北方职业技术学院", + "14050": "赤峰职业技术学院", + "14051": "内蒙古经贸外语职业学院", + "14052": "吉林铁道职业技术学院", + "14053": "黑龙江交通职业技术学院", + "14055": "哈尔滨应用职业技术学院", + "14056": "南京机电职业技术学院", + "14058": "民办合肥财经职业学院", + "14059": "厦门软件职业技术学院", + "14060": "福建体育职业技术学院", + "14061": "三峡电力职业学院", + "14062": "郑州电力职业技术学院", + "14063": "广东科贸职业学院", + "14065": "广州科技贸易职业学院", + "14066": "中山职业技术学院", + "14067": "柳州城市职业学院", + "14068": "百色职业学院", + "14069": "重庆青年职业技术学院", + "14070": "四川科技职业学院", + "14071": "湖南电气职业技术学院", + "14072": "湖南外国语职业学院", + "14073": "北京经济管理职业学院", + "14075": "北京劳动保障职业学院", + "14076": "辽宁装备制造职业技术学院", + "14078": "山东商务职业学院", + "14079": "山东轻工职业学院", + "14080": "山东城市建设职业学院", + "14081": "烟台汽车工程职业学院", + "14082": "山东司法警官职业学院", + "14083": "贵阳护理职业学院", + "14085": "西藏职业技术学院", + "14086": "四川文化产业职业学院", + "14087": "天津财经大学珠江学院", + "14088": "温州科技职业学院", + "14089": "浙江汽车职业技术学院", + "14090": "浙江横店影视职业学院", + "14091": "四川财经职业学院", + "14092": "滇西科技师范学院", + "14093": "运城幼儿师范高等专科学校", + "14095": "黑龙江幼儿师范高等专科学校", + "14096": "安庆医药高等专科学校", + "14097": "益阳医学高等专科学校", + "14098": "合肥师范学院", + "14099": "湖北第二师范学院", + "14100": "山东政法学院", + "14101": "太原工业学院", + "14102": "天津广播影视职业学院", + "14103": "冀中职业学院", + "14105": "山西老区职业技术学院", + "14106": "辽宁地质工程职业学院", + "14107": "白城职业技术学院", + "14108": "哈尔滨科学技术职业学院", + "14110": "漳州城市职业学院", + "14111": "厦门南洋职业学院", + "14112": "厦门东海职业技术学院", + "14113": "漳州科技职业学院", + "14115": "漳州理工职业学院", + "14116": "武夷山职业学院", + "14117": "漳州卫生职业学院", + "14118": "菏泽家政职业学院", + "14119": "湖北科技职业学院", + "14120": "湖北青年职业学院", + "14121": "湖南都市职业学院", + "14122": "湖南电子科技职业学院", + "14123": "广州珠江职业技术学院", + "14125": "广州松田职业学院", + "14126": "广东文理职业学院", + "14127": "广西工程职业学院", + "14128": "重庆财经职业学院", + "14129": "贵阳职业技术学院", + "14130": "云南锡业职业技术学院", + "14131": "甘肃钢铁职业技术学院", + "14132": "安徽涉外经济职业学院", + "14133": "安徽绿海商务职业学院", + "14135": "合肥共达职业技术学院", + "14136": "广州城建职业学院", + "14137": "蚌埠经济技术职业学院", + "14138": "新疆职业大学", + "14139": "北京社会管理职业学院(民政部培训中心)", + "14140": "北京艺术传媒职业学院", + "14158": "石家庄人民医学高等专科学校", + "14160": "宿迁学院", + "14163": "苏州高博软件技术职业学院", + "14165": "民办安徽旅游职业学院", + "14166": "江西新能源科技职业学院", + "14167": "江西枫林涉外经贸职业学院", + "14168": "江西泰豪动漫职业学院", + "14169": "河南科技职业大学", + "14170": "广西理工职业技术学院", + "14171": "梧州职业学院", + "14172": "海南科技职业大学", + "14173": "重庆科创职业学院", + "14175": "四川城市职业学院", + "14176": "四川现代职业学院", + "14177": "山西经贸职业学院", + "14178": "佳木斯职业学院", + "14179": "上海体育职业学院", + "14180": "南京旅游职业学院", + "14181": "河南建筑职业技术学院", + "14182": "湖南国防工业职业技术学院", + "14183": "重庆建筑工程职业学院", + "14185": "河北正定师范高等专科学校", + "14186": "朔州职业技术学院", + "14187": "包头铁道职业技术学院", + "14188": "辽宁铁道职业技术学院", + "14189": "辽宁建筑职业学院", + "14190": "长白山职业技术学院", + "14191": "徽商职业学院", + "14192": "马鞍山职业技术学院", + "14193": "山东传媒职业学院", + "14195": "临沂职业学院", + "14196": "枣庄职业学院", + "14197": "湖北工程职业学院", + "14198": "毕节职业技术学院", + "14199": "内蒙古大学创业学院", + "14200": "银川科技学院", + "14201": "北京第二外国语学院中瑞酒店管理学院", + "14202": "沧州交通学院", + "14203": "皖江工学院", + "14205": "内蒙古师范大学鸿德学院", + "14206": "同济大学浙江学院", + "14207": "上海财经大学浙江学院", + "14208": "河北劳动关系职业学院", + "14209": "大连航运职业技术学院", + "14210": "安徽现代信息工程职业学院", + "14211": "广西经济职业学院", + "14212": "云南经贸外事职业学院", + "14213": "石家庄科技职业学院", + "14215": "北京体育职业学院", + "14219": "乌兰察布医学高等专科学校", + "14220": "广西幼儿师范高等专科学校", + "14221": "四川幼儿师范高等专科学校", + "14222": "西安医学高等专科学校", + "14223": "贵州师范学院", + "14225": "河北东方学院", + "14226": "运城职业技术大学", + "14227": "大连装备制造职业技术学院", + "14228": "大连汽车职业技术学院", + "14229": "安徽矿业职业技术学院", + "14230": "合肥信息技术职业学院", + "14231": "泉州海洋职业学院", + "14232": "泉州轻工职业学院", + "14233": "漯河食品职业学院", + "14235": "郑州城市职业学院", + "14236": "三亚理工职业学院", + "14237": "重庆电讯职业学院", + "14238": "重庆能源职业学院", + "14239": "云南三鑫职业技术学院", + "14240": "辽宁现代服务职业技术学院", + "14241": "江西冶金职业技术学院", + "14242": "山东理工职业学院", + "14243": "安阳职业技术学院", + "14245": "新乡职业技术学院", + "14246": "重庆商务职业学院", + "14247": "山西铁道职业技术学院", + "14248": "鄂尔多斯职业学院", + "14249": "江西管理职业学院", + "14250": "江西传媒职业学院", + "14251": "驻马店职业技术学院", + "14252": "贵州职业技术学院", + "14253": "德宏职业学院", + "14255": "江苏卫生健康职业学院", + "14256": "苏州信息职业技术学院", + "14257": "厦门安防科技职业学院", + "14258": "三峡旅游职业技术学院", + "14259": "沧州幼儿师范高等专科学校", + "14260": "宣化科技职业学院", + "14261": "山东文化产业职业学院", + "14262": "西南交通大学希望学院", + "14263": "东莞职业技术学院", + "14265": "广东南方职业学院", + "14266": "广州华商职业学院", + "14267": "重庆交通职业学院", + "14268": "广州华夏职业学院", + "14269": "浙江农业商贸职业学院", + "14270": "晋中师范高等专科学校", + "14271": "阳泉师范高等专科学校", + "14272": "黑龙江护理高等专科学校", + "14273": "桐城师范高等专科学校", + "14275": "浙江外国语学院", + "14276": "齐鲁师范学院", + "14277": "山东青年政治学院", + "14278": "广东第二师范学院", + "14279": "北京交通运输职业学院", + "14280": "廊坊燕京职业技术学院", + "14281": "承德护理职业学院", + "14282": "内蒙古工业职业学院", + "14283": "呼伦贝尔职业技术学院", + "14285": "满洲里俄语职业学院", + "14286": "辽宁冶金职业技术学院", + "14287": "辽宁工程职业学院", + "14288": "辽宁城市建设职业技术学院", + "14289": "辽宁医药职业学院", + "14290": "铁岭卫生职业学院", + "14291": "吉林科技职业技术学院", + "14293": "宿迁泽达职业技术学院", + "14295": "苏州工业园区服务外包职业学院", + "14296": "黄山职业技术学院", + "14297": "滁州城市职业学院", + "14298": "安徽汽车职业技术学院", + "14299": "皖西卫生职业学院", + "14300": "焦作工贸职业学院", + "14301": "许昌陶瓷职业学院", + "14302": "郑州理工职业学院", + "14303": "郑州信息工程职业学院", + "14305": "长垣烹饪职业技术学院", + "14306": "开封文化艺术职业学院", + "14307": "河南应用技术职业学院", + "14308": "河南艺术职业学院", + "14309": "湖南高尔夫旅游职业学院", + "14310": "湖南工商职业学院", + "14311": "广东环境保护工程职业学院", + "14312": "广西科技职业学院", + "14313": "广西卫生职业技术学院", + "14315": "重庆化工职业学院", + "14316": "重庆旅游职业学院", + "14317": "云南商务职业学院", + "14318": "榆林职业技术学院", + "14319": "甘肃机电职业技术学院", + "14320": "青岛远洋船员职业学院", + "14321": "江西工商职业技术学院", + "14322": "湖南三一工业职业技术学院", + "14323": "四川长江职业学院", + "14325": "南方科技大学", + "14327": "青岛电影学院", + "14328": "石家庄幼儿师范高等专科学校", + "14329": "徐州幼儿师范高等专科学校", + "14330": "合肥幼儿师范高等专科学校", + "14331": "泉州幼儿师范高等专科学校", + "14332": "济南幼儿师范高等专科学校", + "14333": "郑州升达经贸管理学院", + "14335": "廊坊卫生职业学院", + "14336": "山西青年职业学院", + "14337": "内蒙古能源职业学院", + "14338": "赤峰工业职业技术学院", + "14339": "阿拉善职业技术学院", + "14340": "延边职业技术学院", + "14342": "安徽扬子职业技术学院", + "14343": "济南护理职业学院", + "14345": "泰山护理职业学院", + "14346": "山东海事职业学院", + "14347": "潍坊护理职业学院", + "14348": "河南机电职业学院", + "14349": "河南护理职业学院", + "14350": "许昌电气职业学院", + "14351": "信阳涉外职业技术学院", + "14352": "鹤壁汽车工程职业学院", + "14353": "南阳职业学院", + "14355": "天门职业学院", + "14356": "湖北体育职业学院", + "14357": "襄阳汽车职业技术学院", + "14358": "长沙卫生职业学院", + "14359": "湖南食品药品职业学院", + "14360": "湖南有色金属职业技术学院", + "14361": "广东青年职业学院", + "14362": "广州东华职业学院", + "14363": "广东创新科技职业学院", + "14365": "重庆安全技术职业学院", + "14366": "重庆公共运输职业学院", + "14367": "重庆艺术工程职业学院", + "14368": "重庆轻工职业学院", + "14369": "重庆电信职业学院", + "14370": "重庆经贸职业学院", + "14371": "贵州盛华职业学院", + "14372": "昆明卫生职业学院", + "14373": "云南现代职业技术学院", + "14375": "甘肃有色冶金职业技术学院", + "14376": "白银矿冶职业技术学院", + "14377": "宁夏葡萄酒与防沙治沙职业技术学院", + "14378": "安徽黄梅戏艺术职业学院", + "14379": "潍坊工程职业学院", + "14380": "郑州商贸旅游职业学院", + "14381": "云南旅游职业学院", + "14382": "河南推拿职业学院", + "14383": "洛阳职业技术学院", + "14385": "沈阳北软信息职业技术学院", + "14386": "四川三河职业学院", + "14387": "内蒙古美术职业学院", + "14388": "重庆第二师范学院", + "14389": "成都师范学院", + "14390": "陕西学前师范学院", + "14391": "郑州幼儿师范高等专科学校", + "14392": "安阳幼儿师范高等专科学校", + "14393": "川北幼儿师范高等专科学校", + "14394": "上海民航职业技术学院", + "14395": "北京卫生职业学院", + "14396": "河北轨道运输职业技术学院", + "14397": "运城护理职业学院", + "14400": "齐齐哈尔理工职业学院", + "14401": "徐州生物工程职业技术学院", + "14402": "景德镇陶瓷职业技术学院", + "14403": "共青科技职业学院", + "14405": "郑州黄河护理职业学院", + "14406": "湖南吉利汽车职业技术学院", + "14407": "广东舞蹈戏剧职业学院", + "14408": "惠州卫生职业技术学院", + "14409": "四川卫生康复职业学院", + "14410": "四川电影电视学院", + "14411": "四川汽车职业技术学院", + "14412": "贵州工商职业学院", + "14413": "红河卫生职业学院", + "14415": "云南外事外语职业学院", + "14416": "新疆体育职业技术学院", + "14417": "新疆应用职业技术学院", + "14418": "安徽粮食工程职业学院", + "14419": "安徽卫生健康职业学院", + "14420": "合肥科技职业学院", + "14421": "新疆师范高等专科学校", + "14423": "上海科技大学", + "14425": "哈尔滨幼儿师范高等专科学校", + "14426": "吉林城市职业技术学院", + "14427": "广东信息工程职业学院", + "14428": "重庆幼儿师范高等专科学校", + "14430": "中国科学院大学", + "14431": "浙江特殊教育职业学院", + "14432": "河北中医学院", + "14434": "山西传媒学院", + "14435": "营口理工学院", + "14436": "江苏第二师范学院", + "14437": "南昌师范学院", + "14438": "山东管理学院", + "14439": "山东农业工程学院", + "14440": "贵州理工学院", + "14458": "张家口学院", + "14460": "保定幼儿师范高等专科学校", + "14461": "运城师范高等专科学校", + "14462": "朔州师范高等专科学校", + "14463": "内蒙古民族幼儿师范高等专科学校", + "14464": "辽宁民族师范高等专科学校", + "14465": "赣州师范高等专科学校", + "14466": "河南医学高等专科学校", + "14467": "湖北幼儿师范高等专科学校", + "14468": "湖南幼儿师范高等专科学校", + "14469": "贵阳幼儿师范高等专科学校", + "14470": "铜仁幼儿师范高等专科学校", + "14471": "河北工艺美术职业学院", + "14472": "渤海理工职业学院", + "14473": "辽宁轻工职业学院", + "14475": "江苏商贸职业学院", + "14476": "江西水利职业学院", + "14477": "菏泽职业学院", + "14478": "郑州财税金融职业学院", + "14479": "南阳农业职业学院", + "14480": "洛阳科技职业学院", + "14481": "广西培贤国际职业学院", + "14482": "重庆文化艺术职业学院", + "14483": "巴中职业技术学院", + "14484": "四川希望汽车职业学院", + "14485": "四川电子机械职业技术学院", + "14486": "四川文轩职业学院", + "14487": "大理农林职业技术学院", + "14488": "陕西艺术职业学院", + "14489": "新疆铁道职业技术学院", + "14490": "闽江师范高等专科学校", + "14491": "重庆科技职业学院", + "14492": "浙江安防职业技术学院", + "14493": "南通师范高等专科学校", + "14494": "宜春幼儿师范高等专科学校", + "14495": "湘南幼儿师范高等专科学校", + "14496": "川南幼儿师范高等专科学校", + "14497": "黔南民族幼儿师范高等专科学校", + "14498": "宁夏幼儿师范高等专科学校", + "14499": "毕节医学高等专科学校", + "14500": "吕梁职业技术学院", + "14501": "鄂尔多斯生态环境职业学院", + "14502": "皖北卫生职业学院", + "14503": "泉州工程职业技术学院", + "14504": "吉安职业技术学院", + "14505": "江西洪州职业学院", + "14506": "山东艺术设计职业学院", + "14507": "威海海洋职业学院", + "14508": "湖南劳动人事职业学院", + "14509": "广东生态工程职业学院", + "14510": "惠州城市职业学院", + "14511": "广东碧桂园职业学院", + "14512": "广西金融职业技术学院", + "14513": "四川护理职业学院", + "14514": "成都工业职业技术学院", + "14515": "四川西南航空职业学院", + "14516": "贵州建设职业技术学院", + "14517": "甘肃卫生职业学院", + "14518": "兰州科技职业学院", + "14519": "西宁城市职业技术学院", + "14520": "青海高等职业技术学院", + "14521": "青海柴达木职业技术学院", + "14522": "宁夏艺术职业学院", + "14523": "新疆生产建设兵团兴新职业技术学院", + "14524": "哈密职业技术学院", + "14525": "新疆科技职业技术学院", + "14526": "辽宁特殊教育师范高等专科学校", + "14527": "山西工程技术学院", + "14528": "扬州中瑞酒店职业学院", + "14529": "鹤壁能源化工职业学院", + "14530": "平顶山文化艺术职业学院", + "14531": "内蒙古艺术学院", + "14532": "鄂尔多斯应用技术学院", + "14534": "公安消防部队高等专科学校", + "14535": "浙江音乐学院", + "14536": "阜阳幼儿师范高等专科学校", + "14537": "江西师范高等专科学校", + "14538": "毕节幼儿师范高等专科学校", + "14539": "扎兰屯职业学院", + "14540": "黑龙江冰雪体育职业学院", + "14541": "江苏护理职业学院", + "14542": "江苏财会职业学院", + "14543": "江苏城乡建设职业学院", + "14544": "南昌影视传播职业学院", + "14545": "山东特殊教育职业学院", + "14546": "广西中远职业学院", + "14547": "成都工贸职业技术学院", + "14548": "四川应用技术职业学院", + "14549": "贵州农业职业学院", + "14550": "云南财经职业学院", + "14551": "庆阳职业技术学院", + "14552": "临夏现代职业学院", + "14553": "湖北铁道运输职业学院", + "14554": "武汉海事职业学院", + "14555": "长江艺术工程职业学院", + "14556": "广东茂名健康职业学院", + "14557": "重庆资源与环境保护职业学院", + "14558": "贵州工程职业学院", + "14559": "贵州工贸职业学院", + "14560": "哈尔滨音乐学院", + "14567": "吉林职业技术学院", + "14568": "江苏航空职业技术学院", + "14569": "赣南卫生健康职业学院", + "14570": "烟台黄金职业学院", + "14571": "荆门职业学院", + "14572": "广东酒店管理职业技术学院", + "14573": "玉柴职业技术学院", + "14574": "广西蓝天航空职业学院", + "14575": "海南体育职业技术学院", + "14576": "重庆护理职业学院", + "14577": "贵州水利水电职业技术学院", + "14578": "贵州电子商务职业技术学院", + "14579": "贵州应用技术职业学院", + "14580": "贵州电子科技职业学院", + "14581": "昆明铁道职业技术学院", + "14582": "昭通卫生职业学院", + "14583": "大理护理职业学院", + "14584": "云南水利水电职业学院", + "14585": "吐鲁番职业技术学院", + "14586": "唐山幼儿师范高等专科学校", + "14587": "广东茂名幼儿师范专科学校", + "14588": "北京网络职业学院", + "14589": "江苏安全技术职业学院", + "14590": "武汉铁路桥梁职业学院", + "14591": "武汉光谷职业学院", + "14592": "广州卫生职业技术学院", + "14594": "兰州现代职业学院", + "14595": "平凉职业技术学院", + "14596": "中国社会科学院大学", + "14597": "濮阳医学高等专科学校", + "14598": "驻马店幼儿师范高等专科学校", + "14599": "天津体育职业学院", + "14600": "天津滨海汽车工程职业学院", + "14601": "曹妃甸职业技术学院", + "14602": "吉林水利电力职业学院", + "14603": "长春健康职业学院", + "14604": "江苏旅游职业学院", + "14605": "日照航海工程职业学院", + "14606": "三门峡社会管理职业学院", + "14607": "河南轻工职业学院", + "14608": "河南测绘职业学院", + "14609": "惠州工程职业学院", + "14610": "广东江门中医药职业学院", + "14611": "广西安全工程职业技术学院", + "14612": "三亚中瑞酒店管理职业学院", + "14613": "贵州装备制造职业学院", + "14614": "贵州健康职业学院", + "14615": "贵州食品工程职业学院", + "14616": "贵州经贸职业技术学院", + "14617": "贵州护理职业技术学院", + "14618": "云南轻纺职业学院", + "14619": "云南特殊教育职业学院", + "14620": "云南工贸职业技术学院", + "14621": "云南交通运输职业学院", + "14622": "博尔塔拉职业技术学院", + "14623": "滇西应用技术大学", + "14624": "宁夏体育职业学院", + "14625": "茅台学院", + "14626": "西湖大学", + "14627": "大同师范高等专科学校", + "14628": "太原幼儿师范高等专科学校", + "14629": "西昌民族幼儿师范高等专科学校", + "14630": "六盘水幼儿师范高等专科学校", + "14631": "昆明幼儿师范高等专科学校", + "14632": "承德应用技术职业学院", + "14633": "哈尔滨北方航空职业技术学院", + "14634": "信阳航空职业学院", + "14635": "郑州卫生健康职业学院", + "14636": "河南物流职业学院", + "14637": "河南地矿职业学院", + "14638": "广东茂名农林科技职业学院", + "14639": "海南健康管理职业技术学院", + "14640": "眉山药科职业学院", + "14641": "天府新区信息职业学院", + "14642": "德阳城市轨道交通职业学院", + "14643": "德阳科贸职业学院", + "14644": "江阳城建职业学院", + "14645": "天府新区航空旅游职业学院", + "14646": "天府新区通用航空职业学院", + "14647": "阿坝职业学院", + "14648": "毕节工业职业技术学院", + "14649": "云南医药健康职业学院", + "14650": "神木职业技术学院", + "14651": "宝鸡三和职业学院", + "14652": "和田职业技术学院", + "14654": "郑州西亚斯学院", + "14655": "深圳技术大学", + "14656": "萍乡卫生职业学院", + "14657": "江西婺源茶业职业学院", + "14660": "铁门关职业技术学院", + "14661": "石河子工程职业技术学院", + "14662": "辽宁师范高等专科学校", + "14663": "怀化师范高等专科学校", + "14664": "广东江门幼儿师范高等专科学校", + "14665": "赣州职业技术学院", + "14666": "青岛工程职业学院", + "14667": "广东财贸职业学院", + "14668": "广西自然资源职业技术学院", + "14669": "达州中医药职业学院", + "14670": "内江卫生与健康职业学院", + "14671": "南充科技职业学院", + "14672": "攀枝花攀西职业学院", + "14673": "资阳口腔职业学院", + "14674": "资阳环境科技职业学院", + "14675": "云南理工职业学院", + "14676": "曲靖职业技术学院", + "14677": "喀什职业技术学院", + "14678": "克孜勒苏职业技术学院", + "14679": "新疆科信职业技术学院", + "14680": "阿勒泰职业技术学院", + "14681": "山西工程职业学院", + "14682": "安徽艺术学院", + "14683": "福建技术师范学院", + "14684": "广西职业师范学院", + "14685": "郑州亚欧交通职业学院", + "14686": "邯郸幼儿师范高等专科学校", + "14687": "长治幼儿师范高等专科学校", + "14688": "青岛幼儿师范高等专科学校", + "14689": "烟台幼儿师范高等专科学校", + "14690": "永州师范高等专科学校", + "14691": "衡阳幼儿师范高等专科学校", + "14692": "长沙幼儿师范高等专科学校", + "14693": "钦州幼儿师范高等专科学校", + "14694": "梧州医学高等专科学校", + "14695": "邯郸科技职业学院", + "14696": "唐山海运职业学院", + "14697": "山西通用航空职业技术学院", + "14698": "朔州陶瓷职业技术学院", + "14699": "赤峰应用技术职业学院", + "14700": "鞍山职业技术学院", + "14701": "长春早期教育职业学院", + "14702": "梅河口康美职业技术学院", + "14703": "浙江宇翔职业技术学院", + "14704": "黄山健康职业学院", + "14705": "南昌健康职业技术学院", + "14706": "九江理工职业学院", + "14707": "烟台文化旅游职业学院", + "14708": "临沂科技职业学院", + "14709": "青岛航空科技职业学院", + "14710": "潍坊环境工程职业学院", + "14711": "河南女子职业学院", + "14712": "河南对外经济贸易职业学院", + "14713": "濮阳石油化工职业技术学院", + "14714": "南阳科技职业学院", + "14715": "兰考三农职业学院", + "14716": "汝州职业技术学院", + "14717": "林州建筑职业技术学院", + "14718": "郑州电子商务职业学院", + "14719": "郑州轨道工程职业学院", + "14720": "郑州体育职业学院", + "14721": "湖北健康职业学院", + "14722": "广西制造工程职业技术学院", + "14723": "广西物流职业技术学院", + "14724": "海南卫生健康职业学院", + "14725": "重庆理工职业学院", + "14726": "重庆智能工程职业学院", + "14727": "重庆健康职业学院", + "14728": "南充文化旅游职业学院", + "14729": "南充电影工业职业学院", + "14730": "绵阳飞行职业学院", + "14731": "德阳农业科技职业学院", + "14732": "泸州医疗器械职业学院", + "14733": "贵州机电职业技术学院", + "14734": "贵州财经职业学院", + "14735": "贵州民用航空职业学院", + "14736": "红河职业技术学院", + "14737": "榆林能源科技职业学院", + "14738": "培黎职业学院", + "14739": "石嘴山工贸职业技术学院", + "14740": "塔城职业技术学院", + "14741": "塔里木职业技术学院", + "14742": "邢台应用技术职业学院", + "14743": "吉林通用航空职业技术学院", + "14744": "通化医药健康职业学院", + "14745": "上海南湖职业技术学院", + "14746": "浙江金华科贸职业技术学院", + "14747": "宿州航空职业学院", + "14748": "和君职业学院", + "14749": "滨州科技职业学院", + "14750": "洛阳文化旅游职业学院", + "14751": "周口文理职业学院", + "14752": "信阳艺术职业学院", + "14753": "郑州城建职业学院", + "14754": "郑州医药健康职业学院", + "14755": "湖北孝感美珈职业学院", + "14756": "广州幼儿师范高等专科学校", + "14757": "广东汕头幼儿师范高等专科学校", + "14758": "广东梅州职业技术学院", + "14759": "广东潮州卫生健康职业学院", + "14760": "广东云浮中医药职业学院", + "14761": "广东肇庆航空职业学院", + "14762": "防城港职业技术学院", + "14763": "广西信息职业技术学院", + "14764": "广西农业工程职业技术学院", + "14765": "北海康养职业学院", + "14766": "重庆工信职业学院", + "14767": "甘孜职业学院", + "14768": "自贡职业技术学院", + "14769": "贵州文化旅游职业学院", + "14770": "宝鸡中北职业学院", + "14771": "兰州航空职业技术学院", + "14772": "白银希望职业技术学院", + "15312": "上饶幼儿师范高等专科学校", + "15335": "长春师范高等专科学校", + "15466": "盐城幼儿师范高等专科学校", + "15496": "湘中幼儿师范高等专科学校", + "15519": "抚州幼儿师范高等专科学校", + "15583": "苏州幼儿师范高等专科学校", + "16201": "山西工程科技职业大学", + "16202": "河北石油职业技术大学", + "16203": "河北科技工程职业技术大学", + "16204": "河北工业职业技术大学", + "16205": "广西农业职业技术大学", + "16206": "贵阳康养职业大学", + "16207": "浙江药科职业大学", + "16208": "兰州资源环境职业技术大学", + "16209": "兰州石化职业技术大学", + "16301": "宁波诺丁汉大学", + "16401": "北京师范大学-香港浸会大学联合国际学院", + "16402": "长江商学院", + "16403": "西交利物浦大学", + "16404": "上海纽约大学", + "16405": "温州肯恩大学", + "16406": "昆山杜克大学", + "16407": "香港中文大学(深圳)", + "16408": "浙江舟山群岛新区旅游与健康职业学院", + "16409": "深圳北理莫斯科大学", + "16410": "广东以色列理工学院", + "16411": "福州墨尔本理工职业学院", + "18213": "哈尔滨工业大学(深圳)", + "19027": "北京师范大学(珠海校区)", + "19145": "东北大学秦皇岛分校", + "19213": "哈尔滨工业大学(威海)", + "19414": "中国石油大学(北京)克拉玛依校区", + "19422": "山东大学威海分校", + "19802": "北京吉利学院", + "50028": "北京警察学院", + "50083": "陕西航天职工大学", + "50084": "陕西机电职业技术学院", + "50085": "陕西青年职业学院", + "50139": "河北地质职工大学", + "50166": "山西卫生健康职业学院", + "50252": "吉林省教育学院", + "50337": "黑龙江农垦管理干部学院", + "50343": "黑龙江省政法管理干部学院", + "50344": "黑龙江省教育学院", + "50559": "宁波幼儿师范高等专科学校", + "50561": "金华教育学院", + "50581": "安徽经济管理干部学院", + "50591": "福建教育学院", + "50607": "南昌钢铁有限责任公司职工大学", + "50649": "山东省经济管理干部学院", + "50680": "第一拖拉机制造厂拖拉机学院", + "50709": "平顶山职业技术学院", + "50763": "荆州教育学院", + "50788": "株洲市职工大学", + "50793": "湖南航空工业职工工学院", + "50810": "长沙教育学院", + "50812": "湘潭教育学院", + "50853": "湛江幼儿师范专科学校", + "50870": "广西教育学院", + "50881": "广元中核职业技术学院", + "50963": "贵州航空职业技术学院", + "50966": "聊城教育学院", + "50990": "西安飞机工业公司职工工学院", + "51006": "西安铁路工程职工大学", + "51009": "西安电力机械制造公司机电学院", + "51010": "陕西省建筑工程总公司职工大学", + "51038": "兰州航空职业技术学院", + "51060": "新疆工业职业技术学院", + "51177": "河北广播电视大学", + "51180": "石家庄职工大学", + "51189": "山西能源学院", + "51243": "吉林省经济管理干部学院", + "51255": "江苏开放大学", + "51257": "江苏省省级机关管理干部学院", + "51283": "南昌教育学院", + "51285": "江西经济管理干部学院", + "51340": "广西政法管理干部学院", + "51351": "四川体育职业学院", + "51373": "陕西工运学院", + "51378": "甘肃财贸职业学院", + "51614": "上海工会管理职业学院", + "51675": "崇左幼儿师范高等专科学校", + "51721": "河北环境工程学院", + "51723": "河北管理干部学院", + "51787": "山西省政法管理干部学院", + "51802": "河北青年管理干部学院", + "51828": "江苏省青年管理干部学院", + "80000": "中共中央党校", + "80002": "中科院数学与系统科学研究院", + "80005": "中国科学院武汉岩土力学研究所", + "80007": "中国科学院力学研究所", + "80008": "中国科学院物理研究所", + "80009": "中科院高能物理所", + "80010": "中国科学院声学研究所", + "80012": "中科院理论物理所", + "80014": "中国科学院上海应用物理研究所", + "80017": "中科院近代物理研究所", + "80018": "中科院南京天文光学技术研究所", + "80020": "中国科学院武汉物理与数学研究所", + "80021": "中国科学院紫金山天文台", + "80022": "中国科学院上海天文台", + "80023": "中科院云南天文台", + "80024": "中国科学院国家授时中心", + "80025": "中国科学院国家天文台", + "80026": "中国科学院声学研究所东海研究站", + "80028": "中科院新疆理化技术研究所", + "80029": "中国科学院自然科学史研究所", + "80030": "中国科学院理化技术研究所", + "80032": "中科院化学研究所", + "80035": "中国科学院上海有机化学所", + "80036": "中国科学院成都有机化学研究所", + "80037": "中国科学院长春应用化学研究所", + "80038": "中科院大连化学物理所", + "80039": "中国科学院兰州化物所", + "80040": "中国科学院上海硅酸盐研究所", + "80041": "中科院过程工程所", + "80042": "中科院生态环境中心", + "80043": "中国科学院山西煤炭化学研究所", + "80045": "中国科学院福建物质结构研究所", + "80046": "中国科学院盐湖研究所", + "80047": "中国科学院青海盐湖研究所", + "80053": "中科院兰州地质研究所", + "80054": "中科院古脊椎所", + "80055": "中科院南京地质古生物研究所", + "80057": "中国科学院测量与地球物理研究所", + "80058": "中国科学院大气物理研究所", + "80060": "中国科学院地理科学与资源研究所", + "80061": "中科院南京地理与湖泊研究所", + "80062": "中国科学院东北地理与农业生态研究所", + "80063": "中科院成都山地灾害与环境研究所", + "80065": "中国科学院地球化学研究所", + "80068": "中国科学院海洋研究所", + "80070": "遥感应用研究所", + "80073": "空间科学与应用研究中心", + "80074": "中科院中国遥感卫星地面站", + "80075": "中科院地质与地球物理研究所", + "80076": "中科院寒区旱区环境与工程研究所", + "80080": "南京天文仪器研制中心", + "80102": "中国科学院新疆生态与地理研究所", + "80103": "中科院动物研究所", + "80104": "中国科学院昆明动物研究所", + "80105": "中科院植物研究所", + "80106": "中科院昆明植物研究所", + "80108": "中国科学院武汉植物园", + "80110": "中科院成都生物研究所", + "80112": "中国科学院生物物理研究所", + "80113": "中科院微生物所", + "80119": "中国科学院水生生物研究所", + "80121": "中国科学院遗传与发育生物学研究所", + "80122": "中国科学院西北高原生物研究所", + "80123": "中国科学院上海药物研究所", + "80124": "中国科学院武汉病毒研究所", + "80125": "中科院心理研究所", + "80126": "中国科学院南京土壤研究所", + "80127": "中科院沈阳应用生态所", + "80128": "中国科学院西双版纳热带植物园", + "80129": "中国科学院水土保持与生态环境研究中心", + "80132": "中国科学院计算技术研究所", + "80133": "中科院沈阳计算技术所", + "80135": "中国科学院工程热物理研究所", + "80136": "中科院半导体所", + "80137": "中科院电子学所", + "80138": "中科院上海微系统与信息技术所", + "80139": "中科院长春光学精密机械与物理研究所", + "80140": "中国科学院上海光学精密机械研究所", + "80142": "中科院西安光学精密机械研究所", + "80143": "中国科学院上海技术物理研究所", + "80144": "中科院金属研究所", + "80146": "中科院自动化所", + "80147": "中科院沈阳自动化所", + "80148": "中科院电工研究所", + "80150": "中科院软件研究所", + "80151": "中国科学院光电技术研究所", + "80153": "中科院成都计算机应用研究所", + "80155": "中科院文献情报中心", + "80156": "中科院遗传发育所农业资源中心", + "80158": "中科院地球环境研究所", + "80159": "中科院微电子研究所", + "80160": "中国科学院计算机网络信息中心", + "80162": "中国科学院亚热带农业生态研究所", + "80163": "中科院南京天文仪器研制中心", + "80164": "科技政策与管理科学研究所", + "80166": "中科院国家天文台乌鲁木齐天文站", + "80167": "中国科学院北京基因组研究所", + "80168": "中国科学院合肥物质科学研究院", + "80176": "中国科学院上海免疫与感染研究所", + "80177": "中国科学院深圳先进技术研究院", + "80184": "中国科学院上海高等研究院", + "80189": "中国科学院分子细胞科学卓越创新中心", + "80190": "中国科学院脑科学与智能技术卓越创新中心", + "80191": "中国科学院分子植物科学卓越创新中心", + "80192": "中国科学院上海营养与健康研究所", + "80193": "中国科学院微小卫星创新研究院", + "80201": "中国社会科学院研究生院", + "80202": "国家行政学院", + "80401": "北京国家会计学院", + "80402": "上海国家会计学院", + "80403": "厦门国家会计学院", + "80901": "中国科学技术信息研究所", + "81601": "中国财政科学研究院", + "82001": "商务部国际贸易经济合作研究院", + "82101": "中国农业科学院研究生院", + "82110": "中国兽医药品监察所", + "82201": "中国林业科学研究院", + "82301": "中国水利水电科学研究院", + "82302": "中国电力科学研究院", + "82303": "国网电力科学研究院", + "82304": "西安热工研究院", + "82305": "长江科学院", + "82306": "南京水利科学研究院", + "82401": "中国建筑科学研究院", + "82402": "中国城市规划设计研究院", + "82403": "中国建筑设计研究院", + "82405": "中国环境科学研究院", + "82501": "中国地质科学院", + "82601": "钢铁研究总院", + "82602": "中冶集团建筑研究总院", + "82603": "长沙矿冶研究院", + "82604": "中钢集团马鞍山矿山研究院", + "82605": "冶金自动化研究设计院", + "82606": "洛阳耐火材料研究院", + "82608": "中钢集团天津地质研究院有限公司", + "82609": "中钢集团武汉安全环保研究院", + "82701": "机械科学研究总院", + "82702": "北京机械工业自动化研究所", + "82703": "北京机电研究所", + "82705": "沈阳铸造研究所", + "82706": "机械科学研究院哈尔滨焊接研究所", + "82707": "上海材料研究所", + "82708": "郑州机械研究所", + "82709": "武汉材料保护研究所", + "82715": "中国农业机械化科学研究院", + "82717": "上海发电设备成套设计研究院", + "82718": "上海内燃机研究所", + "82720": "洛阳船舶材料研究所", + "82721": "郑州机电工程研究所", + "82801": "中国原子能科学研究院", + "82802": "中国核动力研究设计院", + "82803": "核工业第二研究设计院", + "82804": "核工业理化工程研究院", + "82805": "上海核工程研究设计院", + "82806": "核工业北京地质研究院", + "82807": "核工业北京化工冶金研究院", + "82808": "中国辐射防护研究院", + "82809": "核工业西南物理研究院", + "82818": "中国工程物理研究院", + "82901": "中国航空研究院", + "82902": "北京航空精密机械研究所", + "82903": "中国航空研究院 601 所", + "82904": "中国航空工业总公司第 603 研究所", + "82905": "中国航空研究院 606 所", + "82906": "中国航空研究院 611 研究所", + "82907": "中国空空导弹研究院", + "82908": "中国航空研究院 613 所", + "82909": "中国航空研究院 623 所", + "82910": "中国航空研究院第六二四研究所", + "82911": "中国飞行试验研究院", + "82912": "中国航空研究院 631 所", + "82913": "北京航空材料研究院", + "82914": "中国航空制造技术研究院", + "82920": "中国航空工业规划设计研究院", + "82925": "中国航发湖南动力机械研究所", + "82927": "中国航空研究院 609 所", + "82928": "中国航空研究院 627 研究所", + "82929": "中国航空研究院 626 所", + "82931": "中国航空工业总公司第 628 研究所", + "82932": "北京长城计量测试技术研究所", + "82936": "中国航空研究院 618 所", + "82937": "中国航空研究院 640 所", + "82938": "中国航空研究院 602 所", + "82961": "中国航空研究院 610 所", + "83000": "中国电子科技集团公司电子科学研究院", + "83001": "华北计算机系统工程研究所", + "83002": "华北计算技术研究所", + "83003": "北京真空电子技术研究所", + "83004": "河北半导体研究所", + "83005": "南京电子技术研究所", + "83006": "中国电波传播研究所", + "83007": "南京电子器件研究所", + "83008": "西南通信研究所", + "83009": "华东计算技术研究所", + "83010": "通信测控技术研究所", + "83011": "华北光电技术研究所", + "83101": "西安近代化学研究所", + "83102": "内蒙古金属材料研究所", + "83103": "西安应用光学研究所", + "83104": "昆明物理研究所", + "83105": "西南技术物理研究所", + "83106": "北方自动控制技术研究所", + "83107": "中国北方车辆研究所", + "83109": "西安机电信息技术研究所", + "83110": "陕西应用物理化学研究所", + "83111": "中国兵器工业第 202 研究所", + "83112": "中国兵器工业第 203 研究所", + "83113": "中国兵器工业第 206 研究所", + "83114": "西南自动化研究所", + "83115": "山东非金属材料研究所", + "83116": "中国兵器装备研究院", + "83201": "中国运载火箭技术研究院", + "83221": "中国航天科工集团第二研究院", + "83232": "中国航天系统科学与工程研究院", + "83233": "中国航天科技集团公司第十六研究所", + "83241": "中国航天科工集团第三研究院", + "83245": "中国航天科工集团三院 8357 研究所", + "83246": "中国航天科工集团三院 8358 研究所", + "83256": "航天动力技术研究院", + "83258": "中国航天科技集团公司第四研究院 42 所", + "83266": "中国空间技术研究院", + "83269": "中国空间技术研究院 504 所", + "83271": "中国空间技术研究院兰州空间技术物理研究所", + "83276": "中国航天工业总公司西安微电子技术研究所", + "83277": "中国航天空气动力技术研究院", + "83278": "中国航天科技集团有限公司第六研究院第十一研究所", + "83285": "上海航天技术研究院", + "83286": "中国航天科工集团第十研究院", + "83301": "煤炭科学研究总院", + "83303": "煤科院上海分院", + "83304": "煤科院抚顺分院", + "83306": "煤科院西安分院", + "83307": "煤科院唐山分院", + "83309": "煤科院北京建井研究所", + "83310": "煤科院北京煤化研究所", + "83311": "煤科院北京开采研究所", + "83401": "中国石油勘探开发研究院", + "83501": "北京化工研究院", + "83502": "上海化工研究院", + "83503": "沈阳化工研究院", + "83504": "北京橡胶工业研究设计院", + "83505": "天华化工机械及自动化研究设计院有限公司", + "83702": "北京市科学技术研究院资源环境研究所", + "83704": "中国日用化学工业研究院", + "83705": "中国食品发酵工业研究院", + "83706": "中国制浆造纸研究院有限公司", + "83801": "中国铁道科学研究院", + "83901": "上海船舶运输科学研究所", + "83902": "交通运输部公路科学研究所", + "84001": "电信科学技术研究院", + "84002": "电信科学技术第一研究所", + "84003": "电信科学技术第四研究所", + "84004": "电信科学技术第五研究所", + "84011": "武汉邮电科学研究院", + "84201": "中国艺术研究院", + "84202": "中国电影艺术研究中心", + "84501": "中国疾病预防控制中心", + "84502": "中国中医科学院", + "84503": "中国食品药品检定研究院", + "84504": "北京生物制品研究所", + "84505": "上海生物制品研究所", + "84506": "武汉生物制品研究所", + "84507": "兰州生物制品研究所", + "84508": "中日友好临床医学研究所", + "84509": "长春生物制品研究所", + "84512": "卫生部北京老年医学研究所", + "84601": "国家体育总局体育科学研究所", + "84901": "中国建筑材料科学研究总院", + "85101": "中国气象科学研究院", + "85301": "自然资源部第一海洋研究所", + "85302": "自然资源部第二海洋研究所", + "85303": "自然资源部第三海洋研究所", + "85304": "国家海洋环境预报中心", + "85305": "国家海洋技术中心", + "85401": "中国地震局地球物理研究所", + "85402": "中国地震局地质研究所", + "85403": "中国地震局兰州地震研究所", + "85404": "中国地震局地震研究所", + "85405": "中国地震局地震预测研究所", + "85406": "中国地震局工程力学研究所", + "85407": "应急管理部国家自然灾害防治研究院", + "85801": "中国计量科学研究院", + "85802": "中国测绘科学研究院", + "85901": "中国医药工业研究总院", + "85902": "四川抗菌素工业研究所", + "86201": "中国舰船研究院", + "86202": "武汉数字工程研究所", + "86203": "中国舰船研究设计中心", + "86204": "杭州应用声学研究所", + "86205": "中国船舶科学研究中心", + "86206": "中国船舶及海洋工程设计研究院", + "86207": "上海船舶设备研究所", + "86208": "上海船用柴油机研究所", + "86209": "哈尔滨船舶锅炉涡轮机研究所", + "86210": "江苏自动化研究所", + "86211": "天津航海仪器研究所", + "86212": "西安精密机械研究所", + "86215": "武汉船用电力推进装置研究所", + "86216": "武汉华中光电技术研究所", + "86217": "武汉船舶通信研究所", + "86218": "武汉第二船舶设计研究所", + "86219": "上海船舶电子设备研究所", + "86220": "大连测控技术研究所", + "86221": "中国舰船研究院邯郸净化设备研究所", + "86222": "中国舰船研究院宜昌测试技术研究所", + "86223": "扬州船用电子仪器研究所", + "86224": "南京船舶雷达研究所", + "86301": "中国石油化工股份有限公司石油化工科学研究院", + "86401": "昆明贵金属研究所", + "86402": "北京矿冶研究总院", + "86403": "北京有色金属研究总院", + "86404": "长沙矿山研究院", + "86406": "中共广东省委党校", + "86601": "郑州烟草研究院", + "87102": "北京市科学技术研究院城市安全与环境科学研究所", + "87103": "北京市生态环境保护科学研究院", + "87110": "北京市心肺血管疾病研究所", + "87111": "北京市市政工程研究院", + "87112": "北京市结核病胸部肿瘤研究所", + "87113": "北京市创伤骨科研究所", + "87120": "首都儿科研究所", + "87401": "山西省中医药研究院", + "87801": "黑龙江省中医药科学院", + "87802": "黑龙江省社会科学院", + "87804": "黑龙江省科学院", + "87901": "上海市计算技术研究所", + "87902": "上海国际问题研究院", + "87903": "上海社会科学院", + "88001": "江苏省植物研究所", + "88002": "江苏省血吸虫病防治研究所", + "88101": "浙江省医学科学院", + "88701": "湖北省社会科学院", + "88901": "广东省社会科学院", + "88911": "广东省心血管病研究所", + "89101": "四川省社会科学院", + "89611": "中共北京市委党校", + "89621": "中共辽宁省委党校", + "89622": "中共吉林省委党校", + "89623": "中共黑龙江省委党校", + "89631": "中共上海市委党校", + "89632": "中共江苏省委党校", + "89633": "中共浙江省委党校", + "89637": "中共山东省委党校", + "89642": "中共湖北省委党校", + "89643": "中共湖南省委党校", + "89651": "中共四川省委党校", + "89655": "中共重庆市委党校", + "89661": "中共陕西省委党校", + "90106": "军事医学科学院", + "91001": "国防大学", + "91002": "国防科技大学", + "91004": "陆军工程大学", + "91012": "陆军军医大学", + "91014": "中国人民解放军陆军勤务学院", + "91016": "海军工程大学", + "91020": "海军军医大学", + "91024": "中国人民解放军空军工程大学", + "91030": "空军军医大学", + "91034": "火箭军工程大学", + "91036": "航天工程大学", + "91037": "中国人民解放军战略支援部队信息工程大学", + "91101": "军事科学院", + "91102": "解放军医学院" + } +} diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/layouts/default.vue b/src/layouts/default.vue new file mode 100644 index 0000000..efb8688 --- /dev/null +++ b/src/layouts/default.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/layouts/home.vue b/src/layouts/home.vue new file mode 100644 index 0000000..630a183 --- /dev/null +++ b/src/layouts/home.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..6b3d083 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,15 @@ +import { createPinia } from 'pinia' +import { createSSRApp } from 'vue' +import App from './App.vue' +import './static/main.css' +import 'uno.css' + +export function createApp() { + const app = createSSRApp(App) + const pinia = createPinia() + app.use(pinia) + return { + app, + pinia, + } +} diff --git a/src/pages/agent-manage-agreement.vue b/src/pages/agent-manage-agreement.vue new file mode 100644 index 0000000..3120687 --- /dev/null +++ b/src/pages/agent-manage-agreement.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/pages/agent-promote-details.vue b/src/pages/agent-promote-details.vue new file mode 100644 index 0000000..f18c932 --- /dev/null +++ b/src/pages/agent-promote-details.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/pages/agent-rewards-details.vue b/src/pages/agent-rewards-details.vue new file mode 100644 index 0000000..b9f41ff --- /dev/null +++ b/src/pages/agent-rewards-details.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/src/pages/agent-service-agreement.vue b/src/pages/agent-service-agreement.vue new file mode 100644 index 0000000..1197831 --- /dev/null +++ b/src/pages/agent-service-agreement.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/pages/agent-vip-apply.vue b/src/pages/agent-vip-apply.vue new file mode 100644 index 0000000..81018bf --- /dev/null +++ b/src/pages/agent-vip-apply.vue @@ -0,0 +1,1099 @@ + + + + + diff --git a/src/pages/agent-vip-config.vue b/src/pages/agent-vip-config.vue new file mode 100644 index 0000000..ca98560 --- /dev/null +++ b/src/pages/agent-vip-config.vue @@ -0,0 +1,669 @@ + + + + + diff --git a/src/pages/agent-vip.vue b/src/pages/agent-vip.vue new file mode 100644 index 0000000..88881f3 --- /dev/null +++ b/src/pages/agent-vip.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/pages/agent.vue b/src/pages/agent.vue new file mode 100644 index 0000000..946ccb8 --- /dev/null +++ b/src/pages/agent.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/pages/authorization.vue b/src/pages/authorization.vue new file mode 100644 index 0000000..690486b --- /dev/null +++ b/src/pages/authorization.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/pages/cancel-account.vue b/src/pages/cancel-account.vue new file mode 100644 index 0000000..b1305f3 --- /dev/null +++ b/src/pages/cancel-account.vue @@ -0,0 +1,472 @@ + + + + + + + diff --git a/src/pages/help-detail.vue b/src/pages/help-detail.vue new file mode 100644 index 0000000..2b4dc9f --- /dev/null +++ b/src/pages/help-detail.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/pages/help-guide.vue b/src/pages/help-guide.vue new file mode 100644 index 0000000..32b50e4 --- /dev/null +++ b/src/pages/help-guide.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/pages/help.vue b/src/pages/help.vue new file mode 100644 index 0000000..d8b0982 --- /dev/null +++ b/src/pages/help.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/pages/history-query.vue b/src/pages/history-query.vue new file mode 100644 index 0000000..9518a5c --- /dev/null +++ b/src/pages/history-query.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/pages/index.vue b/src/pages/index.vue new file mode 100644 index 0000000..42318c4 --- /dev/null +++ b/src/pages/index.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/pages/inquire.vue b/src/pages/inquire.vue new file mode 100644 index 0000000..d629c8f --- /dev/null +++ b/src/pages/inquire.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/pages/invitation-agent-apply.vue b/src/pages/invitation-agent-apply.vue new file mode 100644 index 0000000..3afb8e7 --- /dev/null +++ b/src/pages/invitation-agent-apply.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/src/pages/invitation.vue b/src/pages/invitation.vue new file mode 100644 index 0000000..9ce93dd --- /dev/null +++ b/src/pages/invitation.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/pages/login.vue b/src/pages/login.vue new file mode 100644 index 0000000..88916d0 --- /dev/null +++ b/src/pages/login.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/src/pages/me.vue b/src/pages/me.vue new file mode 100644 index 0000000..1fb0b93 --- /dev/null +++ b/src/pages/me.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/src/pages/not-found.vue b/src/pages/not-found.vue new file mode 100644 index 0000000..887d05f --- /dev/null +++ b/src/pages/not-found.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/src/pages/payment-result.vue b/src/pages/payment-result.vue new file mode 100644 index 0000000..0246aa4 --- /dev/null +++ b/src/pages/payment-result.vue @@ -0,0 +1,549 @@ + + + + + diff --git a/src/pages/privacy-policy.vue b/src/pages/privacy-policy.vue new file mode 100644 index 0000000..558b32c --- /dev/null +++ b/src/pages/privacy-policy.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/pages/promote.vue b/src/pages/promote.vue new file mode 100644 index 0000000..bfca608 --- /dev/null +++ b/src/pages/promote.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/src/pages/promotion-inquire.vue b/src/pages/promotion-inquire.vue new file mode 100644 index 0000000..30d07f4 --- /dev/null +++ b/src/pages/promotion-inquire.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/pages/report-example-webview.vue b/src/pages/report-example-webview.vue new file mode 100644 index 0000000..4a138e0 --- /dev/null +++ b/src/pages/report-example-webview.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/pages/report-result-webview.vue b/src/pages/report-result-webview.vue new file mode 100644 index 0000000..5e67a46 --- /dev/null +++ b/src/pages/report-result-webview.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/pages/report-share.vue b/src/pages/report-share.vue new file mode 100644 index 0000000..a38902e --- /dev/null +++ b/src/pages/report-share.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/pages/subordinate-detail.vue b/src/pages/subordinate-detail.vue new file mode 100644 index 0000000..d2af643 --- /dev/null +++ b/src/pages/subordinate-detail.vue @@ -0,0 +1,353 @@ + + + + + diff --git a/src/pages/subordinate-list.vue b/src/pages/subordinate-list.vue new file mode 100644 index 0000000..6174305 --- /dev/null +++ b/src/pages/subordinate-list.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/src/pages/user-agreement.vue b/src/pages/user-agreement.vue new file mode 100644 index 0000000..aff1b72 --- /dev/null +++ b/src/pages/user-agreement.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/pages/withdraw-details.vue b/src/pages/withdraw-details.vue new file mode 100644 index 0000000..f9e3b29 --- /dev/null +++ b/src/pages/withdraw-details.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/src/pages/withdraw.vue b/src/pages/withdraw.vue new file mode 100644 index 0000000..78c92f2 --- /dev/null +++ b/src/pages/withdraw.vue @@ -0,0 +1,556 @@ + + + + + diff --git a/src/shims.d.ts b/src/shims.d.ts new file mode 100644 index 0000000..7b3f972 --- /dev/null +++ b/src/shims.d.ts @@ -0,0 +1,6 @@ +export {} + +declare module 'vue' { + type Hooks = App.AppInstance & Page.PageInstance + interface ComponentCustomOptions extends Hooks {} +} diff --git a/src/static/base.css b/src/static/base.css new file mode 100644 index 0000000..cdad13a --- /dev/null +++ b/src/static/base.css @@ -0,0 +1,26 @@ +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} +html { + margin: auto !important; + @apply max-w-lg; + /* 确保在缩放时保持响应式 */ + min-width: 320px; +} +body { + background-color: #f8f8f8; + min-height: 100vh; + transition: color 0.5s, background-color 0.5s; + line-height: 1.6; + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/src/static/colors.css b/src/static/colors.css new file mode 100644 index 0000000..4551dea --- /dev/null +++ b/src/static/colors.css @@ -0,0 +1,220 @@ +/* + * 统一颜色变量管理文件 + * 用于规范化项目中的所有颜色使用 + * 支持主题切换和颜色统一管理 + */ + +:root { + /* ===== 主题色系 ===== */ + --color-primary: #5d7eeb; + --color-primary-50: #f0f3ff; + --color-primary-100: #e1e8ff; + --color-primary-200: #c3d1ff; + --color-primary-300: #a5baff; + --color-primary-400: #87a3ff; + --color-primary-500: #5d7eeb; + --color-primary-600: #4a63bc; + --color-primary-700: #38488d; + --color-primary-800: #252d5e; + --color-primary-900: #13122f; + + /* 主题色透明度变体 */ + --color-primary-light: rgba(93, 126, 235, 0.1); + --color-primary-medium: rgba(93, 126, 235, 0.15); + --color-primary-dark: rgba(93, 126, 235, 0.8); + + /* ===== 语义化颜色 ===== */ + --color-success: #07c160; + --color-success-50: #f0f9f0; + --color-success-100: #e1f5e1; + --color-success-200: #c3ebc3; + --color-success-300: #a5e1a5; + --color-success-400: #87d787; + --color-success-500: #07c160; + --color-success-600: #059a4c; + --color-success-700: #047338; + --color-success-800: #024c24; + --color-success-900: #012510; + --color-success-light: rgba(7, 193, 96, 0.1); + --color-success-dark: rgba(7, 193, 96, 0.8); + + --color-warning: #ff976a; + --color-warning-50: #fff5f0; + --color-warning-100: #ffebe1; + --color-warning-200: #ffd7c3; + --color-warning-300: #ffc3a5; + --color-warning-400: #ffaf87; + --color-warning-500: #ff976a; + --color-warning-600: #cc7955; + --color-warning-700: #995b40; + --color-warning-800: #663d2a; + --color-warning-900: #331f15; + --color-warning-light: rgba(255, 151, 106, 0.1); + --color-warning-dark: rgba(255, 151, 106, 0.8); + + --color-danger: #ee0a24; + --color-danger-light: rgba(238, 10, 36, 0.1); + --color-danger-dark: rgba(238, 10, 36, 0.8); + + --color-info: #1989fa; + --color-info-light: rgba(25, 137, 250, 0.1); + --color-info-dark: rgba(25, 137, 250, 0.8); + + /* ===== 中性色系 ===== */ + --color-gray-50: #fafafa; + --color-gray-100: #f5f5f5; + --color-gray-200: #e5e5e5; + --color-gray-300: #d4d4d4; + --color-gray-400: #a3a3a3; + --color-gray-500: #737373; + --color-gray-600: #525252; + --color-gray-700: #404040; + --color-gray-800: #262626; + --color-gray-900: #171717; + + /* ===== 文本颜色 ===== */ + --color-text-primary: #323233; + --color-text-secondary: #646566; + --color-text-tertiary: #969799; + --color-text-quaternary: #c8c9cc; + --color-text-disabled: #c8c9cc; + --color-text-white: #ffffff; + + /* ===== 背景颜色 ===== */ + --color-bg-primary: #ffffff; + --color-bg-secondary: #fafafa; + --color-bg-tertiary: #f8f8f8; + --color-bg-quaternary: #f2f3f5; + --color-bg-overlay: rgba(0, 0, 0, 0.5); + --color-bg-mask: rgba(0, 0, 0, 0.8); + + /* ===== 边框颜色 ===== */ + --color-border-primary: #ebedf0; + --color-border-secondary: #f2f3f5; + --color-border-tertiary: #dcdee0; + --color-border-focus: var(--color-primary); + + /* ===== 状态颜色 ===== */ + --color-active: #f2f3f5; + --color-hover: rgba(0, 0, 0, 0.05); + --color-focus: var(--color-primary-light); + + /* ===== 阴影颜色 ===== */ + --color-shadow-light: rgba(0, 0, 0, 0.1); + --color-shadow-medium: rgba(0, 0, 0, 0.15); + --color-shadow-dark: rgba(0, 0, 0, 0.2); + + /* ===== 业务特定颜色 ===== */ + --color-service-personal: #5d7eeb; /* 个人大数据 */ + --color-service-company: #6b9df9; /* 小微企业 */ + --color-service-loan: #e1a0e4; /* 贷前风险 */ + + /* ===== 渐变色彩 ===== */ + --gradient-primary: linear-gradient( + 135deg, + var(--color-primary-400), + var(--color-primary-600) + ); + --gradient-success: linear-gradient( + 135deg, + var(--color-success), + var(--color-success-dark) + ); + --gradient-warning: linear-gradient( + 135deg, + var(--color-warning), + var(--color-warning-dark) + ); + --gradient-danger: linear-gradient( + 135deg, + var(--color-danger), + var(--color-danger-dark) + ); + + /* ===== Vant 兼容变量(用于历史样式平滑迁移) ===== */ + --van-theme-primary: var(--color-primary); + --van-theme-primary-dark: var(--color-primary-700); + --van-theme-primary-light: var(--color-primary-light); + --van-text-color: var(--color-text-primary); + --van-text-color-2: var(--color-text-secondary); + --van-text-color-3: var(--color-text-tertiary); + --van-border-color: var(--color-border-primary); +} + +/* ===== 暗色主题支持 ===== */ +@media (prefers-color-scheme: dark) { + :root { + --color-text-primary: #ffffff; + --color-text-secondary: #e5e5e5; + --color-text-tertiary: #a3a3a3; + --color-text-quaternary: #737373; + + --color-bg-primary: #1a1a1a; + --color-bg-secondary: #262626; + --color-bg-tertiary: #404040; + --color-bg-quaternary: #525252; + + --color-border-primary: #404040; + --color-border-secondary: #525252; + --color-border-tertiary: #737373; + } +} + +/* ===== 工具类 ===== */ +.text-primary { + color: var(--color-primary) !important; +} +.text-success { + color: var(--color-success) !important; +} +.text-warning { + color: var(--color-warning) !important; +} +.text-danger { + color: var(--color-danger) !important; +} +.text-info { + color: var(--color-info) !important; +} + +.bg-primary { + background-color: var(--color-primary) !important; +} +.bg-success { + background-color: var(--color-success) !important; +} +.bg-warning { + background-color: var(--color-warning) !important; +} +.bg-danger { + background-color: var(--color-danger) !important; +} +.bg-info { + background-color: var(--color-info) !important; +} + +.border-primary { + border-color: var(--color-primary) !important; +} +.border-success { + border-color: var(--color-success) !important; +} +.border-warning { + border-color: var(--color-warning) !important; +} +.border-danger { + border-color: var(--color-danger) !important; +} +.border-info { + border-color: var(--color-info) !important; +} + +/* ===== 响应式颜色工具类 ===== */ +@media (max-width: 768px) { + .text-primary-mobile { + color: var(--color-primary) !important; + } + .bg-primary-mobile { + background-color: var(--color-primary) !important; + } +} diff --git a/src/static/images/alipay.svg b/src/static/images/alipay.svg new file mode 100644 index 0000000..46a2bb0 --- /dev/null +++ b/src/static/images/alipay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/android-chrome-192x192.png b/src/static/images/android-chrome-192x192.png new file mode 100644 index 0000000..83b0baa Binary files /dev/null and b/src/static/images/android-chrome-192x192.png differ diff --git a/src/static/images/android-chrome-512x512.png b/src/static/images/android-chrome-512x512.png new file mode 100644 index 0000000..c76b186 Binary files /dev/null and b/src/static/images/android-chrome-512x512.png differ diff --git a/src/static/images/apple-touch-icon.png b/src/static/images/apple-touch-icon.png new file mode 100644 index 0000000..5e5c208 Binary files /dev/null and b/src/static/images/apple-touch-icon.png differ diff --git a/src/static/images/bg_icon.png b/src/static/images/bg_icon.png new file mode 100644 index 0000000..44bd467 Binary files /dev/null and b/src/static/images/bg_icon.png differ diff --git a/src/static/images/empty.svg b/src/static/images/empty.svg new file mode 100644 index 0000000..fbecc14 --- /dev/null +++ b/src/static/images/empty.svg @@ -0,0 +1,75 @@ + + 空空如也 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/static/images/head_shot.webp b/src/static/images/head_shot.webp new file mode 100644 index 0000000..50a540e Binary files /dev/null and b/src/static/images/head_shot.webp differ diff --git a/src/static/images/homelayout/title_logo.png b/src/static/images/homelayout/title_logo.png new file mode 100644 index 0000000..c168087 Binary files /dev/null and b/src/static/images/homelayout/title_logo.png differ diff --git a/src/static/images/homelayout/ts.png b/src/static/images/homelayout/ts.png new file mode 100644 index 0000000..ea73a67 Binary files /dev/null and b/src/static/images/homelayout/ts.png differ diff --git a/src/static/images/icon_share_friends.svg b/src/static/images/icon_share_friends.svg new file mode 100644 index 0000000..8e8ccb9 --- /dev/null +++ b/src/static/images/icon_share_friends.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/icon_share_img.svg b/src/static/images/icon_share_img.svg new file mode 100644 index 0000000..e71bc1f --- /dev/null +++ b/src/static/images/icon_share_img.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/icon_share_url.svg b/src/static/images/icon_share_url.svg new file mode 100644 index 0000000..0469cfa --- /dev/null +++ b/src/static/images/icon_share_url.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/icon_share_wechat.svg b/src/static/images/icon_share_wechat.svg new file mode 100644 index 0000000..ecbc839 --- /dev/null +++ b/src/static/images/icon_share_wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/index/1.png b/src/static/images/index/1.png new file mode 100644 index 0000000..8a38158 Binary files /dev/null and b/src/static/images/index/1.png differ diff --git a/src/static/images/index/2.png b/src/static/images/index/2.png new file mode 100644 index 0000000..473abfd Binary files /dev/null and b/src/static/images/index/2.png differ diff --git a/src/static/images/index/3.png b/src/static/images/index/3.png new file mode 100644 index 0000000..8ca334d Binary files /dev/null and b/src/static/images/index/3.png differ diff --git a/src/static/images/index/4.png b/src/static/images/index/4.png new file mode 100644 index 0000000..76ec396 Binary files /dev/null and b/src/static/images/index/4.png differ diff --git a/src/static/images/index/5.png b/src/static/images/index/5.png new file mode 100644 index 0000000..f635871 Binary files /dev/null and b/src/static/images/index/5.png differ diff --git a/src/static/images/index/6.png b/src/static/images/index/6.png new file mode 100644 index 0000000..9fe7a37 Binary files /dev/null and b/src/static/images/index/6.png differ diff --git a/src/static/images/index/Frame (1).png b/src/static/images/index/Frame (1).png new file mode 100644 index 0000000..c2d5212 Binary files /dev/null and b/src/static/images/index/Frame (1).png differ diff --git a/src/static/images/index/banner_1.png b/src/static/images/index/banner_1.png new file mode 100644 index 0000000..fdc0911 Binary files /dev/null and b/src/static/images/index/banner_1.png differ diff --git a/src/static/images/index/banner_2.png b/src/static/images/index/banner_2.png new file mode 100644 index 0000000..bcd5ca5 Binary files /dev/null and b/src/static/images/index/banner_2.png differ diff --git a/src/static/images/index/banner_3.png b/src/static/images/index/banner_3.png new file mode 100644 index 0000000..97d5aeb Binary files /dev/null and b/src/static/images/index/banner_3.png differ diff --git a/src/static/images/index/banner_B.png b/src/static/images/index/banner_B.png new file mode 100644 index 0000000..8f74885 Binary files /dev/null and b/src/static/images/index/banner_B.png differ diff --git a/src/static/images/index/bg_icon.png b/src/static/images/index/bg_icon.png new file mode 100644 index 0000000..f482f23 Binary files /dev/null and b/src/static/images/index/bg_icon.png differ diff --git a/src/static/images/index/bzzx.png b/src/static/images/index/bzzx.png new file mode 100644 index 0000000..a19de9a Binary files /dev/null and b/src/static/images/index/bzzx.png differ diff --git a/src/static/images/index/company_bg.png b/src/static/images/index/company_bg.png new file mode 100644 index 0000000..832b287 Binary files /dev/null and b/src/static/images/index/company_bg.png differ diff --git a/src/static/images/index/cwhy.png b/src/static/images/index/cwhy.png new file mode 100644 index 0000000..75f3c8a Binary files /dev/null and b/src/static/images/index/cwhy.png differ diff --git a/src/static/images/index/go_icon.png b/src/static/images/index/go_icon.png new file mode 100644 index 0000000..c2d5212 Binary files /dev/null and b/src/static/images/index/go_icon.png differ diff --git a/src/static/images/index/housekeeping_risk_bg.png b/src/static/images/index/housekeeping_risk_bg.png new file mode 100644 index 0000000..521a33d Binary files /dev/null and b/src/static/images/index/housekeeping_risk_bg.png differ diff --git a/src/static/images/index/loan_check_bg.png b/src/static/images/index/loan_check_bg.png new file mode 100644 index 0000000..57ec964 Binary files /dev/null and b/src/static/images/index/loan_check_bg.png differ diff --git a/src/static/images/index/lxkf.png b/src/static/images/index/lxkf.png new file mode 100644 index 0000000..23719a4 Binary files /dev/null and b/src/static/images/index/lxkf.png differ diff --git a/src/static/images/index/marriage_risk_bg.png b/src/static/images/index/marriage_risk_bg.png new file mode 100644 index 0000000..e6aefd1 Binary files /dev/null and b/src/static/images/index/marriage_risk_bg.png differ diff --git a/src/static/images/index/personal_data_bg.png b/src/static/images/index/personal_data_bg.png new file mode 100644 index 0000000..5ba5c4f Binary files /dev/null and b/src/static/images/index/personal_data_bg.png differ diff --git a/src/static/images/index/preloan_risk_bg.png b/src/static/images/index/preloan_risk_bg.png new file mode 100644 index 0000000..d9eda30 Binary files /dev/null and b/src/static/images/index/preloan_risk_bg.png differ diff --git a/src/static/images/index/rentalinfo_bg.png b/src/static/images/index/rentalinfo_bg.png new file mode 100644 index 0000000..d34330f Binary files /dev/null and b/src/static/images/index/rentalinfo_bg.png differ diff --git a/src/static/images/index/right.png b/src/static/images/index/right.png new file mode 100644 index 0000000..c947739 Binary files /dev/null and b/src/static/images/index/right.png differ diff --git a/src/static/images/index/srmx.png b/src/static/images/index/srmx.png new file mode 100644 index 0000000..bb02375 Binary files /dev/null and b/src/static/images/index/srmx.png differ diff --git a/src/static/images/index/tgbg.png b/src/static/images/index/tgbg.png new file mode 100644 index 0000000..39948fb Binary files /dev/null and b/src/static/images/index/tgbg.png differ diff --git a/src/static/images/index/wdbg.png b/src/static/images/index/wdbg.png new file mode 100644 index 0000000..23b44c3 Binary files /dev/null and b/src/static/images/index/wdbg.png differ diff --git a/src/static/images/index/wytx.png b/src/static/images/index/wytx.png new file mode 100644 index 0000000..f193660 Binary files /dev/null and b/src/static/images/index/wytx.png differ diff --git a/src/static/images/index/yqhy.png b/src/static/images/index/yqhy.png new file mode 100644 index 0000000..6bc8e35 Binary files /dev/null and b/src/static/images/index/yqhy.png differ diff --git a/src/static/images/invitation.png b/src/static/images/invitation.png new file mode 100644 index 0000000..183a516 Binary files /dev/null and b/src/static/images/invitation.png differ diff --git a/src/static/images/invitation_agent_apply.png b/src/static/images/invitation_agent_apply.png new file mode 100644 index 0000000..88b82d2 Binary files /dev/null and b/src/static/images/invitation_agent_apply.png differ diff --git a/src/static/images/llqdk.jpg b/src/static/images/llqdk.jpg new file mode 100644 index 0000000..2966112 Binary files /dev/null and b/src/static/images/llqdk.jpg differ diff --git a/src/static/images/login_bg.png b/src/static/images/login_bg.png new file mode 100644 index 0000000..976b7b7 Binary files /dev/null and b/src/static/images/login_bg.png differ diff --git a/src/static/images/logo.png b/src/static/images/logo.png new file mode 100644 index 0000000..a1e9496 Binary files /dev/null and b/src/static/images/logo.png differ diff --git a/src/static/images/me/apisd.png b/src/static/images/me/apisd.png new file mode 100644 index 0000000..54fb40f Binary files /dev/null and b/src/static/images/me/apisd.png differ diff --git a/src/static/images/me/cancelAccount.svg b/src/static/images/me/cancelAccount.svg new file mode 100644 index 0000000..123451f --- /dev/null +++ b/src/static/images/me/cancelAccount.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/me/ckjlmx.png b/src/static/images/me/ckjlmx.png new file mode 100644 index 0000000..0a3a70c Binary files /dev/null and b/src/static/images/me/ckjlmx.png differ diff --git a/src/static/images/me/cksymx.png b/src/static/images/me/cksymx.png new file mode 100644 index 0000000..778a176 Binary files /dev/null and b/src/static/images/me/cksymx.png differ diff --git a/src/static/images/me/ckwdxj.png b/src/static/images/me/ckwdxj.png new file mode 100644 index 0000000..9da5984 Binary files /dev/null and b/src/static/images/me/ckwdxj.png differ diff --git a/src/static/images/me/djje.png b/src/static/images/me/djje.png new file mode 100644 index 0000000..c36187a Binary files /dev/null and b/src/static/images/me/djje.png differ diff --git a/src/static/images/me/dlbgpz.png b/src/static/images/me/dlbgpz.png new file mode 100644 index 0000000..8a5c25a Binary files /dev/null and b/src/static/images/me/dlbgpz.png differ diff --git a/src/static/images/me/hyxjjl.png b/src/static/images/me/hyxjjl.png new file mode 100644 index 0000000..82e35c9 Binary files /dev/null and b/src/static/images/me/hyxjjl.png differ diff --git a/src/static/images/me/jt.png b/src/static/images/me/jt.png new file mode 100644 index 0000000..b8ca84c Binary files /dev/null and b/src/static/images/me/jt.png differ diff --git a/src/static/images/me/logout.png b/src/static/images/me/logout.png new file mode 100644 index 0000000..eb540fc Binary files /dev/null and b/src/static/images/me/logout.png differ diff --git a/src/static/images/me/lxkf.png b/src/static/images/me/lxkf.png new file mode 100644 index 0000000..395e17c Binary files /dev/null and b/src/static/images/me/lxkf.png differ diff --git a/src/static/images/me/qyfkyj.png b/src/static/images/me/qyfkyj.png new file mode 100644 index 0000000..1630b9d Binary files /dev/null and b/src/static/images/me/qyfkyj.png differ diff --git a/src/static/images/me/right.png b/src/static/images/me/right.png new file mode 100644 index 0000000..743472b Binary files /dev/null and b/src/static/images/me/right.png differ diff --git a/src/static/images/me/swhz.png b/src/static/images/me/swhz.png new file mode 100644 index 0000000..37cb91f Binary files /dev/null and b/src/static/images/me/swhz.png differ diff --git a/src/static/images/me/sy.png b/src/static/images/me/sy.png new file mode 100644 index 0000000..5dea249 Binary files /dev/null and b/src/static/images/me/sy.png differ diff --git a/src/static/images/me/tcdl.png b/src/static/images/me/tcdl.png new file mode 100644 index 0000000..74bb15c Binary files /dev/null and b/src/static/images/me/tcdl.png differ diff --git a/src/static/images/me/tx.png b/src/static/images/me/tx.png new file mode 100644 index 0000000..64a2563 Binary files /dev/null and b/src/static/images/me/tx.png differ diff --git a/src/static/images/me/txjl.png b/src/static/images/me/txjl.png new file mode 100644 index 0000000..1ceeab2 Binary files /dev/null and b/src/static/images/me/txjl.png differ diff --git a/src/static/images/me/user.png b/src/static/images/me/user.png new file mode 100644 index 0000000..0f72606 Binary files /dev/null and b/src/static/images/me/user.png differ diff --git a/src/static/images/me/wdbg.png b/src/static/images/me/wdbg.png new file mode 100644 index 0000000..926453c Binary files /dev/null and b/src/static/images/me/wdbg.png differ diff --git a/src/static/images/me/xfhy.png b/src/static/images/me/xfhy.png new file mode 100644 index 0000000..4037ea3 Binary files /dev/null and b/src/static/images/me/xfhy.png differ diff --git a/src/static/images/me/xjtgjl.png b/src/static/images/me/xjtgjl.png new file mode 100644 index 0000000..addaa90 Binary files /dev/null and b/src/static/images/me/xjtgjl.png differ diff --git a/src/static/images/me/xjzhjl.png b/src/static/images/me/xjzhjl.png new file mode 100644 index 0000000..7276905 Binary files /dev/null and b/src/static/images/me/xjzhjl.png differ diff --git a/src/static/images/me/xzhyjl.png b/src/static/images/me/xzhyjl.png new file mode 100644 index 0000000..422bebf Binary files /dev/null and b/src/static/images/me/xzhyjl.png differ diff --git a/src/static/images/me/ye.png b/src/static/images/me/ye.png new file mode 100644 index 0000000..c7288e2 Binary files /dev/null and b/src/static/images/me/ye.png differ diff --git a/src/static/images/me/yhxy.png b/src/static/images/me/yhxy.png new file mode 100644 index 0000000..031a25a Binary files /dev/null and b/src/static/images/me/yhxy.png differ diff --git a/src/static/images/me/yszc.png b/src/static/images/me/yszc.png new file mode 100644 index 0000000..28a0007 Binary files /dev/null and b/src/static/images/me/yszc.png differ diff --git a/src/static/images/me/yxbg.png b/src/static/images/me/yxbg.png new file mode 100644 index 0000000..0479486 Binary files /dev/null and b/src/static/images/me/yxbg.png differ diff --git a/src/static/images/me/ztbgsy.png b/src/static/images/me/ztbgsy.png new file mode 100644 index 0000000..511146b Binary files /dev/null and b/src/static/images/me/ztbgsy.png differ diff --git a/src/static/images/pendding.svg b/src/static/images/pendding.svg new file mode 100644 index 0000000..2a182b1 --- /dev/null +++ b/src/static/images/pendding.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/static/images/product/backgroundcheck_inquire_bg.png b/src/static/images/product/backgroundcheck_inquire_bg.png new file mode 100644 index 0000000..068f952 Binary files /dev/null and b/src/static/images/product/backgroundcheck_inquire_bg.png differ diff --git a/src/static/images/product/backgroundcheck_report_bg.png b/src/static/images/product/backgroundcheck_report_bg.png new file mode 100644 index 0000000..c363f60 Binary files /dev/null and b/src/static/images/product/backgroundcheck_report_bg.png differ diff --git a/src/static/images/product/dqfx_inquire_bg.png b/src/static/images/product/dqfx_inquire_bg.png new file mode 100644 index 0000000..2681435 Binary files /dev/null and b/src/static/images/product/dqfx_inquire_bg.png differ diff --git a/src/static/images/product/dqfx_report_bg.png b/src/static/images/product/dqfx_report_bg.png new file mode 100644 index 0000000..74139e9 Binary files /dev/null and b/src/static/images/product/dqfx_report_bg.png differ diff --git a/src/static/images/product/grdsj_inquire_bg.png b/src/static/images/product/grdsj_inquire_bg.png new file mode 100644 index 0000000..e8d2865 Binary files /dev/null and b/src/static/images/product/grdsj_inquire_bg.png differ diff --git a/src/static/images/product/grdsj_report_bg.png b/src/static/images/product/grdsj_report_bg.png new file mode 100644 index 0000000..ab0e28c Binary files /dev/null and b/src/static/images/product/grdsj_report_bg.png differ diff --git a/src/static/images/product/homeservice_inquire_bg.png b/src/static/images/product/homeservice_inquire_bg.png new file mode 100644 index 0000000..3866929 Binary files /dev/null and b/src/static/images/product/homeservice_inquire_bg.png differ diff --git a/src/static/images/product/homeservice_report_bg.png b/src/static/images/product/homeservice_report_bg.png new file mode 100644 index 0000000..79df741 Binary files /dev/null and b/src/static/images/product/homeservice_report_bg.png differ diff --git a/src/static/images/product/marriage_inquire_bg.png b/src/static/images/product/marriage_inquire_bg.png new file mode 100644 index 0000000..894c411 Binary files /dev/null and b/src/static/images/product/marriage_inquire_bg.png differ diff --git a/src/static/images/product/marriage_report_bg.png b/src/static/images/product/marriage_report_bg.png new file mode 100644 index 0000000..fe58169 Binary files /dev/null and b/src/static/images/product/marriage_report_bg.png differ diff --git a/src/static/images/product/rentalinfo_inquire_bg.png b/src/static/images/product/rentalinfo_inquire_bg.png new file mode 100644 index 0000000..2f55f40 Binary files /dev/null and b/src/static/images/product/rentalinfo_inquire_bg.png differ diff --git a/src/static/images/product/rentalinfo_report_bg.png b/src/static/images/product/rentalinfo_report_bg.png new file mode 100644 index 0000000..3ac9f65 Binary files /dev/null and b/src/static/images/product/rentalinfo_report_bg.png differ diff --git a/src/static/images/product/xwqy_inquire_bg.png b/src/static/images/product/xwqy_inquire_bg.png new file mode 100644 index 0000000..6bcbf6e Binary files /dev/null and b/src/static/images/product/xwqy_inquire_bg.png differ diff --git a/src/static/images/product/xwqy_report_bg.png b/src/static/images/product/xwqy_report_bg.png new file mode 100644 index 0000000..4c7e645 Binary files /dev/null and b/src/static/images/product/xwqy_report_bg.png differ diff --git a/src/static/images/product/企业诚信-详情主图2.png b/src/static/images/product/企业诚信-详情主图2.png new file mode 100644 index 0000000..af47588 Binary files /dev/null and b/src/static/images/product/企业诚信-详情主图2.png differ diff --git a/src/static/images/public_security_record_icon.png b/src/static/images/public_security_record_icon.png new file mode 100644 index 0000000..6fe667f Binary files /dev/null and b/src/static/images/public_security_record_icon.png differ diff --git a/src/static/images/report/ajgl.png b/src/static/images/report/ajgl.png new file mode 100644 index 0000000..d8ce93d Binary files /dev/null and b/src/static/images/report/ajgl.png differ diff --git a/src/static/images/report/ajlxfb.png b/src/static/images/report/ajlxfb.png new file mode 100644 index 0000000..e012d69 Binary files /dev/null and b/src/static/images/report/ajlxfb.png differ diff --git a/src/static/images/report/backgroundcheck_inquire_bg.png b/src/static/images/report/backgroundcheck_inquire_bg.png new file mode 100644 index 0000000..a786bfe Binary files /dev/null and b/src/static/images/report/backgroundcheck_inquire_bg.png differ diff --git a/src/static/images/report/backgroundcheck_report_bg.png b/src/static/images/report/backgroundcheck_report_bg.png new file mode 100644 index 0000000..5e5656f Binary files /dev/null and b/src/static/images/report/backgroundcheck_report_bg.png differ diff --git a/src/static/images/report/bysj.png b/src/static/images/report/bysj.png new file mode 100644 index 0000000..5918eaa Binary files /dev/null and b/src/static/images/report/bysj.png differ diff --git a/src/static/images/report/dkxwfx.png b/src/static/images/report/dkxwfx.png new file mode 100644 index 0000000..8ead64c Binary files /dev/null and b/src/static/images/report/dkxwfx.png differ diff --git a/src/static/images/report/dqfx_inquire_bg.jpg b/src/static/images/report/dqfx_inquire_bg.jpg new file mode 100644 index 0000000..951930a Binary files /dev/null and b/src/static/images/report/dqfx_inquire_bg.jpg differ diff --git a/src/static/images/report/dqfx_report_bg.jpg b/src/static/images/report/dqfx_report_bg.jpg new file mode 100644 index 0000000..6771500 Binary files /dev/null and b/src/static/images/report/dqfx_report_bg.jpg differ diff --git a/src/static/images/report/dwtzls.png b/src/static/images/report/dwtzls.png new file mode 100644 index 0000000..f6e5008 Binary files /dev/null and b/src/static/images/report/dwtzls.png differ diff --git a/src/static/images/report/fqzgz.png b/src/static/images/report/fqzgz.png new file mode 100644 index 0000000..52fbe22 Binary files /dev/null and b/src/static/images/report/fqzgz.png differ diff --git a/src/static/images/report/fqzpf.png b/src/static/images/report/fqzpf.png new file mode 100644 index 0000000..2ef6d23 Binary files /dev/null and b/src/static/images/report/fqzpf.png differ diff --git a/src/static/images/report/fsbq.png b/src/static/images/report/fsbq.png new file mode 100644 index 0000000..3a011a2 Binary files /dev/null and b/src/static/images/report/fsbq.png differ diff --git a/src/static/images/report/fx.png b/src/static/images/report/fx.png new file mode 100644 index 0000000..b41d56d Binary files /dev/null and b/src/static/images/report/fx.png differ diff --git a/src/static/images/report/fxbs.png b/src/static/images/report/fxbs.png new file mode 100644 index 0000000..ea0b045 Binary files /dev/null and b/src/static/images/report/fxbs.png differ diff --git a/src/static/images/report/fxgl.png b/src/static/images/report/fxgl.png new file mode 100644 index 0000000..cdbc0db Binary files /dev/null and b/src/static/images/report/fxgl.png differ diff --git a/src/static/images/report/fxmd.png b/src/static/images/report/fxmd.png new file mode 100644 index 0000000..ef3255d Binary files /dev/null and b/src/static/images/report/fxmd.png differ diff --git a/src/static/images/report/fxzbxq.png b/src/static/images/report/fxzbxq.png new file mode 100644 index 0000000..354b12f Binary files /dev/null and b/src/static/images/report/fxzbxq.png differ diff --git a/src/static/images/report/fxzl.png b/src/static/images/report/fxzl.png new file mode 100644 index 0000000..6139e37 Binary files /dev/null and b/src/static/images/report/fxzl.png differ diff --git a/src/static/images/report/fybgt.png b/src/static/images/report/fybgt.png new file mode 100644 index 0000000..9460e11 Binary files /dev/null and b/src/static/images/report/fybgt.png differ diff --git a/src/static/images/report/gazdryhy.png b/src/static/images/report/gazdryhy.png new file mode 100644 index 0000000..15d94e4 Binary files /dev/null and b/src/static/images/report/gazdryhy.png differ diff --git a/src/static/images/report/gazdryhycp.png b/src/static/images/report/gazdryhycp.png new file mode 100644 index 0000000..2a4d02a Binary files /dev/null and b/src/static/images/report/gazdryhycp.png differ diff --git a/src/static/images/report/gfx.png b/src/static/images/report/gfx.png new file mode 100644 index 0000000..ce402b1 Binary files /dev/null and b/src/static/images/report/gfx.png differ diff --git a/src/static/images/report/gl.png b/src/static/images/report/gl.png new file mode 100644 index 0000000..c2f9cab Binary files /dev/null and b/src/static/images/report/gl.png differ diff --git a/src/static/images/report/glfxjd.png b/src/static/images/report/glfxjd.png new file mode 100644 index 0000000..9f5d4a3 Binary files /dev/null and b/src/static/images/report/glfxjd.png differ diff --git a/src/static/images/report/glfxjd2.png b/src/static/images/report/glfxjd2.png new file mode 100644 index 0000000..adb5429 Binary files /dev/null and b/src/static/images/report/glfxjd2.png differ diff --git a/src/static/images/report/glsfz.png b/src/static/images/report/glsfz.png new file mode 100644 index 0000000..6852094 Binary files /dev/null and b/src/static/images/report/glsfz.png differ diff --git a/src/static/images/report/glsjh.png b/src/static/images/report/glsjh.png new file mode 100644 index 0000000..ab59c59 Binary files /dev/null and b/src/static/images/report/glsjh.png differ diff --git a/src/static/images/report/glzdryhy2.png b/src/static/images/report/glzdryhy2.png new file mode 100644 index 0000000..6a29b63 Binary files /dev/null and b/src/static/images/report/glzdryhy2.png differ diff --git a/src/static/images/report/grdsj_inquire_bg.jpg b/src/static/images/report/grdsj_inquire_bg.jpg new file mode 100644 index 0000000..5d90eb2 Binary files /dev/null and b/src/static/images/report/grdsj_inquire_bg.jpg differ diff --git a/src/static/images/report/grdsj_report_bg.jpg b/src/static/images/report/grdsj_report_bg.jpg new file mode 100644 index 0000000..197db31 Binary files /dev/null and b/src/static/images/report/grdsj_report_bg.jpg differ diff --git a/src/static/images/report/gsdfx.png b/src/static/images/report/gsdfx.png new file mode 100644 index 0000000..6a59cc4 Binary files /dev/null and b/src/static/images/report/gsdfx.png differ diff --git a/src/static/images/report/hktj.png b/src/static/images/report/hktj.png new file mode 100644 index 0000000..68ca536 Binary files /dev/null and b/src/static/images/report/hktj.png differ diff --git a/src/static/images/report/hkylfx.png b/src/static/images/report/hkylfx.png new file mode 100644 index 0000000..095ae8a Binary files /dev/null and b/src/static/images/report/hkylfx.png differ diff --git a/src/static/images/report/homeservice_inquire_bg.jpg b/src/static/images/report/homeservice_inquire_bg.jpg new file mode 100644 index 0000000..82fb69c Binary files /dev/null and b/src/static/images/report/homeservice_inquire_bg.jpg differ diff --git a/src/static/images/report/homeservice_report_bg.jpg b/src/static/images/report/homeservice_report_bg.jpg new file mode 100644 index 0000000..48f861b Binary files /dev/null and b/src/static/images/report/homeservice_report_bg.jpg differ diff --git a/src/static/images/report/j24gyfkqk.png b/src/static/images/report/j24gyfkqk.png new file mode 100644 index 0000000..1eab157 Binary files /dev/null and b/src/static/images/report/j24gyfkqk.png differ diff --git a/src/static/images/report/jdpg.png b/src/static/images/report/jdpg.png new file mode 100644 index 0000000..e0ade16 Binary files /dev/null and b/src/static/images/report/jdpg.png differ diff --git a/src/static/images/report/jdpggl.png b/src/static/images/report/jdpggl.png new file mode 100644 index 0000000..2f9455a Binary files /dev/null and b/src/static/images/report/jdpggl.png differ diff --git a/src/static/images/report/jgfx.png b/src/static/images/report/jgfx.png new file mode 100644 index 0000000..55cab79 Binary files /dev/null and b/src/static/images/report/jgfx.png differ diff --git a/src/static/images/report/jgztxx.png b/src/static/images/report/jgztxx.png new file mode 100644 index 0000000..d03b1e2 Binary files /dev/null and b/src/static/images/report/jgztxx.png differ diff --git a/src/static/images/report/jyyc.png b/src/static/images/report/jyyc.png new file mode 100644 index 0000000..7d749e8 Binary files /dev/null and b/src/static/images/report/jyyc.png differ diff --git a/src/static/images/report/khlxjdbx.png b/src/static/images/report/khlxjdbx.png new file mode 100644 index 0000000..56cbb65 Binary files /dev/null and b/src/static/images/report/khlxjdbx.png differ diff --git a/src/static/images/report/lsjdxw.png b/src/static/images/report/lsjdxw.png new file mode 100644 index 0000000..b0fdd82 Binary files /dev/null and b/src/static/images/report/lsjdxw.png differ diff --git a/src/static/images/report/lyqk.png b/src/static/images/report/lyqk.png new file mode 100644 index 0000000..4b2bf98 Binary files /dev/null and b/src/static/images/report/lyqk.png differ diff --git a/src/static/images/report/lyxxxq.png b/src/static/images/report/lyxxxq.png new file mode 100644 index 0000000..38c797c Binary files /dev/null and b/src/static/images/report/lyxxxq.png differ diff --git a/src/static/images/report/marriage_inquire_bg.jpg b/src/static/images/report/marriage_inquire_bg.jpg new file mode 100644 index 0000000..db0ac26 Binary files /dev/null and b/src/static/images/report/marriage_inquire_bg.jpg differ diff --git a/src/static/images/report/marriage_report_bg.jpg b/src/static/images/report/marriage_report_bg.jpg new file mode 100644 index 0000000..5752966 Binary files /dev/null and b/src/static/images/report/marriage_report_bg.jpg differ diff --git a/src/static/images/report/ms.png b/src/static/images/report/ms.png new file mode 100644 index 0000000..fa7d7b0 Binary files /dev/null and b/src/static/images/report/ms.png differ diff --git a/src/static/images/report/mzfxbz.png b/src/static/images/report/mzfxbz.png new file mode 100644 index 0000000..c98045b Binary files /dev/null and b/src/static/images/report/mzfxbz.png differ diff --git a/src/static/images/report/qsgg.png b/src/static/images/report/qsgg.png new file mode 100644 index 0000000..4666fde Binary files /dev/null and b/src/static/images/report/qsgg.png differ diff --git a/src/static/images/report/qspc.png b/src/static/images/report/qspc.png new file mode 100644 index 0000000..7cdf628 Binary files /dev/null and b/src/static/images/report/qspc.png differ diff --git a/src/static/images/report/rkpm.png b/src/static/images/report/rkpm.png new file mode 100644 index 0000000..8ba7f91 Binary files /dev/null and b/src/static/images/report/rkpm.png differ diff --git a/src/static/images/report/rzls.png b/src/static/images/report/rzls.png new file mode 100644 index 0000000..4b13c82 Binary files /dev/null and b/src/static/images/report/rzls.png differ diff --git a/src/static/images/report/sagg.png b/src/static/images/report/sagg.png new file mode 100644 index 0000000..179e0c2 Binary files /dev/null and b/src/static/images/report/sagg.png differ diff --git a/src/static/images/report/sdszhycp.png b/src/static/images/report/sdszhycp.png new file mode 100644 index 0000000..c49bc10 Binary files /dev/null and b/src/static/images/report/sdszhycp.png differ diff --git a/src/static/images/report/sdszryhy.png b/src/static/images/report/sdszryhy.png new file mode 100644 index 0000000..ba9df65 Binary files /dev/null and b/src/static/images/report/sdszryhy.png differ diff --git a/src/static/images/report/sfxxhy.png b/src/static/images/report/sfxxhy.png new file mode 100644 index 0000000..323da72 Binary files /dev/null and b/src/static/images/report/sfxxhy.png differ diff --git a/src/static/images/report/sfz.png b/src/static/images/report/sfz.png new file mode 100644 index 0000000..f565538 Binary files /dev/null and b/src/static/images/report/sfz.png differ diff --git a/src/static/images/report/shjy.png b/src/static/images/report/shjy.png new file mode 100644 index 0000000..2c9ee0c Binary files /dev/null and b/src/static/images/report/shjy.png differ diff --git a/src/static/images/report/sjh.png b/src/static/images/report/sjh.png new file mode 100644 index 0000000..17c053e Binary files /dev/null and b/src/static/images/report/sjh.png differ diff --git a/src/static/images/report/sjqsfx.png b/src/static/images/report/sjqsfx.png new file mode 100644 index 0000000..263b29d Binary files /dev/null and b/src/static/images/report/sjqsfx.png differ diff --git a/src/static/images/report/slbg_inquire_icon.png b/src/static/images/report/slbg_inquire_icon.png new file mode 100644 index 0000000..eb96d45 Binary files /dev/null and b/src/static/images/report/slbg_inquire_icon.png differ diff --git a/src/static/images/report/srbq.png b/src/static/images/report/srbq.png new file mode 100644 index 0000000..e60b337 Binary files /dev/null and b/src/static/images/report/srbq.png differ diff --git a/src/static/images/report/srpg.png b/src/static/images/report/srpg.png new file mode 100644 index 0000000..f3b3dc9 Binary files /dev/null and b/src/static/images/report/srpg.png differ diff --git a/src/static/images/report/ssfxfx.png b/src/static/images/report/ssfxfx.png new file mode 100644 index 0000000..d7d3e6b Binary files /dev/null and b/src/static/images/report/ssfxfx.png differ diff --git a/src/static/images/report/ssfxztgl.png b/src/static/images/report/ssfxztgl.png new file mode 100644 index 0000000..eb78d68 Binary files /dev/null and b/src/static/images/report/ssfxztgl.png differ diff --git a/src/static/images/report/sswf.png b/src/static/images/report/sswf.png new file mode 100644 index 0000000..816aeb1 Binary files /dev/null and b/src/static/images/report/sswf.png differ diff --git a/src/static/images/report/swfx.png b/src/static/images/report/swfx.png new file mode 100644 index 0000000..3ad1954 Binary files /dev/null and b/src/static/images/report/swfx.png differ diff --git a/src/static/images/report/sxaj.png b/src/static/images/report/sxaj.png new file mode 100644 index 0000000..700fe0a Binary files /dev/null and b/src/static/images/report/sxaj.png differ diff --git a/src/static/images/report/sxxq.png b/src/static/images/report/sxxq.png new file mode 100644 index 0000000..f0ac43c Binary files /dev/null and b/src/static/images/report/sxxq.png differ diff --git a/src/static/images/report/title.png b/src/static/images/report/title.png new file mode 100644 index 0000000..3e84f7f Binary files /dev/null and b/src/static/images/report/title.png differ diff --git a/src/static/images/report/title_inquire_bg.png b/src/static/images/report/title_inquire_bg.png new file mode 100644 index 0000000..472f6bb Binary files /dev/null and b/src/static/images/report/title_inquire_bg.png differ diff --git a/src/static/images/report/title_inquire_bg_green.png b/src/static/images/report/title_inquire_bg_green.png new file mode 100644 index 0000000..73eedbf Binary files /dev/null and b/src/static/images/report/title_inquire_bg_green.png differ diff --git a/src/static/images/report/title_inquire_bg_red.png b/src/static/images/report/title_inquire_bg_red.png new file mode 100644 index 0000000..f31ccbf Binary files /dev/null and b/src/static/images/report/title_inquire_bg_red.png differ diff --git a/src/static/images/report/wmz.png b/src/static/images/report/wmz.png new file mode 100644 index 0000000..7564469 Binary files /dev/null and b/src/static/images/report/wmz.png differ diff --git a/src/static/images/report/wxts_icon.png b/src/static/images/report/wxts_icon.png new file mode 100644 index 0000000..d2da4b8 Binary files /dev/null and b/src/static/images/report/wxts_icon.png differ diff --git a/src/static/images/report/xgaj.png b/src/static/images/report/xgaj.png new file mode 100644 index 0000000..73a1232 Binary files /dev/null and b/src/static/images/report/xgaj.png differ diff --git a/src/static/images/report/xl.png b/src/static/images/report/xl.png new file mode 100644 index 0000000..59ca3dd Binary files /dev/null and b/src/static/images/report/xl.png differ diff --git a/src/static/images/report/xs.png b/src/static/images/report/xs.png new file mode 100644 index 0000000..27dc5bc Binary files /dev/null and b/src/static/images/report/xs.png differ diff --git a/src/static/images/report/xwqy_inquire_bg.jpg b/src/static/images/report/xwqy_inquire_bg.jpg new file mode 100644 index 0000000..973144d Binary files /dev/null and b/src/static/images/report/xwqy_inquire_bg.jpg differ diff --git a/src/static/images/report/xwqy_report_bg.jpg b/src/static/images/report/xwqy_report_bg.jpg new file mode 100644 index 0000000..a9f1613 Binary files /dev/null and b/src/static/images/report/xwqy_report_bg.jpg differ diff --git a/src/static/images/report/xxlx.png b/src/static/images/report/xxlx.png new file mode 100644 index 0000000..bf3cd9c Binary files /dev/null and b/src/static/images/report/xxlx.png differ diff --git a/src/static/images/report/xxxs.png b/src/static/images/report/xxxs.png new file mode 100644 index 0000000..c5461ca Binary files /dev/null and b/src/static/images/report/xxxs.png differ diff --git a/src/static/images/report/xypf.png b/src/static/images/report/xypf.png new file mode 100644 index 0000000..efa7956 Binary files /dev/null and b/src/static/images/report/xypf.png differ diff --git a/src/static/images/report/xypf2.png b/src/static/images/report/xypf2.png new file mode 100644 index 0000000..983f507 Binary files /dev/null and b/src/static/images/report/xypf2.png differ diff --git a/src/static/images/report/xz.png b/src/static/images/report/xz.png new file mode 100644 index 0000000..039dd18 Binary files /dev/null and b/src/static/images/report/xz.png differ diff --git a/src/static/images/report/xzcf.png b/src/static/images/report/xzcf.png new file mode 100644 index 0000000..542b1fe Binary files /dev/null and b/src/static/images/report/xzcf.png differ diff --git a/src/static/images/report/ycsjdjdbx.png b/src/static/images/report/ycsjdjdbx.png new file mode 100644 index 0000000..0ba9fcb Binary files /dev/null and b/src/static/images/report/ycsjdjdbx.png differ diff --git a/src/static/images/report/yqfx.png b/src/static/images/report/yqfx.png new file mode 100644 index 0000000..3d5a624 Binary files /dev/null and b/src/static/images/report/yqfx.png differ diff --git a/src/static/images/report/yqfxgl.png b/src/static/images/report/yqfxgl.png new file mode 100644 index 0000000..3db496a Binary files /dev/null and b/src/static/images/report/yqfxgl.png differ diff --git a/src/static/images/report/yqsjfb.png b/src/static/images/report/yqsjfb.png new file mode 100644 index 0000000..a8638af Binary files /dev/null and b/src/static/images/report/yqsjfb.png differ diff --git a/src/static/images/report/yqxxxq.png b/src/static/images/report/yqxxxq.png new file mode 100644 index 0000000..dd0222f Binary files /dev/null and b/src/static/images/report/yqxxxq.png differ diff --git a/src/static/images/report/yshc.png b/src/static/images/report/yshc.png new file mode 100644 index 0000000..18abfe6 Binary files /dev/null and b/src/static/images/report/yshc.png differ diff --git a/src/static/images/report/ywlxjdbx.png b/src/static/images/report/ywlxjdbx.png new file mode 100644 index 0000000..f6c4fc3 Binary files /dev/null and b/src/static/images/report/ywlxjdbx.png differ diff --git a/src/static/images/report/yyshy.png b/src/static/images/report/yyshy.png new file mode 100644 index 0000000..f89c747 Binary files /dev/null and b/src/static/images/report/yyshy.png differ diff --git a/src/static/images/report/yzgz.png b/src/static/images/report/yzgz.png new file mode 100644 index 0000000..903ac38 Binary files /dev/null and b/src/static/images/report/yzgz.png differ diff --git a/src/static/images/report/zfx.png b/src/static/images/report/zfx.png new file mode 100644 index 0000000..7a9f3a5 Binary files /dev/null and b/src/static/images/report/zfx.png differ diff --git a/src/static/images/report/zk.png b/src/static/images/report/zk.png new file mode 100644 index 0000000..0387bdb Binary files /dev/null and b/src/static/images/report/zk.png differ diff --git a/src/static/images/report/zlfxpg.png b/src/static/images/report/zlfxpg.png new file mode 100644 index 0000000..22d1283 Binary files /dev/null and b/src/static/images/report/zlfxpg.png differ diff --git a/src/static/images/report/zlfxpggl.png b/src/static/images/report/zlfxpggl.png new file mode 100644 index 0000000..f79d48a Binary files /dev/null and b/src/static/images/report/zlfxpggl.png differ diff --git a/src/static/images/report/zlxw.png b/src/static/images/report/zlxw.png new file mode 100644 index 0000000..180c1c3 Binary files /dev/null and b/src/static/images/report/zlxw.png differ diff --git a/src/static/images/report/zq.png b/src/static/images/report/zq.png new file mode 100644 index 0000000..79c5be6 Binary files /dev/null and b/src/static/images/report/zq.png differ diff --git a/src/static/images/report/zwsc.png b/src/static/images/report/zwsc.png new file mode 100644 index 0000000..f17c762 Binary files /dev/null and b/src/static/images/report/zwsc.png differ diff --git a/src/static/images/report/zxaj.png b/src/static/images/report/zxaj.png new file mode 100644 index 0000000..1c066ea Binary files /dev/null and b/src/static/images/report/zxaj.png differ diff --git a/src/static/images/report/zyjy.png b/src/static/images/report/zyjy.png new file mode 100644 index 0000000..6f51ca0 Binary files /dev/null and b/src/static/images/report/zyjy.png differ diff --git a/src/static/images/report/zymc.png b/src/static/images/report/zymc.png new file mode 100644 index 0000000..b46e3ac Binary files /dev/null and b/src/static/images/report/zymc.png differ diff --git a/src/static/images/shot_nonal.png b/src/static/images/shot_nonal.png new file mode 100644 index 0000000..5265a90 Binary files /dev/null and b/src/static/images/shot_nonal.png differ diff --git a/src/static/images/shot_svip.png b/src/static/images/shot_svip.png new file mode 100644 index 0000000..f636ea0 Binary files /dev/null and b/src/static/images/shot_svip.png differ diff --git a/src/static/images/shot_vip.png b/src/static/images/shot_vip.png new file mode 100644 index 0000000..0c15cb3 Binary files /dev/null and b/src/static/images/shot_vip.png differ diff --git a/src/static/images/tg_qrcode_1.png b/src/static/images/tg_qrcode_1.png new file mode 100644 index 0000000..8a38158 Binary files /dev/null and b/src/static/images/tg_qrcode_1.png differ diff --git a/src/static/images/tg_qrcode_2.png b/src/static/images/tg_qrcode_2.png new file mode 100644 index 0000000..f635871 Binary files /dev/null and b/src/static/images/tg_qrcode_2.png differ diff --git a/src/static/images/tg_qrcode_3.png b/src/static/images/tg_qrcode_3.png new file mode 100644 index 0000000..76ec396 Binary files /dev/null and b/src/static/images/tg_qrcode_3.png differ diff --git a/src/static/images/tg_qrcode_4.png b/src/static/images/tg_qrcode_4.png new file mode 100644 index 0000000..8ca334d Binary files /dev/null and b/src/static/images/tg_qrcode_4.png differ diff --git a/src/static/images/tg_qrcode_5.png b/src/static/images/tg_qrcode_5.png new file mode 100644 index 0000000..473abfd Binary files /dev/null and b/src/static/images/tg_qrcode_5.png differ diff --git a/src/static/images/tg_qrcode_6.png b/src/static/images/tg_qrcode_6.png new file mode 100644 index 0000000..9fe7a37 Binary files /dev/null and b/src/static/images/tg_qrcode_6.png differ diff --git a/src/static/images/tg_qrcode_7.png b/src/static/images/tg_qrcode_7.png new file mode 100644 index 0000000..df90fe3 Binary files /dev/null and b/src/static/images/tg_qrcode_7.png differ diff --git a/src/static/images/tg_qrcode_8.png b/src/static/images/tg_qrcode_8.png new file mode 100644 index 0000000..0f82376 Binary files /dev/null and b/src/static/images/tg_qrcode_8.png differ diff --git a/src/static/images/vip_banner.png b/src/static/images/vip_banner.png new file mode 100644 index 0000000..5de629d Binary files /dev/null and b/src/static/images/vip_banner.png differ diff --git a/src/static/images/wechatpay.svg b/src/static/images/wechatpay.svg new file mode 100644 index 0000000..1b29fd0 --- /dev/null +++ b/src/static/images/wechatpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/images/yq_qrcode_1.png b/src/static/images/yq_qrcode_1.png new file mode 100644 index 0000000..ca49e96 Binary files /dev/null and b/src/static/images/yq_qrcode_1.png differ diff --git a/src/static/inquire_icons/beijianguanrenyuan.svg b/src/static/inquire_icons/beijianguanrenyuan.svg new file mode 100644 index 0000000..5d5f873 --- /dev/null +++ b/src/static/inquire_icons/beijianguanrenyuan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/default.svg b/src/static/inquire_icons/default.svg new file mode 100644 index 0000000..8ac7949 --- /dev/null +++ b/src/static/inquire_icons/default.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/static/inquire_icons/fengxianxingwei.svg b/src/static/inquire_icons/fengxianxingwei.svg new file mode 100644 index 0000000..e2cb3ef --- /dev/null +++ b/src/static/inquire_icons/fengxianxingwei.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/huankuanyali.svg b/src/static/inquire_icons/huankuanyali.svg new file mode 100644 index 0000000..31146ab --- /dev/null +++ b/src/static/inquire_icons/huankuanyali.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/hunyinzhuangtai.svg b/src/static/inquire_icons/hunyinzhuangtai.svg new file mode 100644 index 0000000..eb1a3d1 --- /dev/null +++ b/src/static/inquire_icons/hunyinzhuangtai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/jiedaishenqing.svg b/src/static/inquire_icons/jiedaishenqing.svg new file mode 100644 index 0000000..4e1224c --- /dev/null +++ b/src/static/inquire_icons/jiedaishenqing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/jiedaiweiyue.svg b/src/static/inquire_icons/jiedaiweiyue.svg new file mode 100644 index 0000000..7a218f4 --- /dev/null +++ b/src/static/inquire_icons/jiedaiweiyue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/jiedaixingwei.svg b/src/static/inquire_icons/jiedaixingwei.svg new file mode 100644 index 0000000..948860f --- /dev/null +++ b/src/static/inquire_icons/jiedaixingwei.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/mingxiacheliang.svg b/src/static/inquire_icons/mingxiacheliang.svg new file mode 100644 index 0000000..7b37237 --- /dev/null +++ b/src/static/inquire_icons/mingxiacheliang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/minshianjianguanli.svg b/src/static/inquire_icons/minshianjianguanli.svg new file mode 100644 index 0000000..da8fbf1 --- /dev/null +++ b/src/static/inquire_icons/minshianjianguanli.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/renqiguanxi.svg b/src/static/inquire_icons/renqiguanxi.svg new file mode 100644 index 0000000..24b3bb5 --- /dev/null +++ b/src/static/inquire_icons/renqiguanxi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/shixinren.svg b/src/static/inquire_icons/shixinren.svg new file mode 100644 index 0000000..6d1c734 --- /dev/null +++ b/src/static/inquire_icons/shixinren.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/sifasheyu.svg b/src/static/inquire_icons/sifasheyu.svg new file mode 100644 index 0000000..31392f3 --- /dev/null +++ b/src/static/inquire_icons/sifasheyu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/xianzhigaoxiaofei.svg b/src/static/inquire_icons/xianzhigaoxiaofei.svg new file mode 100644 index 0000000..8e2d6e3 --- /dev/null +++ b/src/static/inquire_icons/xianzhigaoxiaofei.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/xingshi.svg b/src/static/inquire_icons/xingshi.svg new file mode 100644 index 0000000..60f2e06 --- /dev/null +++ b/src/static/inquire_icons/xingshi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/xingzhengfuwu.svg b/src/static/inquire_icons/xingzhengfuwu.svg new file mode 100644 index 0000000..4c31393 --- /dev/null +++ b/src/static/inquire_icons/xingzhengfuwu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/yuepeichang.svg b/src/static/inquire_icons/yuepeichang.svg new file mode 100644 index 0000000..740d0f3 --- /dev/null +++ b/src/static/inquire_icons/yuepeichang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/inquire_icons/zhixinganjian.svg b/src/static/inquire_icons/zhixinganjian.svg new file mode 100644 index 0000000..be32352 --- /dev/null +++ b/src/static/inquire_icons/zhixinganjian.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/static/main.css b/src/static/main.css new file mode 100644 index 0000000..e6fc891 --- /dev/null +++ b/src/static/main.css @@ -0,0 +1,38 @@ +@import "./base.css"; +@import "./colors.css"; +@import "./nprogress.css"; +#app { + margin: 0 auto; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} +.card { + border-radius: 12px; + background-color: #fff; + padding: 24px; + box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06); +} +.ltitle { + margin: 8px auto 0; + width: 256px; + border: 1px solid #bfdbfe; + border-radius: 24px; + background-image: linear-gradient(to right, #60a5fa, #22c55e, #14b8a6); + padding: 8px 0; + text-align: center; + color: #fff; + font-weight: 700; +} diff --git a/src/static/nprogress.css b/src/static/nprogress.css new file mode 100644 index 0000000..4a3f6d2 --- /dev/null +++ b/src/static/nprogress.css @@ -0,0 +1,10 @@ +/* 进度条颜色 */ +#nprogress .bar { + background: var(--color-primary); /* 主题色 */ + height: 4px; /* 修改高度 */ +} + +/* 圆圈颜色 */ +#nprogress .peg { + box-shadow: 0 0 10px var(--color-primary), 0 0 5px var(--color-primary); +} diff --git a/src/static/pca.json b/src/static/pca.json new file mode 100644 index 0000000..c7d4f05 --- /dev/null +++ b/src/static/pca.json @@ -0,0 +1,3804 @@ +{ + "北京市": { + "市辖区": [ + "东城区", + "西城区", + "朝阳区", + "丰台区", + "石景山区", + "海淀区", + "门头沟区", + "房山区", + "通州区", + "顺义区", + "昌平区", + "大兴区", + "怀柔区", + "平谷区", + "密云区", + "延庆区" + ] + }, + "天津市": { + "市辖区": [ + "和平区", + "河东区", + "河西区", + "南开区", + "河北区", + "红桥区", + "东丽区", + "西青区", + "津南区", + "北辰区", + "武清区", + "宝坻区", + "滨海新区", + "宁河区", + "静海区", + "蓟州区" + ] + }, + "河北省": { + "石家庄市": [ + "长安区", + "桥西区", + "新华区", + "井陉矿区", + "裕华区", + "藁城区", + "鹿泉区", + "栾城区", + "井陉县", + "正定县", + "行唐县", + "灵寿县", + "高邑县", + "深泽县", + "赞皇县", + "无极县", + "平山县", + "元氏县", + "赵县", + "石家庄高新技术产业开发区", + "石家庄循环化工园区", + "辛集市", + "晋州市", + "新乐市" + ], + "唐山市": [ + "路南区", + "路北区", + "古冶区", + "开平区", + "丰南区", + "丰润区", + "曹妃甸区", + "滦南县", + "乐亭县", + "迁西县", + "玉田县", + "河北唐山芦台经济开发区", + "唐山市汉沽管理区", + "唐山高新技术产业开发区", + "河北唐山海港经济开发区", + "遵化市", + "迁安市", + "滦州市" + ], + "秦皇岛市": [ + "海港区", + "山海关区", + "北戴河区", + "抚宁区", + "青龙满族自治县", + "昌黎县", + "卢龙县", + "秦皇岛市经济技术开发区", + "北戴河新区" + ], + "邯郸市": [ + "邯山区", + "丛台区", + "复兴区", + "峰峰矿区", + "肥乡区", + "永年区", + "临漳县", + "成安县", + "大名县", + "涉县", + "磁县", + "邱县", + "鸡泽县", + "广平县", + "馆陶县", + "魏县", + "曲周县", + "邯郸经济技术开发区", + "邯郸冀南新区", + "武安市" + ], + "邢台市": [ + "襄都区", + "信都区", + "任泽区", + "南和区", + "临城县", + "内丘县", + "柏乡县", + "隆尧县", + "宁晋县", + "巨鹿县", + "新河县", + "广宗县", + "平乡县", + "威县", + "清河县", + "临西县", + "河北邢台经济开发区", + "南宫市", + "沙河市" + ], + "保定市": [ + "竞秀区", + "莲池区", + "满城区", + "清苑区", + "徐水区", + "涞水县", + "阜平县", + "定兴县", + "唐县", + "高阳县", + "容城县", + "涞源县", + "望都县", + "安新县", + "易县", + "曲阳县", + "蠡县", + "顺平县", + "博野县", + "雄县", + "保定高新技术产业开发区", + "保定白沟新城", + "涿州市", + "定州市", + "安国市", + "高碑店市" + ], + "张家口市": [ + "桥东区", + "桥西区", + "宣化区", + "下花园区", + "万全区", + "崇礼区", + "张北县", + "康保县", + "沽源县", + "尚义县", + "蔚县", + "阳原县", + "怀安县", + "怀来县", + "涿鹿县", + "赤城县", + "张家口经济开发区", + "张家口市察北管理区", + "张家口市塞北管理区" + ], + "承德市": [ + "双桥区", + "双滦区", + "鹰手营子矿区", + "承德县", + "兴隆县", + "滦平县", + "隆化县", + "丰宁满族自治县", + "宽城满族自治县", + "围场满族蒙古族自治县", + "承德高新技术产业开发区", + "平泉市" + ], + "沧州市": [ + "新华区", + "运河区", + "沧县", + "青县", + "东光县", + "海兴县", + "盐山县", + "肃宁县", + "南皮县", + "吴桥县", + "献县", + "孟村回族自治县", + "河北沧州经济开发区", + "沧州高新技术产业开发区", + "沧州渤海新区", + "泊头市", + "任丘市", + "黄骅市", + "河间市" + ], + "廊坊市": [ + "安次区", + "广阳区", + "固安县", + "永清县", + "香河县", + "大城县", + "文安县", + "大厂回族自治县", + "廊坊经济技术开发区", + "霸州市", + "三河市" + ], + "衡水市": [ + "桃城区", + "冀州区", + "枣强县", + "武邑县", + "武强县", + "饶阳县", + "安平县", + "故城县", + "景县", + "阜城县", + "河北衡水高新技术产业开发区", + "衡水滨湖新区", + "深州市" + ] + }, + "山西省": { + "太原市": [ + "小店区", + "迎泽区", + "杏花岭区", + "尖草坪区", + "万柏林区", + "晋源区", + "清徐县", + "阳曲县", + "娄烦县", + "山西转型综合改革示范区", + "古交市" + ], + "大同市": [ + "新荣区", + "平城区", + "云冈区", + "云州区", + "阳高县", + "天镇县", + "广灵县", + "灵丘县", + "浑源县", + "左云县", + "山西大同经济开发区" + ], + "阳泉市": [ + "城区", + "矿区", + "郊区", + "平定县", + "盂县" + ], + "长治市": [ + "潞州区", + "上党区", + "屯留区", + "潞城区", + "襄垣县", + "平顺县", + "黎城县", + "壶关县", + "长子县", + "武乡县", + "沁县", + "沁源县" + ], + "晋城市": [ + "城区", + "沁水县", + "阳城县", + "陵川县", + "泽州县", + "高平市" + ], + "朔州市": [ + "朔城区", + "平鲁区", + "山阴县", + "应县", + "右玉县", + "山西朔州经济开发区", + "怀仁市" + ], + "晋中市": [ + "榆次区", + "太谷区", + "榆社县", + "左权县", + "和顺县", + "昔阳县", + "寿阳县", + "祁县", + "平遥县", + "灵石县", + "介休市" + ], + "运城市": [ + "盐湖区", + "临猗县", + "万荣县", + "闻喜县", + "稷山县", + "新绛县", + "绛县", + "垣曲县", + "夏县", + "平陆县", + "芮城县", + "永济市", + "河津市" + ], + "忻州市": [ + "忻府区", + "定襄县", + "五台县", + "代县", + "繁峙县", + "宁武县", + "静乐县", + "神池县", + "五寨县", + "岢岚县", + "河曲县", + "保德县", + "偏关县", + "五台山风景名胜区", + "原平市" + ], + "临汾市": [ + "尧都区", + "曲沃县", + "翼城县", + "襄汾县", + "洪洞县", + "古县", + "安泽县", + "浮山县", + "吉县", + "乡宁县", + "大宁县", + "隰县", + "永和县", + "蒲县", + "汾西县", + "侯马市", + "霍州市" + ], + "吕梁市": [ + "离石区", + "文水县", + "交城县", + "兴县", + "临县", + "柳林县", + "石楼县", + "岚县", + "方山县", + "中阳县", + "交口县", + "孝义市", + "汾阳市" + ] + }, + "内蒙古自治区": { + "呼和浩特市": [ + "新城区", + "回民区", + "玉泉区", + "赛罕区", + "土默特左旗", + "托克托县", + "和林格尔县", + "清水河县", + "武川县", + "呼和浩特经济技术开发区" + ], + "包头市": [ + "东河区", + "昆都仑区", + "青山区", + "石拐区", + "白云鄂博矿区", + "九原区", + "土默特右旗", + "固阳县", + "达尔罕茂明安联合旗", + "包头稀土高新技术产业开发区" + ], + "乌海市": [ + "海勃湾区", + "海南区", + "乌达区" + ], + "赤峰市": [ + "红山区", + "元宝山区", + "松山区", + "阿鲁科尔沁旗", + "巴林左旗", + "巴林右旗", + "林西县", + "克什克腾旗", + "翁牛特旗", + "喀喇沁旗", + "宁城县", + "敖汉旗" + ], + "通辽市": [ + "科尔沁区", + "科尔沁左翼中旗", + "科尔沁左翼后旗", + "开鲁县", + "库伦旗", + "奈曼旗", + "扎鲁特旗", + "通辽经济技术开发区", + "霍林郭勒市" + ], + "鄂尔多斯市": [ + "东胜区", + "康巴什区", + "达拉特旗", + "准格尔旗", + "鄂托克前旗", + "鄂托克旗", + "杭锦旗", + "乌审旗", + "伊金霍洛旗" + ], + "呼伦贝尔市": [ + "海拉尔区", + "扎赉诺尔区", + "阿荣旗", + "莫力达瓦达斡尔族自治旗", + "鄂伦春自治旗", + "鄂温克族自治旗", + "陈巴尔虎旗", + "新巴尔虎左旗", + "新巴尔虎右旗", + "满洲里市", + "牙克石市", + "扎兰屯市", + "额尔古纳市", + "根河市" + ], + "巴彦淖尔市": [ + "临河区", + "五原县", + "磴口县", + "乌拉特前旗", + "乌拉特中旗", + "乌拉特后旗", + "杭锦后旗" + ], + "乌兰察布市": [ + "集宁区", + "卓资县", + "化德县", + "商都县", + "兴和县", + "凉城县", + "察哈尔右翼前旗", + "察哈尔右翼中旗", + "察哈尔右翼后旗", + "四子王旗", + "丰镇市" + ], + "兴安盟": [ + "乌兰浩特市", + "阿尔山市", + "科尔沁右翼前旗", + "科尔沁右翼中旗", + "扎赉特旗", + "突泉县" + ], + "锡林郭勒盟": [ + "二连浩特市", + "锡林浩特市", + "阿巴嘎旗", + "苏尼特左旗", + "苏尼特右旗", + "东乌珠穆沁旗", + "西乌珠穆沁旗", + "太仆寺旗", + "镶黄旗", + "正镶白旗", + "正蓝旗", + "多伦县", + "乌拉盖管理区管委会" + ], + "阿拉善盟": [ + "阿拉善左旗", + "阿拉善右旗", + "额济纳旗", + "内蒙古阿拉善高新技术产业开发区" + ] + }, + "辽宁省": { + "沈阳市": [ + "和平区", + "沈河区", + "大东区", + "皇姑区", + "铁西区", + "苏家屯区", + "浑南区", + "沈北新区", + "于洪区", + "辽中区", + "康平县", + "法库县", + "新民市" + ], + "大连市": [ + "中山区", + "西岗区", + "沙河口区", + "甘井子区", + "旅顺口区", + "金州区", + "普兰店区", + "长海县", + "瓦房店市", + "庄河市" + ], + "鞍山市": [ + "铁东区", + "铁西区", + "立山区", + "千山区", + "台安县", + "岫岩满族自治县", + "海城市" + ], + "抚顺市": [ + "新抚区", + "东洲区", + "望花区", + "顺城区", + "抚顺县", + "新宾满族自治县", + "清原满族自治县" + ], + "本溪市": [ + "平山区", + "溪湖区", + "明山区", + "南芬区", + "本溪满族自治县", + "桓仁满族自治县" + ], + "丹东市": [ + "元宝区", + "振兴区", + "振安区", + "宽甸满族自治县", + "东港市", + "凤城市" + ], + "锦州市": [ + "古塔区", + "凌河区", + "太和区", + "黑山县", + "义县", + "凌海市", + "北镇市" + ], + "营口市": [ + "站前区", + "西市区", + "鲅鱼圈区", + "老边区", + "盖州市", + "大石桥市" + ], + "阜新市": [ + "海州区", + "新邱区", + "太平区", + "清河门区", + "细河区", + "阜新蒙古族自治县", + "彰武县" + ], + "辽阳市": [ + "白塔区", + "文圣区", + "宏伟区", + "弓长岭区", + "太子河区", + "辽阳县", + "灯塔市" + ], + "盘锦市": [ + "双台子区", + "兴隆台区", + "大洼区", + "盘山县" + ], + "铁岭市": [ + "银州区", + "清河区", + "铁岭县", + "西丰县", + "昌图县", + "调兵山市", + "开原市" + ], + "朝阳市": [ + "双塔区", + "龙城区", + "朝阳县", + "建平县", + "喀喇沁左翼蒙古族自治县", + "北票市", + "凌源市" + ], + "葫芦岛市": [ + "连山区", + "龙港区", + "南票区", + "绥中县", + "建昌县", + "兴城市" + ] + }, + "吉林省": { + "长春市": [ + "南关区", + "宽城区", + "朝阳区", + "二道区", + "绿园区", + "双阳区", + "九台区", + "农安县", + "长春经济技术开发区", + "长春净月高新技术产业开发区", + "长春高新技术产业开发区", + "长春汽车经济技术开发区", + "榆树市", + "德惠市", + "公主岭市" + ], + "吉林市": [ + "昌邑区", + "龙潭区", + "船营区", + "丰满区", + "永吉县", + "吉林经济开发区", + "吉林高新技术产业开发区", + "吉林中国新加坡食品区", + "蛟河市", + "桦甸市", + "舒兰市", + "磐石市" + ], + "四平市": [ + "铁西区", + "铁东区", + "梨树县", + "伊通满族自治县", + "双辽市" + ], + "辽源市": [ + "龙山区", + "西安区", + "东丰县", + "东辽县" + ], + "通化市": [ + "东昌区", + "二道江区", + "通化县", + "辉南县", + "柳河县", + "梅河口市", + "集安市" + ], + "白山市": [ + "浑江区", + "江源区", + "抚松县", + "靖宇县", + "长白朝鲜族自治县", + "临江市" + ], + "松原市": [ + "宁江区", + "前郭尔罗斯蒙古族自治县", + "长岭县", + "乾安县", + "吉林松原经济开发区", + "扶余市" + ], + "白城市": [ + "洮北区", + "镇赉县", + "通榆县", + "吉林白城经济开发区", + "洮南市", + "大安市" + ], + "延边朝鲜族自治州": [ + "延吉市", + "图们市", + "敦化市", + "珲春市", + "龙井市", + "和龙市", + "汪清县", + "安图县" + ] + }, + "黑龙江省": { + "哈尔滨市": [ + "道里区", + "南岗区", + "道外区", + "平房区", + "松北区", + "香坊区", + "呼兰区", + "阿城区", + "双城区", + "依兰县", + "方正县", + "宾县", + "巴彦县", + "木兰县", + "通河县", + "延寿县", + "尚志市", + "五常市" + ], + "齐齐哈尔市": [ + "龙沙区", + "建华区", + "铁锋区", + "昂昂溪区", + "富拉尔基区", + "碾子山区", + "梅里斯达斡尔族区", + "龙江县", + "依安县", + "泰来县", + "甘南县", + "富裕县", + "克山县", + "克东县", + "拜泉县", + "讷河市" + ], + "鸡西市": [ + "鸡冠区", + "恒山区", + "滴道区", + "梨树区", + "城子河区", + "麻山区", + "鸡东县", + "虎林市", + "密山市" + ], + "鹤岗市": [ + "向阳区", + "工农区", + "南山区", + "兴安区", + "东山区", + "兴山区", + "萝北县", + "绥滨县" + ], + "双鸭山市": [ + "尖山区", + "岭东区", + "四方台区", + "宝山区", + "集贤县", + "友谊县", + "宝清县", + "饶河县" + ], + "大庆市": [ + "萨尔图区", + "龙凤区", + "让胡路区", + "红岗区", + "大同区", + "肇州县", + "肇源县", + "林甸县", + "杜尔伯特蒙古族自治县", + "大庆高新技术产业开发区" + ], + "伊春市": [ + "伊美区", + "乌翠区", + "友好区", + "嘉荫县", + "汤旺县", + "丰林县", + "大箐山县", + "南岔县", + "金林区", + "铁力市" + ], + "佳木斯市": [ + "向阳区", + "前进区", + "东风区", + "郊区", + "桦南县", + "桦川县", + "汤原县", + "同江市", + "富锦市", + "抚远市" + ], + "七台河市": [ + "新兴区", + "桃山区", + "茄子河区", + "勃利县" + ], + "牡丹江市": [ + "东安区", + "阳明区", + "爱民区", + "西安区", + "林口县", + "绥芬河市", + "海林市", + "宁安市", + "穆棱市", + "东宁市" + ], + "黑河市": [ + "爱辉区", + "逊克县", + "孙吴县", + "北安市", + "五大连池市", + "嫩江市" + ], + "绥化市": [ + "北林区", + "望奎县", + "兰西县", + "青冈县", + "庆安县", + "明水县", + "绥棱县", + "安达市", + "肇东市", + "海伦市" + ], + "大兴安岭地区": [ + "漠河市", + "呼玛县", + "塔河县", + "加格达奇区", + "松岭区", + "新林区", + "呼中区" + ] + }, + "上海市": { + "市辖区": [ + "黄浦区", + "徐汇区", + "长宁区", + "静安区", + "普陀区", + "虹口区", + "杨浦区", + "闵行区", + "宝山区", + "嘉定区", + "浦东新区", + "金山区", + "松江区", + "青浦区", + "奉贤区", + "崇明区" + ] + }, + "江苏省": { + "南京市": [ + "玄武区", + "秦淮区", + "建邺区", + "鼓楼区", + "浦口区", + "栖霞区", + "雨花台区", + "江宁区", + "六合区", + "溧水区", + "高淳区" + ], + "无锡市": [ + "锡山区", + "惠山区", + "滨湖区", + "梁溪区", + "新吴区", + "江阴市", + "宜兴市" + ], + "徐州市": [ + "鼓楼区", + "云龙区", + "贾汪区", + "泉山区", + "铜山区", + "丰县", + "沛县", + "睢宁县", + "徐州经济技术开发区", + "新沂市", + "邳州市" + ], + "常州市": [ + "天宁区", + "钟楼区", + "新北区", + "武进区", + "金坛区", + "溧阳市" + ], + "苏州市": [ + "虎丘区", + "吴中区", + "相城区", + "姑苏区", + "吴江区", + "苏州工业园区", + "常熟市", + "张家港市", + "昆山市", + "太仓市" + ], + "南通市": [ + "通州区", + "崇川区", + "海门区", + "如东县", + "南通经济技术开发区", + "启东市", + "如皋市", + "海安市" + ], + "连云港市": [ + "连云区", + "海州区", + "赣榆区", + "东海县", + "灌云县", + "灌南县", + "连云港经济技术开发区" + ], + "淮安市": [ + "淮安区", + "淮阴区", + "清江浦区", + "洪泽区", + "涟水县", + "盱眙县", + "金湖县", + "淮安经济技术开发区" + ], + "盐城市": [ + "亭湖区", + "盐都区", + "大丰区", + "响水县", + "滨海县", + "阜宁县", + "射阳县", + "建湖县", + "盐城经济技术开发区", + "东台市" + ], + "扬州市": [ + "广陵区", + "邗江区", + "江都区", + "宝应县", + "扬州经济技术开发区", + "仪征市", + "高邮市" + ], + "镇江市": [ + "京口区", + "润州区", + "丹徒区", + "镇江新区", + "丹阳市", + "扬中市", + "句容市" + ], + "泰州市": [ + "海陵区", + "高港区", + "姜堰区", + "兴化市", + "靖江市", + "泰兴市" + ], + "宿迁市": [ + "宿城区", + "宿豫区", + "沭阳县", + "泗阳县", + "泗洪县", + "宿迁经济技术开发区" + ] + }, + "浙江省": { + "杭州市": [ + "上城区", + "拱墅区", + "西湖区", + "滨江区", + "萧山区", + "余杭区", + "富阳区", + "临安区", + "临平区", + "钱塘区", + "桐庐县", + "淳安县", + "建德市" + ], + "宁波市": [ + "海曙区", + "江北区", + "北仑区", + "镇海区", + "鄞州区", + "奉化区", + "象山县", + "宁海县", + "余姚市", + "慈溪市" + ], + "温州市": [ + "鹿城区", + "龙湾区", + "瓯海区", + "洞头区", + "永嘉县", + "平阳县", + "苍南县", + "文成县", + "泰顺县", + "瑞安市", + "乐清市", + "龙港市" + ], + "嘉兴市": [ + "南湖区", + "秀洲区", + "嘉善县", + "海盐县", + "海宁市", + "平湖市", + "桐乡市" + ], + "湖州市": [ + "吴兴区", + "南浔区", + "德清县", + "长兴县", + "安吉县" + ], + "绍兴市": [ + "越城区", + "柯桥区", + "上虞区", + "新昌县", + "诸暨市", + "嵊州市" + ], + "金华市": [ + "婺城区", + "金东区", + "武义县", + "浦江县", + "磐安县", + "兰溪市", + "义乌市", + "东阳市", + "永康市" + ], + "衢州市": [ + "柯城区", + "衢江区", + "常山县", + "开化县", + "龙游县", + "江山市" + ], + "舟山市": [ + "定海区", + "普陀区", + "岱山县", + "嵊泗县" + ], + "台州市": [ + "椒江区", + "黄岩区", + "路桥区", + "三门县", + "天台县", + "仙居县", + "温岭市", + "临海市", + "玉环市" + ], + "丽水市": [ + "莲都区", + "青田县", + "缙云县", + "遂昌县", + "松阳县", + "云和县", + "庆元县", + "景宁畲族自治县", + "龙泉市" + ] + }, + "安徽省": { + "合肥市": [ + "瑶海区", + "庐阳区", + "蜀山区", + "包河区", + "长丰县", + "肥东县", + "肥西县", + "庐江县", + "合肥高新技术产业开发区", + "合肥经济技术开发区", + "合肥新站高新技术产业开发区", + "巢湖市" + ], + "芜湖市": [ + "镜湖区", + "鸠江区", + "弋江区", + "湾沚区", + "繁昌区", + "南陵县", + "芜湖经济技术开发区", + "安徽芜湖三山经济开发区", + "无为市" + ], + "蚌埠市": [ + "龙子湖区", + "蚌山区", + "禹会区", + "淮上区", + "怀远县", + "五河县", + "固镇县", + "蚌埠市高新技术开发区", + "蚌埠市经济开发区" + ], + "淮南市": [ + "大通区", + "田家庵区", + "谢家集区", + "八公山区", + "潘集区", + "凤台县", + "寿县" + ], + "马鞍山市": [ + "花山区", + "雨山区", + "博望区", + "当涂县", + "含山县", + "和县" + ], + "淮北市": [ + "杜集区", + "相山区", + "烈山区", + "濉溪县" + ], + "铜陵市": [ + "铜官区", + "义安区", + "郊区", + "枞阳县" + ], + "安庆市": [ + "迎江区", + "大观区", + "宜秀区", + "怀宁县", + "太湖县", + "宿松县", + "望江县", + "岳西县", + "安徽安庆经济开发区", + "桐城市", + "潜山市" + ], + "黄山市": [ + "屯溪区", + "黄山区", + "徽州区", + "歙县", + "休宁县", + "黟县", + "祁门县" + ], + "滁州市": [ + "琅琊区", + "南谯区", + "来安县", + "全椒县", + "定远县", + "凤阳县", + "中新苏滁高新技术产业开发区", + "滁州经济技术开发区", + "天长市", + "明光市" + ], + "阜阳市": [ + "颍州区", + "颍东区", + "颍泉区", + "临泉县", + "太和县", + "阜南县", + "颍上县", + "阜阳合肥现代产业园区", + "阜阳经济技术开发区", + "界首市" + ], + "宿州市": [ + "埇桥区", + "砀山县", + "萧县", + "灵璧县", + "泗县", + "宿州马鞍山现代产业园区", + "宿州经济技术开发区" + ], + "六安市": [ + "金安区", + "裕安区", + "叶集区", + "霍邱县", + "舒城县", + "金寨县", + "霍山县" + ], + "亳州市": [ + "谯城区", + "涡阳县", + "蒙城县", + "利辛县" + ], + "池州市": [ + "贵池区", + "东至县", + "石台县", + "青阳县" + ], + "宣城市": [ + "宣州区", + "郎溪县", + "泾县", + "绩溪县", + "旌德县", + "宣城市经济开发区", + "宁国市", + "广德市" + ] + }, + "福建省": { + "福州市": [ + "鼓楼区", + "台江区", + "仓山区", + "马尾区", + "晋安区", + "长乐区", + "闽侯县", + "连江县", + "罗源县", + "闽清县", + "永泰县", + "平潭县", + "福清市" + ], + "厦门市": [ + "思明区", + "海沧区", + "湖里区", + "集美区", + "同安区", + "翔安区" + ], + "莆田市": [ + "城厢区", + "涵江区", + "荔城区", + "秀屿区", + "仙游县" + ], + "三明市": [ + "三元区", + "沙县区", + "明溪县", + "清流县", + "宁化县", + "大田县", + "尤溪县", + "将乐县", + "泰宁县", + "建宁县", + "永安市" + ], + "泉州市": [ + "鲤城区", + "丰泽区", + "洛江区", + "泉港区", + "惠安县", + "安溪县", + "永春县", + "德化县", + "金门县", + "石狮市", + "晋江市", + "南安市" + ], + "漳州市": [ + "芗城区", + "龙文区", + "龙海区", + "长泰区", + "云霄县", + "漳浦县", + "诏安县", + "东山县", + "南靖县", + "平和县", + "华安县" + ], + "南平市": [ + "延平区", + "建阳区", + "顺昌县", + "浦城县", + "光泽县", + "松溪县", + "政和县", + "邵武市", + "武夷山市", + "建瓯市" + ], + "龙岩市": [ + "新罗区", + "永定区", + "长汀县", + "上杭县", + "武平县", + "连城县", + "漳平市" + ], + "宁德市": [ + "蕉城区", + "霞浦县", + "古田县", + "屏南县", + "寿宁县", + "周宁县", + "柘荣县", + "福安市", + "福鼎市" + ] + }, + "江西省": { + "南昌市": [ + "东湖区", + "西湖区", + "青云谱区", + "青山湖区", + "新建区", + "红谷滩区", + "南昌县", + "安义县", + "进贤县" + ], + "景德镇市": [ + "昌江区", + "珠山区", + "浮梁县", + "乐平市" + ], + "萍乡市": [ + "安源区", + "湘东区", + "莲花县", + "上栗县", + "芦溪县" + ], + "九江市": [ + "濂溪区", + "浔阳区", + "柴桑区", + "武宁县", + "修水县", + "永修县", + "德安县", + "都昌县", + "湖口县", + "彭泽县", + "瑞昌市", + "共青城市", + "庐山市" + ], + "新余市": [ + "渝水区", + "分宜县" + ], + "鹰潭市": [ + "月湖区", + "余江区", + "贵溪市" + ], + "赣州市": [ + "章贡区", + "南康区", + "赣县区", + "信丰县", + "大余县", + "上犹县", + "崇义县", + "安远县", + "定南县", + "全南县", + "宁都县", + "于都县", + "兴国县", + "会昌县", + "寻乌县", + "石城县", + "瑞金市", + "龙南市" + ], + "吉安市": [ + "吉州区", + "青原区", + "吉安县", + "吉水县", + "峡江县", + "新干县", + "永丰县", + "泰和县", + "遂川县", + "万安县", + "安福县", + "永新县", + "井冈山市" + ], + "宜春市": [ + "袁州区", + "奉新县", + "万载县", + "上高县", + "宜丰县", + "靖安县", + "铜鼓县", + "丰城市", + "樟树市", + "高安市" + ], + "抚州市": [ + "临川区", + "东乡区", + "南城县", + "黎川县", + "南丰县", + "崇仁县", + "乐安县", + "宜黄县", + "金溪县", + "资溪县", + "广昌县" + ], + "上饶市": [ + "信州区", + "广丰区", + "广信区", + "玉山县", + "铅山县", + "横峰县", + "弋阳县", + "余干县", + "鄱阳县", + "万年县", + "婺源县", + "德兴市" + ] + }, + "山东省": { + "济南市": [ + "历下区", + "市中区", + "槐荫区", + "天桥区", + "历城区", + "长清区", + "章丘区", + "济阳区", + "莱芜区", + "钢城区", + "平阴县", + "商河县", + "济南高新技术产业开发区" + ], + "青岛市": [ + "市南区", + "市北区", + "黄岛区", + "崂山区", + "李沧区", + "城阳区", + "即墨区", + "胶州市", + "平度市", + "莱西市" + ], + "淄博市": [ + "淄川区", + "张店区", + "博山区", + "临淄区", + "周村区", + "桓台县", + "高青县", + "沂源县" + ], + "枣庄市": [ + "市中区", + "薛城区", + "峄城区", + "台儿庄区", + "山亭区", + "滕州市" + ], + "东营市": [ + "东营区", + "河口区", + "垦利区", + "利津县", + "广饶县", + "东营经济技术开发区", + "东营港经济开发区" + ], + "烟台市": [ + "芝罘区", + "福山区", + "牟平区", + "莱山区", + "蓬莱区", + "烟台高新技术产业开发区", + "烟台经济技术开发区", + "龙口市", + "莱阳市", + "莱州市", + "招远市", + "栖霞市", + "海阳市" + ], + "潍坊市": [ + "潍城区", + "寒亭区", + "坊子区", + "奎文区", + "临朐县", + "昌乐县", + "潍坊滨海经济技术开发区", + "青州市", + "诸城市", + "寿光市", + "安丘市", + "高密市", + "昌邑市" + ], + "济宁市": [ + "任城区", + "兖州区", + "微山县", + "鱼台县", + "金乡县", + "嘉祥县", + "汶上县", + "泗水县", + "梁山县", + "济宁高新技术产业开发区", + "曲阜市", + "邹城市" + ], + "泰安市": [ + "泰山区", + "岱岳区", + "宁阳县", + "东平县", + "新泰市", + "肥城市" + ], + "威海市": [ + "环翠区", + "文登区", + "威海火炬高技术产业开发区", + "威海经济技术开发区", + "威海临港经济技术开发区", + "荣成市", + "乳山市" + ], + "日照市": [ + "东港区", + "岚山区", + "五莲县", + "莒县", + "日照经济技术开发区" + ], + "临沂市": [ + "兰山区", + "罗庄区", + "河东区", + "沂南县", + "郯城县", + "沂水县", + "兰陵县", + "费县", + "平邑县", + "莒南县", + "蒙阴县", + "临沭县", + "临沂高新技术产业开发区" + ], + "德州市": [ + "德城区", + "陵城区", + "宁津县", + "庆云县", + "临邑县", + "齐河县", + "平原县", + "夏津县", + "武城县", + "德州天衢新区", + "乐陵市", + "禹城市" + ], + "聊城市": [ + "东昌府区", + "茌平区", + "阳谷县", + "莘县", + "东阿县", + "冠县", + "高唐县", + "临清市" + ], + "滨州市": [ + "滨城区", + "沾化区", + "惠民县", + "阳信县", + "无棣县", + "博兴县", + "邹平市" + ], + "菏泽市": [ + "牡丹区", + "定陶区", + "曹县", + "单县", + "成武县", + "巨野县", + "郓城县", + "鄄城县", + "东明县", + "菏泽经济技术开发区", + "菏泽高新技术开发区" + ] + }, + "河南省": { + "郑州市": [ + "中原区", + "二七区", + "管城回族区", + "金水区", + "上街区", + "惠济区", + "中牟县", + "郑州经济技术开发区", + "郑州高新技术产业开发区", + "郑州航空港经济综合实验区", + "巩义市", + "荥阳市", + "新密市", + "新郑市", + "登封市" + ], + "开封市": [ + "龙亭区", + "顺河回族区", + "鼓楼区", + "禹王台区", + "祥符区", + "杞县", + "通许县", + "尉氏县", + "兰考县" + ], + "洛阳市": [ + "老城区", + "西工区", + "瀍河回族区", + "涧西区", + "偃师区", + "孟津区", + "洛龙区", + "新安县", + "栾川县", + "嵩县", + "汝阳县", + "宜阳县", + "洛宁县", + "伊川县", + "洛阳高新技术产业开发区" + ], + "平顶山市": [ + "新华区", + "卫东区", + "石龙区", + "湛河区", + "宝丰县", + "叶县", + "鲁山县", + "郏县", + "平顶山高新技术产业开发区", + "平顶山市城乡一体化示范区", + "舞钢市", + "汝州市" + ], + "安阳市": [ + "文峰区", + "北关区", + "殷都区", + "龙安区", + "安阳县", + "汤阴县", + "滑县", + "内黄县", + "安阳高新技术产业开发区", + "林州市" + ], + "鹤壁市": [ + "鹤山区", + "山城区", + "淇滨区", + "浚县", + "淇县", + "鹤壁经济技术开发区" + ], + "新乡市": [ + "红旗区", + "卫滨区", + "凤泉区", + "牧野区", + "新乡县", + "获嘉县", + "原阳县", + "延津县", + "封丘县", + "新乡高新技术产业开发区", + "新乡经济技术开发区", + "新乡市平原城乡一体化示范区", + "卫辉市", + "辉县市", + "长垣市" + ], + "焦作市": [ + "解放区", + "中站区", + "马村区", + "山阳区", + "修武县", + "博爱县", + "武陟县", + "温县", + "焦作城乡一体化示范区", + "沁阳市", + "孟州市" + ], + "濮阳市": [ + "华龙区", + "清丰县", + "南乐县", + "范县", + "台前县", + "濮阳县", + "河南濮阳工业园区", + "濮阳经济技术开发区" + ], + "许昌市": [ + "魏都区", + "建安区", + "鄢陵县", + "襄城县", + "许昌经济技术开发区", + "禹州市", + "长葛市" + ], + "漯河市": [ + "源汇区", + "郾城区", + "召陵区", + "舞阳县", + "临颍县", + "漯河经济技术开发区" + ], + "三门峡市": [ + "湖滨区", + "陕州区", + "渑池县", + "卢氏县", + "河南三门峡经济开发区", + "义马市", + "灵宝市" + ], + "南阳市": [ + "宛城区", + "卧龙区", + "南召县", + "方城县", + "西峡县", + "镇平县", + "内乡县", + "淅川县", + "社旗县", + "唐河县", + "新野县", + "桐柏县", + "南阳高新技术产业开发区", + "南阳市城乡一体化示范区", + "邓州市" + ], + "商丘市": [ + "梁园区", + "睢阳区", + "民权县", + "睢县", + "宁陵县", + "柘城县", + "虞城县", + "夏邑县", + "豫东综合物流产业聚集区", + "河南商丘经济开发区", + "永城市" + ], + "信阳市": [ + "浉河区", + "平桥区", + "罗山县", + "光山县", + "新县", + "商城县", + "固始县", + "潢川县", + "淮滨县", + "息县", + "信阳高新技术产业开发区" + ], + "周口市": [ + "川汇区", + "淮阳区", + "扶沟县", + "西华县", + "商水县", + "沈丘县", + "郸城县", + "太康县", + "鹿邑县", + "周口临港开发区", + "项城市" + ], + "驻马店市": [ + "驿城区", + "西平县", + "上蔡县", + "平舆县", + "正阳县", + "确山县", + "泌阳县", + "汝南县", + "遂平县", + "新蔡县", + "河南驻马店经济开发区" + ], + "省直辖县级行政区划": [ + "济源市" + ] + }, + "湖北省": { + "武汉市": [ + "江岸区", + "江汉区", + "硚口区", + "汉阳区", + "武昌区", + "青山区", + "洪山区", + "东西湖区", + "汉南区", + "蔡甸区", + "江夏区", + "黄陂区", + "新洲区" + ], + "黄石市": [ + "黄石港区", + "西塞山区", + "下陆区", + "铁山区", + "阳新县", + "大冶市" + ], + "十堰市": [ + "茅箭区", + "张湾区", + "郧阳区", + "郧西县", + "竹山县", + "竹溪县", + "房县", + "丹江口市" + ], + "宜昌市": [ + "西陵区", + "伍家岗区", + "点军区", + "猇亭区", + "夷陵区", + "远安县", + "兴山县", + "秭归县", + "长阳土家族自治县", + "五峰土家族自治县", + "宜都市", + "当阳市", + "枝江市" + ], + "襄阳市": [ + "襄城区", + "樊城区", + "襄州区", + "南漳县", + "谷城县", + "保康县", + "老河口市", + "枣阳市", + "宜城市" + ], + "鄂州市": [ + "梁子湖区", + "华容区", + "鄂城区" + ], + "荆门市": [ + "东宝区", + "掇刀区", + "沙洋县", + "钟祥市", + "京山市" + ], + "孝感市": [ + "孝南区", + "孝昌县", + "大悟县", + "云梦县", + "应城市", + "安陆市", + "汉川市" + ], + "荆州市": [ + "沙市区", + "荆州区", + "公安县", + "江陵县", + "荆州经济技术开发区", + "石首市", + "洪湖市", + "松滋市", + "监利市" + ], + "黄冈市": [ + "黄州区", + "团风县", + "红安县", + "罗田县", + "英山县", + "浠水县", + "蕲春县", + "黄梅县", + "龙感湖管理区", + "麻城市", + "武穴市" + ], + "咸宁市": [ + "咸安区", + "嘉鱼县", + "通城县", + "崇阳县", + "通山县", + "赤壁市" + ], + "随州市": [ + "曾都区", + "随县", + "广水市" + ], + "恩施土家族苗族自治州": [ + "恩施市", + "利川市", + "建始县", + "巴东县", + "宣恩县", + "咸丰县", + "来凤县", + "鹤峰县" + ], + "省直辖县级行政区划": [ + "仙桃市", + "潜江市", + "天门市", + "神农架林区" + ] + }, + "湖南省": { + "长沙市": [ + "芙蓉区", + "天心区", + "岳麓区", + "开福区", + "雨花区", + "望城区", + "长沙县", + "浏阳市", + "宁乡市" + ], + "株洲市": [ + "荷塘区", + "芦淞区", + "石峰区", + "天元区", + "渌口区", + "攸县", + "茶陵县", + "炎陵县", + "醴陵市" + ], + "湘潭市": [ + "雨湖区", + "岳塘区", + "湘潭县", + "湖南湘潭高新技术产业园区", + "湘潭昭山示范区", + "湘潭九华示范区", + "湘乡市", + "韶山市" + ], + "衡阳市": [ + "珠晖区", + "雁峰区", + "石鼓区", + "蒸湘区", + "南岳区", + "衡阳县", + "衡南县", + "衡山县", + "衡东县", + "祁东县", + "湖南衡阳松木经济开发区", + "湖南衡阳高新技术产业园区", + "耒阳市", + "常宁市" + ], + "邵阳市": [ + "双清区", + "大祥区", + "北塔区", + "新邵县", + "邵阳县", + "隆回县", + "洞口县", + "绥宁县", + "新宁县", + "城步苗族自治县", + "武冈市", + "邵东市" + ], + "岳阳市": [ + "岳阳楼区", + "云溪区", + "君山区", + "岳阳县", + "华容县", + "湘阴县", + "平江县", + "岳阳市屈原管理区", + "汨罗市", + "临湘市" + ], + "常德市": [ + "武陵区", + "鼎城区", + "安乡县", + "汉寿县", + "澧县", + "临澧县", + "桃源县", + "石门县", + "常德市西洞庭管理区", + "津市市" + ], + "张家界市": [ + "永定区", + "武陵源区", + "慈利县", + "桑植县" + ], + "益阳市": [ + "资阳区", + "赫山区", + "南县", + "桃江县", + "安化县", + "益阳市大通湖管理区", + "湖南益阳高新技术产业园区", + "沅江市" + ], + "郴州市": [ + "北湖区", + "苏仙区", + "桂阳县", + "宜章县", + "永兴县", + "嘉禾县", + "临武县", + "汝城县", + "桂东县", + "安仁县", + "资兴市" + ], + "永州市": [ + "零陵区", + "冷水滩区", + "东安县", + "双牌县", + "道县", + "江永县", + "宁远县", + "蓝山县", + "新田县", + "江华瑶族自治县", + "永州经济技术开发区", + "永州市回龙圩管理区", + "祁阳市" + ], + "怀化市": [ + "鹤城区", + "中方县", + "沅陵县", + "辰溪县", + "溆浦县", + "会同县", + "麻阳苗族自治县", + "新晃侗族自治县", + "芷江侗族自治县", + "靖州苗族侗族自治县", + "通道侗族自治县", + "怀化市洪江管理区", + "洪江市" + ], + "娄底市": [ + "娄星区", + "双峰县", + "新化县", + "冷水江市", + "涟源市" + ], + "湘西土家族苗族自治州": [ + "吉首市", + "泸溪县", + "凤凰县", + "花垣县", + "保靖县", + "古丈县", + "永顺县", + "龙山县" + ] + }, + "广东省": { + "广州市": [ + "荔湾区", + "越秀区", + "海珠区", + "天河区", + "白云区", + "黄埔区", + "番禺区", + "花都区", + "南沙区", + "从化区", + "增城区" + ], + "韶关市": [ + "武江区", + "浈江区", + "曲江区", + "始兴县", + "仁化县", + "翁源县", + "乳源瑶族自治县", + "新丰县", + "乐昌市", + "南雄市" + ], + "深圳市": [ + "罗湖区", + "福田区", + "南山区", + "宝安区", + "龙岗区", + "盐田区", + "龙华区", + "坪山区", + "光明区" + ], + "珠海市": [ + "香洲区", + "斗门区", + "金湾区" + ], + "汕头市": [ + "龙湖区", + "金平区", + "濠江区", + "潮阳区", + "潮南区", + "澄海区", + "南澳县" + ], + "佛山市": [ + "禅城区", + "南海区", + "顺德区", + "三水区", + "高明区" + ], + "江门市": [ + "蓬江区", + "江海区", + "新会区", + "台山市", + "开平市", + "鹤山市", + "恩平市" + ], + "湛江市": [ + "赤坎区", + "霞山区", + "坡头区", + "麻章区", + "遂溪县", + "徐闻县", + "廉江市", + "雷州市", + "吴川市" + ], + "茂名市": [ + "茂南区", + "电白区", + "高州市", + "化州市", + "信宜市" + ], + "肇庆市": [ + "端州区", + "鼎湖区", + "高要区", + "广宁县", + "怀集县", + "封开县", + "德庆县", + "四会市" + ], + "惠州市": [ + "惠城区", + "惠阳区", + "博罗县", + "惠东县", + "龙门县" + ], + "梅州市": [ + "梅江区", + "梅县区", + "大埔县", + "丰顺县", + "五华县", + "平远县", + "蕉岭县", + "兴宁市" + ], + "汕尾市": [ + "城区", + "海丰县", + "陆河县", + "陆丰市" + ], + "河源市": [ + "源城区", + "紫金县", + "龙川县", + "连平县", + "和平县", + "东源县" + ], + "阳江市": [ + "江城区", + "阳东区", + "阳西县", + "阳春市" + ], + "清远市": [ + "清城区", + "清新区", + "佛冈县", + "阳山县", + "连山壮族瑶族自治县", + "连南瑶族自治县", + "英德市", + "连州市" + ], + "东莞市": [ + "东城街道", + "南城街道", + "万江街道", + "莞城街道", + "石碣镇", + "石龙镇", + "茶山镇", + "石排镇", + "企石镇", + "横沥镇", + "桥头镇", + "谢岗镇", + "东坑镇", + "常平镇", + "寮步镇", + "樟木头镇", + "大朗镇", + "黄江镇", + "清溪镇", + "塘厦镇", + "凤岗镇", + "大岭山镇", + "长安镇", + "虎门镇", + "厚街镇", + "沙田镇", + "道滘镇", + "洪梅镇", + "麻涌镇", + "望牛墩镇", + "中堂镇", + "高埗镇", + "松山湖", + "东莞港", + "东莞生态园", + "东莞滨海湾新区" + ], + "中山市": [ + "石岐街道", + "东区街道", + "中山港街道", + "西区街道", + "南区街道", + "五桂山街道", + "民众街道", + "南朗街道", + "黄圃镇", + "东凤镇", + "古镇镇", + "沙溪镇", + "坦洲镇", + "港口镇", + "三角镇", + "横栏镇", + "南头镇", + "阜沙镇", + "三乡镇", + "板芙镇", + "大涌镇", + "神湾镇", + "小榄镇" + ], + "潮州市": [ + "湘桥区", + "潮安区", + "饶平县" + ], + "揭阳市": [ + "榕城区", + "揭东区", + "揭西县", + "惠来县", + "普宁市" + ], + "云浮市": [ + "云城区", + "云安区", + "新兴县", + "郁南县", + "罗定市" + ] + }, + "广西壮族自治区": { + "南宁市": [ + "兴宁区", + "青秀区", + "江南区", + "西乡塘区", + "良庆区", + "邕宁区", + "武鸣区", + "隆安县", + "马山县", + "上林县", + "宾阳县", + "横州市" + ], + "柳州市": [ + "城中区", + "鱼峰区", + "柳南区", + "柳北区", + "柳江区", + "柳城县", + "鹿寨县", + "融安县", + "融水苗族自治县", + "三江侗族自治县" + ], + "桂林市": [ + "秀峰区", + "叠彩区", + "象山区", + "七星区", + "雁山区", + "临桂区", + "阳朔县", + "灵川县", + "全州县", + "兴安县", + "永福县", + "灌阳县", + "龙胜各族自治县", + "资源县", + "平乐县", + "恭城瑶族自治县", + "荔浦市" + ], + "梧州市": [ + "万秀区", + "长洲区", + "龙圩区", + "苍梧县", + "藤县", + "蒙山县", + "岑溪市" + ], + "北海市": [ + "海城区", + "银海区", + "铁山港区", + "合浦县" + ], + "防城港市": [ + "港口区", + "防城区", + "上思县", + "东兴市" + ], + "钦州市": [ + "钦南区", + "钦北区", + "灵山县", + "浦北县" + ], + "贵港市": [ + "港北区", + "港南区", + "覃塘区", + "平南县", + "桂平市" + ], + "玉林市": [ + "玉州区", + "福绵区", + "容县", + "陆川县", + "博白县", + "兴业县", + "北流市" + ], + "百色市": [ + "右江区", + "田阳区", + "田东县", + "德保县", + "那坡县", + "凌云县", + "乐业县", + "田林县", + "西林县", + "隆林各族自治县", + "靖西市", + "平果市" + ], + "贺州市": [ + "八步区", + "平桂区", + "昭平县", + "钟山县", + "富川瑶族自治县" + ], + "河池市": [ + "金城江区", + "宜州区", + "南丹县", + "天峨县", + "凤山县", + "东兰县", + "罗城仫佬族自治县", + "环江毛南族自治县", + "巴马瑶族自治县", + "都安瑶族自治县", + "大化瑶族自治县" + ], + "来宾市": [ + "兴宾区", + "忻城县", + "象州县", + "武宣县", + "金秀瑶族自治县", + "合山市" + ], + "崇左市": [ + "江州区", + "扶绥县", + "宁明县", + "龙州县", + "大新县", + "天等县", + "凭祥市" + ] + }, + "海南省": { + "海口市": [ + "秀英区", + "龙华区", + "琼山区", + "美兰区" + ], + "三亚市": [ + "海棠区", + "吉阳区", + "天涯区", + "崖州区" + ], + "三沙市": [ + "西沙群岛", + "南沙群岛", + "中沙群岛的岛礁及其海域" + ], + "儋州市": [ + "那大镇", + "和庆镇", + "南丰镇", + "大成镇", + "雅星镇", + "兰洋镇", + "光村镇", + "木棠镇", + "海头镇", + "峨蔓镇", + "王五镇", + "白马井镇", + "中和镇", + "排浦镇", + "东成镇", + "新州镇", + "洋浦经济开发区", + "华南热作学院" + ], + "省直辖县级行政区划": [ + "五指山市", + "琼海市", + "文昌市", + "万宁市", + "东方市", + "定安县", + "屯昌县", + "澄迈县", + "临高县", + "白沙黎族自治县", + "昌江黎族自治县", + "乐东黎族自治县", + "陵水黎族自治县", + "保亭黎族苗族自治县", + "琼中黎族苗族自治县" + ] + }, + "重庆市": { + "市辖区": [ + "万州区", + "涪陵区", + "渝中区", + "大渡口区", + "江北区", + "沙坪坝区", + "九龙坡区", + "南岸区", + "北碚区", + "綦江区", + "大足区", + "渝北区", + "巴南区", + "黔江区", + "长寿区", + "江津区", + "合川区", + "永川区", + "南川区", + "璧山区", + "铜梁区", + "潼南区", + "荣昌区", + "开州区", + "梁平区", + "武隆区" + ], + "县": [ + "城口县", + "丰都县", + "垫江县", + "忠县", + "云阳县", + "奉节县", + "巫山县", + "巫溪县", + "石柱土家族自治县", + "秀山土家族苗族自治县", + "酉阳土家族苗族自治县", + "彭水苗族土家族自治县" + ] + }, + "四川省": { + "成都市": [ + "锦江区", + "青羊区", + "金牛区", + "武侯区", + "成华区", + "龙泉驿区", + "青白江区", + "新都区", + "温江区", + "双流区", + "郫都区", + "新津区", + "金堂县", + "大邑县", + "蒲江县", + "都江堰市", + "彭州市", + "邛崃市", + "崇州市", + "简阳市" + ], + "自贡市": [ + "自流井区", + "贡井区", + "大安区", + "沿滩区", + "荣县", + "富顺县" + ], + "攀枝花市": [ + "东区", + "西区", + "仁和区", + "米易县", + "盐边县" + ], + "泸州市": [ + "江阳区", + "纳溪区", + "龙马潭区", + "泸县", + "合江县", + "叙永县", + "古蔺县" + ], + "德阳市": [ + "旌阳区", + "罗江区", + "中江县", + "广汉市", + "什邡市", + "绵竹市" + ], + "绵阳市": [ + "涪城区", + "游仙区", + "安州区", + "三台县", + "盐亭县", + "梓潼县", + "北川羌族自治县", + "平武县", + "江油市" + ], + "广元市": [ + "利州区", + "昭化区", + "朝天区", + "旺苍县", + "青川县", + "剑阁县", + "苍溪县" + ], + "遂宁市": [ + "船山区", + "安居区", + "蓬溪县", + "大英县", + "射洪市" + ], + "内江市": [ + "市中区", + "东兴区", + "威远县", + "资中县", + "隆昌市" + ], + "乐山市": [ + "市中区", + "沙湾区", + "五通桥区", + "金口河区", + "犍为县", + "井研县", + "夹江县", + "沐川县", + "峨边彝族自治县", + "马边彝族自治县", + "峨眉山市" + ], + "南充市": [ + "顺庆区", + "高坪区", + "嘉陵区", + "南部县", + "营山县", + "蓬安县", + "仪陇县", + "西充县", + "阆中市" + ], + "眉山市": [ + "东坡区", + "彭山区", + "仁寿县", + "洪雅县", + "丹棱县", + "青神县" + ], + "宜宾市": [ + "翠屏区", + "南溪区", + "叙州区", + "江安县", + "长宁县", + "高县", + "珙县", + "筠连县", + "兴文县", + "屏山县" + ], + "广安市": [ + "广安区", + "前锋区", + "岳池县", + "武胜县", + "邻水县", + "华蓥市" + ], + "达州市": [ + "通川区", + "达川区", + "宣汉县", + "开江县", + "大竹县", + "渠县", + "万源市" + ], + "雅安市": [ + "雨城区", + "名山区", + "荥经县", + "汉源县", + "石棉县", + "天全县", + "芦山县", + "宝兴县" + ], + "巴中市": [ + "巴州区", + "恩阳区", + "通江县", + "南江县", + "平昌县" + ], + "资阳市": [ + "雁江区", + "安岳县", + "乐至县" + ], + "阿坝藏族羌族自治州": [ + "马尔康市", + "汶川县", + "理县", + "茂县", + "松潘县", + "九寨沟县", + "金川县", + "小金县", + "黑水县", + "壤塘县", + "阿坝县", + "若尔盖县", + "红原县" + ], + "甘孜藏族自治州": [ + "康定市", + "泸定县", + "丹巴县", + "九龙县", + "雅江县", + "道孚县", + "炉霍县", + "甘孜县", + "新龙县", + "德格县", + "白玉县", + "石渠县", + "色达县", + "理塘县", + "巴塘县", + "乡城县", + "稻城县", + "得荣县" + ], + "凉山彝族自治州": [ + "西昌市", + "会理市", + "木里藏族自治县", + "盐源县", + "德昌县", + "会东县", + "宁南县", + "普格县", + "布拖县", + "金阳县", + "昭觉县", + "喜德县", + "冕宁县", + "越西县", + "甘洛县", + "美姑县", + "雷波县" + ] + }, + "贵州省": { + "贵阳市": [ + "南明区", + "云岩区", + "花溪区", + "乌当区", + "白云区", + "观山湖区", + "开阳县", + "息烽县", + "修文县", + "清镇市" + ], + "六盘水市": [ + "钟山区", + "六枝特区", + "水城区", + "盘州市" + ], + "遵义市": [ + "红花岗区", + "汇川区", + "播州区", + "桐梓县", + "绥阳县", + "正安县", + "道真仡佬族苗族自治县", + "务川仡佬族苗族自治县", + "凤冈县", + "湄潭县", + "余庆县", + "习水县", + "赤水市", + "仁怀市" + ], + "安顺市": [ + "西秀区", + "平坝区", + "普定县", + "镇宁布依族苗族自治县", + "关岭布依族苗族自治县", + "紫云苗族布依族自治县" + ], + "毕节市": [ + "七星关区", + "大方县", + "金沙县", + "织金县", + "纳雍县", + "威宁彝族回族苗族自治县", + "赫章县", + "黔西市" + ], + "铜仁市": [ + "碧江区", + "万山区", + "江口县", + "玉屏侗族自治县", + "石阡县", + "思南县", + "印江土家族苗族自治县", + "德江县", + "沿河土家族自治县", + "松桃苗族自治县" + ], + "黔西南布依族苗族自治州": [ + "兴义市", + "兴仁市", + "普安县", + "晴隆县", + "贞丰县", + "望谟县", + "册亨县", + "安龙县" + ], + "黔东南苗族侗族自治州": [ + "凯里市", + "黄平县", + "施秉县", + "三穗县", + "镇远县", + "岑巩县", + "天柱县", + "锦屏县", + "剑河县", + "台江县", + "黎平县", + "榕江县", + "从江县", + "雷山县", + "麻江县", + "丹寨县" + ], + "黔南布依族苗族自治州": [ + "都匀市", + "福泉市", + "荔波县", + "贵定县", + "瓮安县", + "独山县", + "平塘县", + "罗甸县", + "长顺县", + "龙里县", + "惠水县", + "三都水族自治县" + ] + }, + "云南省": { + "昆明市": [ + "五华区", + "盘龙区", + "官渡区", + "西山区", + "东川区", + "呈贡区", + "晋宁区", + "富民县", + "宜良县", + "石林彝族自治县", + "嵩明县", + "禄劝彝族苗族自治县", + "寻甸回族彝族自治县", + "安宁市" + ], + "曲靖市": [ + "麒麟区", + "沾益区", + "马龙区", + "陆良县", + "师宗县", + "罗平县", + "富源县", + "会泽县", + "宣威市" + ], + "玉溪市": [ + "红塔区", + "江川区", + "通海县", + "华宁县", + "易门县", + "峨山彝族自治县", + "新平彝族傣族自治县", + "元江哈尼族彝族傣族自治县", + "澄江市" + ], + "保山市": [ + "隆阳区", + "施甸县", + "龙陵县", + "昌宁县", + "腾冲市" + ], + "昭通市": [ + "昭阳区", + "鲁甸县", + "巧家县", + "盐津县", + "大关县", + "永善县", + "绥江县", + "镇雄县", + "彝良县", + "威信县", + "水富市" + ], + "丽江市": [ + "古城区", + "玉龙纳西族自治县", + "永胜县", + "华坪县", + "宁蒗彝族自治县" + ], + "普洱市": [ + "思茅区", + "宁洱哈尼族彝族自治县", + "墨江哈尼族自治县", + "景东彝族自治县", + "景谷傣族彝族自治县", + "镇沅彝族哈尼族拉祜族自治县", + "江城哈尼族彝族自治县", + "孟连傣族拉祜族佤族自治县", + "澜沧拉祜族自治县", + "西盟佤族自治县" + ], + "临沧市": [ + "临翔区", + "凤庆县", + "云县", + "永德县", + "镇康县", + "双江拉祜族佤族布朗族傣族自治县", + "耿马傣族佤族自治县", + "沧源佤族自治县" + ], + "楚雄彝族自治州": [ + "楚雄市", + "禄丰市", + "双柏县", + "牟定县", + "南华县", + "姚安县", + "大姚县", + "永仁县", + "元谋县", + "武定县" + ], + "红河哈尼族彝族自治州": [ + "个旧市", + "开远市", + "蒙自市", + "弥勒市", + "屏边苗族自治县", + "建水县", + "石屏县", + "泸西县", + "元阳县", + "红河县", + "金平苗族瑶族傣族自治县", + "绿春县", + "河口瑶族自治县" + ], + "文山壮族苗族自治州": [ + "文山市", + "砚山县", + "西畴县", + "麻栗坡县", + "马关县", + "丘北县", + "广南县", + "富宁县" + ], + "西双版纳傣族自治州": [ + "景洪市", + "勐海县", + "勐腊县" + ], + "大理白族自治州": [ + "大理市", + "漾濞彝族自治县", + "祥云县", + "宾川县", + "弥渡县", + "南涧彝族自治县", + "巍山彝族回族自治县", + "永平县", + "云龙县", + "洱源县", + "剑川县", + "鹤庆县" + ], + "德宏傣族景颇族自治州": [ + "瑞丽市", + "芒市", + "梁河县", + "盈江县", + "陇川县" + ], + "怒江傈僳族自治州": [ + "泸水市", + "福贡县", + "贡山独龙族怒族自治县", + "兰坪白族普米族自治县" + ], + "迪庆藏族自治州": [ + "香格里拉市", + "德钦县", + "维西傈僳族自治县" + ] + }, + "西藏自治区": { + "拉萨市": [ + "城关区", + "堆龙德庆区", + "达孜区", + "林周县", + "当雄县", + "尼木县", + "曲水县", + "墨竹工卡县", + "格尔木藏青工业园区", + "拉萨经济技术开发区", + "西藏文化旅游创意园区", + "达孜工业园区" + ], + "日喀则市": [ + "桑珠孜区", + "南木林县", + "江孜县", + "定日县", + "萨迦县", + "拉孜县", + "昂仁县", + "谢通门县", + "白朗县", + "仁布县", + "康马县", + "定结县", + "仲巴县", + "亚东县", + "吉隆县", + "聂拉木县", + "萨嘎县", + "岗巴县" + ], + "昌都市": [ + "卡若区", + "江达县", + "贡觉县", + "类乌齐县", + "丁青县", + "察雅县", + "八宿县", + "左贡县", + "芒康县", + "洛隆县", + "边坝县" + ], + "林芝市": [ + "巴宜区", + "工布江达县", + "墨脱县", + "波密县", + "察隅县", + "朗县", + "米林市" + ], + "山南市": [ + "乃东区", + "扎囊县", + "贡嘎县", + "桑日县", + "琼结县", + "曲松县", + "措美县", + "洛扎县", + "加查县", + "隆子县", + "浪卡子县", + "错那市" + ], + "那曲市": [ + "色尼区", + "嘉黎县", + "比如县", + "聂荣县", + "安多县", + "申扎县", + "索县", + "班戈县", + "巴青县", + "尼玛县", + "双湖县" + ], + "阿里地区": [ + "普兰县", + "札达县", + "噶尔县", + "日土县", + "革吉县", + "改则县", + "措勤县" + ] + }, + "陕西省": { + "西安市": [ + "新城区", + "碑林区", + "莲湖区", + "灞桥区", + "未央区", + "雁塔区", + "阎良区", + "临潼区", + "长安区", + "高陵区", + "鄠邑区", + "蓝田县", + "周至县" + ], + "铜川市": [ + "王益区", + "印台区", + "耀州区", + "宜君县" + ], + "宝鸡市": [ + "渭滨区", + "金台区", + "陈仓区", + "凤翔区", + "岐山县", + "扶风县", + "眉县", + "陇县", + "千阳县", + "麟游县", + "凤县", + "太白县" + ], + "咸阳市": [ + "秦都区", + "杨陵区", + "渭城区", + "三原县", + "泾阳县", + "乾县", + "礼泉县", + "永寿县", + "长武县", + "旬邑县", + "淳化县", + "武功县", + "兴平市", + "彬州市" + ], + "渭南市": [ + "临渭区", + "华州区", + "潼关县", + "大荔县", + "合阳县", + "澄城县", + "蒲城县", + "白水县", + "富平县", + "韩城市", + "华阴市" + ], + "延安市": [ + "宝塔区", + "安塞区", + "延长县", + "延川县", + "志丹县", + "吴起县", + "甘泉县", + "富县", + "洛川县", + "宜川县", + "黄龙县", + "黄陵县", + "子长市" + ], + "汉中市": [ + "汉台区", + "南郑区", + "城固县", + "洋县", + "西乡县", + "勉县", + "宁强县", + "略阳县", + "镇巴县", + "留坝县", + "佛坪县" + ], + "榆林市": [ + "榆阳区", + "横山区", + "府谷县", + "靖边县", + "定边县", + "绥德县", + "米脂县", + "佳县", + "吴堡县", + "清涧县", + "子洲县", + "神木市" + ], + "安康市": [ + "汉滨区", + "汉阴县", + "石泉县", + "宁陕县", + "紫阳县", + "岚皋县", + "平利县", + "镇坪县", + "白河县", + "旬阳市" + ], + "商洛市": [ + "商州区", + "洛南县", + "丹凤县", + "商南县", + "山阳县", + "镇安县", + "柞水县" + ] + }, + "甘肃省": { + "兰州市": [ + "城关区", + "七里河区", + "西固区", + "安宁区", + "红古区", + "永登县", + "皋兰县", + "榆中县", + "兰州新区" + ], + "嘉峪关市": [ + "雄关街道", + "钢城街道", + "新城镇", + "峪泉镇", + "文殊镇" + ], + "金昌市": [ + "金川区", + "永昌县" + ], + "白银市": [ + "白银区", + "平川区", + "靖远县", + "会宁县", + "景泰县" + ], + "天水市": [ + "秦州区", + "麦积区", + "清水县", + "秦安县", + "甘谷县", + "武山县", + "张家川回族自治县" + ], + "武威市": [ + "凉州区", + "民勤县", + "古浪县", + "天祝藏族自治县" + ], + "张掖市": [ + "甘州区", + "肃南裕固族自治县", + "民乐县", + "临泽县", + "高台县", + "山丹县" + ], + "平凉市": [ + "崆峒区", + "泾川县", + "灵台县", + "崇信县", + "庄浪县", + "静宁县", + "华亭市" + ], + "酒泉市": [ + "肃州区", + "金塔县", + "瓜州县", + "肃北蒙古族自治县", + "阿克塞哈萨克族自治县", + "玉门市", + "敦煌市" + ], + "庆阳市": [ + "西峰区", + "庆城县", + "环县", + "华池县", + "合水县", + "正宁县", + "宁县", + "镇原县" + ], + "定西市": [ + "安定区", + "通渭县", + "陇西县", + "渭源县", + "临洮县", + "漳县", + "岷县" + ], + "陇南市": [ + "武都区", + "成县", + "文县", + "宕昌县", + "康县", + "西和县", + "礼县", + "徽县", + "两当县" + ], + "临夏回族自治州": [ + "临夏市", + "临夏县", + "康乐县", + "永靖县", + "广河县", + "和政县", + "东乡族自治县", + "积石山保安族东乡族撒拉族自治县" + ], + "甘南藏族自治州": [ + "合作市", + "临潭县", + "卓尼县", + "舟曲县", + "迭部县", + "玛曲县", + "碌曲县", + "夏河县" + ] + }, + "青海省": { + "西宁市": [ + "城东区", + "城中区", + "城西区", + "城北区", + "湟中区", + "大通回族土族自治县", + "湟源县" + ], + "海东市": [ + "乐都区", + "平安区", + "民和回族土族自治县", + "互助土族自治县", + "化隆回族自治县", + "循化撒拉族自治县" + ], + "海北藏族自治州": [ + "门源回族自治县", + "祁连县", + "海晏县", + "刚察县" + ], + "黄南藏族自治州": [ + "同仁市", + "尖扎县", + "泽库县", + "河南蒙古族自治县" + ], + "海南藏族自治州": [ + "共和县", + "同德县", + "贵德县", + "兴海县", + "贵南县" + ], + "果洛藏族自治州": [ + "玛沁县", + "班玛县", + "甘德县", + "达日县", + "久治县", + "玛多县" + ], + "玉树藏族自治州": [ + "玉树市", + "杂多县", + "称多县", + "治多县", + "囊谦县", + "曲麻莱县" + ], + "海西蒙古族藏族自治州": [ + "格尔木市", + "德令哈市", + "茫崖市", + "乌兰县", + "都兰县", + "天峻县", + "大柴旦行政委员会" + ] + }, + "宁夏回族自治区": { + "银川市": [ + "兴庆区", + "西夏区", + "金凤区", + "永宁县", + "贺兰县", + "灵武市" + ], + "石嘴山市": [ + "大武口区", + "惠农区", + "平罗县" + ], + "吴忠市": [ + "利通区", + "红寺堡区", + "盐池县", + "同心县", + "青铜峡市" + ], + "固原市": [ + "原州区", + "西吉县", + "隆德县", + "泾源县", + "彭阳县" + ], + "中卫市": [ + "沙坡头区", + "中宁县", + "海原县" + ] + }, + "新疆维吾尔自治区": { + "乌鲁木齐市": [ + "天山区", + "沙依巴克区", + "新市区", + "水磨沟区", + "头屯河区", + "达坂城区", + "米东区", + "乌鲁木齐县" + ], + "克拉玛依市": [ + "独山子区", + "克拉玛依区", + "白碱滩区", + "乌尔禾区" + ], + "吐鲁番市": [ + "高昌区", + "鄯善县", + "托克逊县" + ], + "哈密市": [ + "伊州区", + "巴里坤哈萨克自治县", + "伊吾县" + ], + "昌吉回族自治州": [ + "昌吉市", + "阜康市", + "呼图壁县", + "玛纳斯县", + "奇台县", + "吉木萨尔县", + "木垒哈萨克自治县" + ], + "博尔塔拉蒙古自治州": [ + "博乐市", + "阿拉山口市", + "精河县", + "温泉县" + ], + "巴音郭楞蒙古自治州": [ + "库尔勒市", + "轮台县", + "尉犁县", + "若羌县", + "且末县", + "焉耆回族自治县", + "和静县", + "和硕县", + "博湖县" + ], + "阿克苏地区": [ + "阿克苏市", + "库车市", + "温宿县", + "沙雅县", + "新和县", + "拜城县", + "乌什县", + "阿瓦提县", + "柯坪县" + ], + "克孜勒苏柯尔克孜自治州": [ + "阿图什市", + "阿克陶县", + "阿合奇县", + "乌恰县" + ], + "喀什地区": [ + "喀什市", + "疏附县", + "疏勒县", + "英吉沙县", + "泽普县", + "莎车县", + "叶城县", + "麦盖提县", + "岳普湖县", + "伽师县", + "巴楚县", + "塔什库尔干塔吉克自治县" + ], + "和田地区": [ + "和田市", + "和田县", + "墨玉县", + "皮山县", + "洛浦县", + "策勒县", + "于田县", + "民丰县" + ], + "伊犁哈萨克自治州": [ + "伊宁市", + "奎屯市", + "霍尔果斯市", + "伊宁县", + "察布查尔锡伯自治县", + "霍城县", + "巩留县", + "新源县", + "昭苏县", + "特克斯县", + "尼勒克县" + ], + "塔城地区": [ + "塔城市", + "乌苏市", + "沙湾市", + "额敏县", + "托里县", + "裕民县", + "和布克赛尔蒙古自治县" + ], + "阿勒泰地区": [ + "阿勒泰市", + "布尔津县", + "富蕴县", + "福海县", + "哈巴河县", + "青河县", + "吉木乃县" + ], + "自治区直辖县级行政区划": [ + "石河子市", + "阿拉尔市", + "图木舒克市", + "五家渠市", + "北屯市", + "铁门关市", + "双河市", + "可克达拉市", + "昆玉市", + "胡杨河市", + "新星市", + "白杨市" + ] + } +} \ No newline at end of file diff --git a/src/static/uni-webview.js b/src/static/uni-webview.js new file mode 100644 index 0000000..ab7d1b8 --- /dev/null +++ b/src/static/uni-webview.js @@ -0,0 +1,42 @@ +!(function (e, n) { typeof exports == 'object' && typeof module != 'undefined' ? module.exports = n() : typeof define == 'function' && define.amd ? define(n) : (e = e || self).uni = n() }(this, () => { + 'use strict'; try { const e = {}; Object.defineProperty(e, 'passive', { get() { !0 } }), window.addEventListener('test-passive', null, e) } + catch (e) { } const n = Object.prototype.hasOwnProperty; function i(e, i) { return n.call(e, i) } const t = []; function r() { return window.__dcloud_weex_postMessage || window.__dcloud_weex_ } const o = function (e, n) { + const i = { options: { timestamp: +new Date() }, name: e, arg: n }; if (r()) { if (e === 'postMessage') { const o = { data: [n] }; return window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessage(o) : window.__dcloud_weex_.postMessage(JSON.stringify(o)) } const a = { type: 'WEB_INVOKE_APPSERVICE', args: { data: i, webviewIds: t } }; window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessageToService(a) : window.__dcloud_weex_.postMessageToService(JSON.stringify(a)) } if (!window.plus) + return window.parent.postMessage({ type: 'WEB_INVOKE_APPSERVICE', data: i, pageId: '' }, '*'); if (t.length === 0) { + const d = plus.webview.currentWebview(); if (!d) + throw new Error('plus.webview.currentWebview() is undefined'); const s = d.parent(); let w = ''; w = s ? s.id : d.id, t.push(w) + } if (plus.webview.getWebviewById('__uniapp__service')) { + plus.webview.postMessageToUniNView({ type: 'WEB_INVOKE_APPSERVICE', args: { data: i, webviewIds: t } }, '__uniapp__service') + } + else { const u = JSON.stringify(i); plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat('WEB_INVOKE_APPSERVICE', '",').concat(u, ',').concat(JSON.stringify(t), ');')) } + }; const a = { navigateTo() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const n = e.url; o('navigateTo', { url: encodeURI(n) }) }, navigateBack() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const n = e.delta; o('navigateBack', { delta: Number.parseInt(n) || 1 }) }, switchTab() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const n = e.url; o('switchTab', { url: encodeURI(n) }) }, reLaunch() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const n = e.url; o('reLaunch', { url: encodeURI(n) }) }, redirectTo() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const n = e.url; o('redirectTo', { url: encodeURI(n) }) }, getEnv(e) { r() ? e({ nvue: !0 }) : window.plus ? e({ plus: !0 }) : e({ h5: !0 }) }, postMessage() { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; o('postMessage', e.data || {}) } }; const d = /uni-app/i.test(navigator.userAgent); const s = /Html5Plus/i.test(navigator.userAgent); const w = /complete|loaded|interactive/; const u = window.my && navigator.userAgent.includes(['t', 'n', 'e', 'i', 'l', 'C', 'y', 'a', 'p', 'i', 'l', 'A'].reverse().join('')); const g = window.swan && window.swan.webView && /swan/i.test(navigator.userAgent); const v = window.qq && window.qq.miniProgram && /QQ/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); const c = window.tt && window.tt.miniProgram && /toutiaomicroapp/i.test(navigator.userAgent); const m = window.wx && window.wx.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); const p = window.qa && /quickapp/i.test(navigator.userAgent); const f = window.ks && window.ks.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); const l = window.tt && window.tt.miniProgram && /Lark|Feishu/i.test(navigator.userAgent); const _ = window.jd && window.jd.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); const E = window.xhs && window.xhs.miniProgram && /xhsminiapp/i.test(navigator.userAgent); for (var h, P = function () { window.UniAppJSBridge = !0, document.dispatchEvent(new CustomEvent('UniAppJSBridgeReady', { bubbles: !0, cancelable: !0 })) }, b = [function (e) { + if (d || s) + return window.__dcloud_weex_postMessage || window.__dcloud_weex_ ? document.addEventListener('DOMContentLoaded', e) : window.plus && w.test(document.readyState) ? setTimeout(e, 0) : document.addEventListener('plusready', e), a + }, function (e) { + if (m) + return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener('WeixinJSBridgeReady', e), window.wx.miniProgram + }, function (e) { + if (v) + return window.QQJSBridge && window.QQJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener('QQJSBridgeReady', e), window.qq.miniProgram + }, function (e) { if (u) { document.addEventListener('DOMContentLoaded', e); const n = window.my; return { navigateTo: n.navigateTo, navigateBack: n.navigateBack, switchTab: n.switchTab, reLaunch: n.reLaunch, redirectTo: n.redirectTo, postMessage: n.postMessage, getEnv: n.getEnv } } }, function (e) { + if (g) + return document.addEventListener('DOMContentLoaded', e), window.swan.webView + }, function (e) { + if (c) + return document.addEventListener('DOMContentLoaded', e), window.tt.miniProgram + }, function (e) { if (p) { window.QaJSBridge && window.QaJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener('QaJSBridgeReady', e); const n = window.qa; return { navigateTo: n.navigateTo, navigateBack: n.navigateBack, switchTab: n.switchTab, reLaunch: n.reLaunch, redirectTo: n.redirectTo, postMessage: n.postMessage, getEnv: n.getEnv } } }, function (e) { + if (f) + return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener('WeixinJSBridgeReady', e), window.ks.miniProgram + }, function (e) { + if (l) + return document.addEventListener('DOMContentLoaded', e), window.tt.miniProgram + }, function (e) { + if (_) + return window.JDJSBridgeReady && window.JDJSBridgeReady.invoke ? setTimeout(e, 0) : document.addEventListener('JDJSBridgeReady', e), window.jd.miniProgram + }, function (e) { + if (E) + return window.xhs.miniProgram + }, function (e) { return document.addEventListener('DOMContentLoaded', e), a }], y = 0; y < b.length && !(h = b[y](P)); y++); h || (h = {}); const B = typeof uni != 'undefined' ? uni : {}; if (!B.navigateTo) { + for (const S in h) i(h, S) && (B[S] = h[S]) + } return B.webView = h, B +})) diff --git a/src/stores/agentStore.ts b/src/stores/agentStore.ts new file mode 100644 index 0000000..103fca7 --- /dev/null +++ b/src/stores/agentStore.ts @@ -0,0 +1,87 @@ +import { defineStore } from 'pinia' +import useApiFetch from '@/composables/useApiFetch' +import { setAgentInfo } from '@/utils/storage' + +export const useAgentStore = defineStore('agent', { + state: () => ({ + isLoaded: false, + level: '', + status: 3, + isAgent: false, + ancestorID: null as string | null, + agentID: null as string | null, + mobile: '', + ExpiryTime: '', + isRealName: false, + }), + actions: { + restoreFromStorage() { + try { + const raw = uni.getStorageSync('agentInfo') as string + if (!raw) + return + const a = typeof raw === 'string' ? JSON.parse(raw) : raw + this.level = a.level || '' + this.status = Number(a.status ?? 3) + this.isAgent = !!a.isAgent + this.agentID = a.agentID ?? null + this.mobile = a.mobile || '' + this.ExpiryTime = a.ExpiryTime || '' + this.isRealName = !!a.isRealName + this.isLoaded = true + } + catch { + /* ignore */ + } + }, + async fetchAgentStatus() { + const { data, error } = await useApiFetch('/agent/info').get().json() + if (data.value && !error.value) { + if (data.value.code === 200) { + const d = data.value.data as Record + this.level = d.level as string + this.isAgent = !!d.is_agent + this.status = d.status as number + this.agentID = d.agent_id as string + this.mobile = d.mobile as string + this.ExpiryTime = d.expiry_time as string + this.isRealName = !!d.is_real_name + setAgentInfo({ + isAgent: this.isAgent, + level: this.level, + status: this.status, + agentID: this.agentID, + mobile: this.mobile, + ExpiryTime: this.ExpiryTime, + isRealName: this.isRealName, + }) + } + else { + console.warn('Error fetching agent info', data.value) + } + } + this.isLoaded = true + }, + updateAgentInfo(agentInfo: Record) { + if (agentInfo) { + this.isAgent = !!agentInfo.isAgent + this.level = (agentInfo.level as string) || '' + this.status = (agentInfo.status as number) || 3 + this.agentID = (agentInfo.agentID as string) || null + this.mobile = (agentInfo.mobile as string) || '' + this.isLoaded = true + this.isRealName = !!agentInfo.isRealName + } + }, + resetAgent() { + this.isLoaded = false + this.level = '' + this.status = 3 + this.isAgent = false + this.ancestorID = null + this.agentID = null + this.mobile = '' + this.isRealName = false + }, + }, +}) diff --git a/src/stores/auth.ts b/src/stores/auth.ts new file mode 100644 index 0000000..af5d436 --- /dev/null +++ b/src/stores/auth.ts @@ -0,0 +1,17 @@ +import { defineStore } from 'pinia' +import { getToken } from '@/utils/storage' + +/** App 端:无微信 OAuth 状态,仅保留启动就绪等 */ +export const useAuthStore = defineStore('auth', { + state: () => ({ + appReady: false, + }), + getters: { + hasToken: () => !!getToken(), + }, + actions: { + markReady() { + this.appReady = true + }, + }, +}) diff --git a/src/stores/dialogStore.ts b/src/stores/dialogStore.ts new file mode 100644 index 0000000..134cdf3 --- /dev/null +++ b/src/stores/dialogStore.ts @@ -0,0 +1,40 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' + +/** 与 webview 一致的弹窗状态(绑定手机等) */ +export const useDialogStore = defineStore('dialog', () => { + const showBindPhone = ref(false) + const showRealNameAuth = ref(false) + const showLogin = ref(false) + + function openBindPhone() { + showBindPhone.value = true + } + function closeBindPhone() { + showBindPhone.value = false + } + function openRealNameAuth() { + showRealNameAuth.value = true + } + function closeRealNameAuth() { + showRealNameAuth.value = false + } + function openLogin() { + showLogin.value = true + } + function closeLogin() { + showLogin.value = false + } + + return { + showBindPhone, + openBindPhone, + closeBindPhone, + showRealNameAuth, + openRealNameAuth, + closeRealNameAuth, + showLogin, + openLogin, + closeLogin, + } +}) diff --git a/src/stores/userStore.ts b/src/stores/userStore.ts new file mode 100644 index 0000000..8bf52c9 --- /dev/null +++ b/src/stores/userStore.ts @@ -0,0 +1,81 @@ +import { defineStore } from 'pinia' +import useApiFetch from '@/composables/useApiFetch' +import { resolveUserAvatarUrl } from '@/utils/avatarUrl' +import { clearAuthStorage, setToken, setUserInfo } from '@/utils/storage' + +export const useUserStore = defineStore('user', { + state: () => ({ + userName: '', + mobile: '', + userAvatar: '', + isLoggedIn: false, + }), + actions: { + restoreFromStorage() { + try { + const raw = uni.getStorageSync('userInfo') as string + if (!raw) + return + const u = typeof raw === 'string' ? JSON.parse(raw) : raw + this.userName = u.nickName || u.mobile || '' + this.mobile = u.mobile || '' + this.userAvatar = resolveUserAvatarUrl(u.avatar || '') + this.isLoggedIn = !!this.mobile + } + catch { + /* ignore */ + } + }, + async fetchUserInfo() { + const { data, error } = await useApiFetch('/user/detail').get().json() + if (data.value && !error.value) { + if (data.value.code === 200) { + const userinfo = (data.value.data as { userInfo: Record }).userInfo + this.userName = (userinfo.mobile as string) || '' + this.mobile = (userinfo.mobile as string) || '' + this.userAvatar = resolveUserAvatarUrl((userinfo as { userAvatar?: string }).userAvatar || '') + this.isLoggedIn = true + setUserInfo({ + nickName: this.userName, + avatar: this.userAvatar, + mobile: this.mobile, + }) + } + else if (data.value.code === 100009) { + clearAuthStorage() + this.resetUser() + uni.reLaunch({ url: '/pages/index' }) + } + } + }, + updateUserInfo(userInfo: { mobile?: string, nickName?: string, avatar?: string }) { + if (userInfo) { + this.userName = userInfo.mobile || userInfo.nickName || '' + this.userAvatar = resolveUserAvatarUrl(userInfo.avatar || '') + this.isLoggedIn = true + } + }, + resetUser() { + this.userName = '' + this.userAvatar = '' + this.mobile = '' + this.isLoggedIn = false + }, + /** 与 webview `/user/mobileCodeLogin` 一致 */ + async mobileCodeLogin(mobile: string, code: string) { + const { data, error } = await useApiFetch('/user/mobileCodeLogin') + .post({ mobile, code }) + .json<{ accessToken: string, refreshAfter: string, accessExpire: string }>() + if (!data.value || error.value) + return data.value + if (data.value.code === 200) { + const d = data.value.data + setToken(d.accessToken) + uni.setStorageSync('refreshAfter', d.refreshAfter) + uni.setStorageSync('accessExpire', d.accessExpire) + await this.fetchUserInfo() + } + return data.value + }, + }, +}) diff --git a/src/theme.json b/src/theme.json new file mode 100644 index 0000000..1d9b292 --- /dev/null +++ b/src/theme.json @@ -0,0 +1,26 @@ +{ + "light": { + "bgColor": "#fcfcfc", + "bgColorBottom": "#fcfcfc", + "bgColorTop": "#ff6b00", + "bgTxtStyle": "dark", + "navBgColor": "#ff6b00", + "navTxtStyle": "white", + "tabBgColor": "#fcfcfc", + "tabBorderStyle": "black", + "tabFontColor": "#1f2937", + "tabSelectedColor": "#ff6b00" + }, + "dark": { + "bgColor": "#181818", + "bgColorBottom": "#181818", + "bgColorTop": "#ff6b00", + "bgTxtStyle": "light", + "navBgColor": "#ff6b00", + "navTxtStyle": "white", + "tabBgColor": "#181818", + "tabBorderStyle": "white", + "tabFontColor": "#f3f4f6", + "tabSelectedColor": "#ff6b00" + } +} diff --git a/src/uni-pages.d.ts b/src/uni-pages.d.ts new file mode 100644 index 0000000..1dbacc6 --- /dev/null +++ b/src/uni-pages.d.ts @@ -0,0 +1,61 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by vite-plugin-uni-pages + +type _LocationUrl = + "/pages/index" | + "/pages/agent-manage-agreement" | + "/pages/agent-promote-details" | + "/pages/agent-rewards-details" | + "/pages/agent-service-agreement" | + "/pages/agent-vip-apply" | + "/pages/agent-vip-config" | + "/pages/agent-vip" | + "/pages/agent" | + "/pages/authorization" | + "/pages/cancel-account" | + "/pages/help-detail" | + "/pages/help-guide" | + "/pages/help" | + "/pages/history-query" | + "/pages/inquire" | + "/pages/invitation-agent-apply" | + "/pages/invitation" | + "/pages/login" | + "/pages/me" | + "/pages/not-found" | + "/pages/payment-result" | + "/pages/privacy-policy" | + "/pages/promote" | + "/pages/promotion-inquire" | + "/pages/report-example-webview" | + "/pages/report-result-webview" | + "/pages/report-share" | + "/pages/subordinate-detail" | + "/pages/subordinate-list" | + "/pages/user-agreement" | + "/pages/withdraw-details" | + "/pages/withdraw"; + +interface NavigateToOptions { + url: _LocationUrl; +} +interface RedirectToOptions extends NavigateToOptions {} + +interface SwitchTabOptions { + +} + +type ReLaunchOptions = NavigateToOptions | SwitchTabOptions; + +declare interface Uni { + navigateTo(options: UniNamespace.NavigateToOptions & NavigateToOptions): void; + redirectTo(options: UniNamespace.RedirectToOptions & RedirectToOptions): void; + switchTab(options: UniNamespace.SwitchTabOptions & SwitchTabOptions): void; + reLaunch(options: UniNamespace.ReLaunchOptions & ReLaunchOptions): void; +} + +declare module "virtual:uni-pages" { + export type LocationUrl = _LocationUrl; +} diff --git a/src/uni.scss b/src/uni.scss new file mode 100644 index 0000000..3c8e349 --- /dev/null +++ b/src/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color: #333; // 基本色 +$uni-text-color-inverse: #fff; // 反色 +$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable: #c0c0c0; + +/* 背景颜色 */ +$uni-bg-color: #fff; +$uni-bg-color-grey: #f8f8f8; +$uni-bg-color-hover: #f1f1f1; // 点击状态颜色 +$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色 + +/* 边框颜色 */ +$uni-border-color: #c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm: 12px; +$uni-font-size-base: 14px; +$uni-font-size-lg: 16px; + +/* 图片尺寸 */ +$uni-img-size-sm: 20px; +$uni-img-size-base: 26px; +$uni-img-size-lg: 40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2c405a; // 文章标题颜色 +$uni-font-size-title: 20px; +$uni-color-subtitle: #555; // 二级标题颜色 +$uni-font-size-subtitle: 18px; +$uni-color-paragraph: #3f536e; // 文章段落颜色 +$uni-font-size-paragraph: 15px; diff --git a/src/utils/appLocalFile.ts b/src/utils/appLocalFile.ts new file mode 100644 index 0000000..c09941f --- /dev/null +++ b/src/utils/appLocalFile.ts @@ -0,0 +1,195 @@ +/** + * App 端本地文件 base64 读写。 + * 部分运行环境(如自定义 WebView、特定基座)下 `uni.getFileSystemManager` 不可用, + * 回退 HTML5+ `plus.io` 读文件、`plus.nativeObj.Bitmap` 写 PNG。 + */ + +function getUniFileSystemManager(): { + readFile: (opts: { + filePath: string + encoding: 'base64' + success: (res: { data: string }) => void + fail: (e: unknown) => void + }) => void + writeFile: (opts: { + filePath: string + data: string + encoding: 'base64' + success: () => void + fail: (e: unknown) => void + }) => void +} | null { + try { + const u = typeof uni !== 'undefined' ? uni : null + const g = u && (u as { getFileSystemManager?: () => unknown }).getFileSystemManager + if (typeof g !== 'function') + return null + return g.call(u) as ReturnType + } + catch { + return null + } +} + +function readByUniFs(filePath: string): Promise { + const fs = getUniFileSystemManager() + if (!fs) + return Promise.reject(new Error('no uni fs')) + const tryRead = (path: string) => + new Promise((resolve, reject) => { + fs.readFile({ + filePath: path, + encoding: 'base64', + success: (res) => { + resolve(String(res.data)) + }, + fail: reject, + }) + }) + return tryRead(filePath).catch(async (e) => { + const stripped = String(filePath).replace(/^file:\/\//, '') + if (stripped !== filePath) + return tryRead(stripped) + throw e + }) +} + +/** plus.io 读本地文件为纯 base64(无 data: 前缀) */ +function readByPlusIo(filePath: string): Promise { + const plusGlobal = typeof plus !== 'undefined' ? plus : null + const io = plusGlobal?.io + if (!io?.resolveLocalFileSystemURL || !io.FileReader) + return Promise.reject(new Error('no plus.io')) + + return new Promise((resolve, reject) => { + let url = String(filePath).trim() + if (!url) + return reject(new Error('empty path')) + if (!/^file:\/\//i.test(url) && url.startsWith('/')) + url = `file://${url}` + + io.resolveLocalFileSystemURL( + url, + (entry: { file: (ok: (f: { createReader?: unknown }) => void, fail: (e: unknown) => void) => void }) => { + entry.file( + (file) => { + const reader = new io.FileReader() + reader.onloadend = (evt: { target?: { result?: string } }) => { + const res = evt?.target?.result + if (typeof res === 'string') { + const m = res.match(/^data:[^;]+;base64,(.+)$/) + if (m?.[1]) + return resolve(m[1]) + } + reject(new Error('plus FileReader: unexpected result')) + } + reader.onerror = () => reject(reader.error || new Error('plus FileReader error')) + reader.readAsDataURL(file as Blob) + }, + reject, + ) + }, + reject, + ) + }) +} + +/** 本地路径读成纯 base64(无 data: 前缀),供拼 data URL */ +export async function readLocalFileAsBase64(filePath: string): Promise { + const fs = getUniFileSystemManager() + if (fs) { + try { + return await readByUniFs(filePath) + } + catch (e) { + try { + return await readByPlusIo(filePath) + } + catch { + throw e + } + } + } + return readByPlusIo(filePath) +} + +function writePngByUniFs(filePath: string, base64NoPrefix: string): Promise { + const fs = getUniFileSystemManager() + if (!fs) + return Promise.reject(new Error('no uni fs')) + return new Promise((resolve, reject) => { + fs.writeFile({ + filePath, + data: base64NoPrefix, + encoding: 'base64', + success: () => resolve(), + fail: reject, + }) + }) +} + +/** Bitmap 将 PNG base64 落到 `_doc/...` 等应用沙箱路径 */ +function writePngByPlusBitmap(filePath: string, base64NoPrefix: string): Promise { + const plusGlobal = typeof plus !== 'undefined' ? plus : null + const Bitmap = plusGlobal?.nativeObj?.Bitmap as + | (new (id: string) => { + loadBase64Data: (data: string, success: () => void, fail: (e: unknown) => void) => void + save: ( + path: string, + opts: { overwrite?: boolean, format?: string, quality?: number }, + success: () => void, + fail: (e: unknown) => void, + ) => void + clear: () => void + }) + | undefined + if (!Bitmap) + return Promise.reject(new Error('no plus.nativeObj.Bitmap')) + + return new Promise((resolve, reject) => { + const id = `poster_merge_${Date.now()}` + const bitmap = new Bitmap(id) + bitmap.loadBase64Data( + base64NoPrefix, + () => { + bitmap.save( + filePath, + { overwrite: true, format: 'png', quality: 100 }, + () => { + bitmap.clear() + resolve() + }, + (e) => { + bitmap.clear() + reject(e) + }, + ) + }, + (e) => { + bitmap.clear() + reject(e) + }, + ) + }) +} + +/** 将 PNG 的 base64(无 data: 前缀)写入本地 filePath(如 `_doc/poster_xxx.png`) */ +export async function writePngBase64ToLocal(filePath: string, base64NoPrefix: string): Promise { + const fs = getUniFileSystemManager() + if (fs) { + try { + await writePngByUniFs(filePath, base64NoPrefix) + return + } + catch (e) { + try { + await writePngByPlusBitmap(filePath, base64NoPrefix) + return + } + catch { + throw e + } + } + } + await writePngByPlusBitmap(filePath, base64NoPrefix) +} diff --git a/src/utils/avatarUrl.ts b/src/utils/avatarUrl.ts new file mode 100644 index 0000000..eb32c04 --- /dev/null +++ b/src/utils/avatarUrl.ts @@ -0,0 +1,34 @@ +/** + * App 端 加载网络头像需要完整 URL;后端常返回以 / 开头的相对路径。 + */ +function getApiOrigin(): string { + const raw = ((import.meta.env.VITE_API_URL as string) || '').trim() + if (!raw) + return '' + try { + const normalized = /^https?:\/\//i.test(raw) ? raw : `https://${raw}` + return new URL(normalized).origin + } + catch { + return raw.replace(/\/+$/, '') + } +} + +export function resolveUserAvatarUrl(raw: string | undefined | null): string { + const s = (raw ?? '').trim() + if (!s) + return '' + if (/^data:|^blob:/i.test(s)) + return s + if (/^https?:\/\//i.test(s)) + return s + if (s.startsWith('//')) + return `https:${s}` + // 本地打包静态资源 + if (s.startsWith('/static/')) + return s + const origin = getApiOrigin() + if (!origin) + return s + return s.startsWith('/') ? `${origin}${s}` : `${origin}/${s}` +} diff --git a/src/utils/chatCrypto.js b/src/utils/chatCrypto.js new file mode 100644 index 0000000..47388a8 --- /dev/null +++ b/src/utils/chatCrypto.js @@ -0,0 +1,252 @@ +/* +CryptoJS v3.1.2 +code.google.com/p/crypto-js +(c) 2009-2013 by Jeff Mott. All rights reserved. +code.google.com/p/crypto-js/wiki/License +*/ +var CryptoJS = CryptoJS || (function (u, p) { + const d = {}; const l = d.lib = {}; const s = function () { }; const t = l.Base = { extend(a) { s.prototype = this; const c = new s(); a && c.mixIn(a); c.hasOwnProperty('init') || (c.init = function () { c.$super.init.apply(this, arguments) }); c.init.prototype = c; c.$super = this; return c }, create() { const a = this.extend(); a.init.apply(a, arguments); return a }, init() { }, mixIn(a) { for (const c in a) a.hasOwnProperty(c) && (this[c] = a[c]); a.hasOwnProperty('toString') && (this.toString = a.toString) }, clone() { return this.init.prototype.extend(this) } } + var r = l.WordArray = t.extend({ + init(a, c) { a = this.words = a || []; this.sigBytes = c != p ? c : 4 * a.length }, + toString(a) { return (a || v).stringify(this) }, + concat(a) { + const c = this.words; const e = a.words; const j = this.sigBytes; a = a.sigBytes; this.clamp(); if (j % 4) { + for (var k = 0; k < a; k++)c[j + k >>> 2] |= (e[k >>> 2] >>> 24 - 8 * (k % 4) & 255) << 24 - 8 * ((j + k) % 4) + } + else if (e.length > 65535) { + for (k = 0; k < a; k += 4)c[j + k >>> 2] = e[k >>> 2] + } + else { + c.push.apply(c, e) + } this.sigBytes += a; return this + }, + clamp() { + const a = this.words; const c = this.sigBytes; a[c >>> 2] &= 4294967295 + << 32 - 8 * (c % 4); a.length = u.ceil(c / 4) + }, + clone() { const a = t.clone.call(this); a.words = this.words.slice(0); return a }, + random(a) { for (var c = [], e = 0; e < a; e += 4)c.push(4294967296 * u.random() | 0); return new r.init(c, a) }, + }); const w = d.enc = {}; var v = w.Hex = { + stringify(a) { const c = a.words; a = a.sigBytes; for (var e = [], j = 0; j < a; j++) { const k = c[j >>> 2] >>> 24 - 8 * (j % 4) & 255; e.push((k >>> 4).toString(16)); e.push((k & 15).toString(16)) } return e.join('') }, + parse(a) { + for (var c = a.length, e = [], j = 0; j < c; j += 2) { + e[j >>> 3] |= Number.parseInt(a.substr(j, 2), 16) << 24 - 4 * (j % 8) + } return new r.init(e, c / 2) + }, + }; const b = w.Latin1 = { stringify(a) { const c = a.words; a = a.sigBytes; for (var e = [], j = 0; j < a; j++)e.push(String.fromCharCode(c[j >>> 2] >>> 24 - 8 * (j % 4) & 255)); return e.join('') }, parse(a) { for (var c = a.length, e = [], j = 0; j < c; j++)e[j >>> 2] |= (a.charCodeAt(j) & 255) << 24 - 8 * (j % 4); return new r.init(e, c) } }; const x = w.Utf8 = { stringify(a) { + try { return decodeURIComponent(escape(b.stringify(a))) } + catch (c) { throw new Error('Malformed UTF-8 data') } + }, parse(a) { return b.parse(unescape(encodeURIComponent(a))) } } + const q = l.BufferedBlockAlgorithm = t.extend({ + reset() { this._data = new r.init(); this._nDataBytes = 0 }, + _append(a) { typeof a == 'string' && (a = x.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, + _process(a) { const c = this._data; const e = c.words; let j = c.sigBytes; const k = this.blockSize; var b = j / (4 * k); var b = a ? u.ceil(b) : u.max((b | 0) - this._minBufferSize, 0); a = b * k; j = u.min(4 * a, j); if (a) { for (var q = 0; q < a; q += k) this._doProcessBlock(e, q); q = e.splice(0, a); c.sigBytes -= j } return new r.init(q, j) }, + clone() { + const a = t.clone.call(this) + a._data = this._data.clone(); return a + }, + _minBufferSize: 0, + }); l.Hasher = q.extend({ + cfg: t.extend(), + init(a) { this.cfg = this.cfg.extend(a); this.reset() }, + reset() { q.reset.call(this); this._doReset() }, + update(a) { this._append(a); this._process(); return this }, + finalize(a) { a && this._append(a); return this._doFinalize() }, + blockSize: 16, + _createHelper(a) { return function (b, e) { return (new a.init(e)).finalize(b) } }, + _createHmacHelper(a) { + return function (b, e) { + return (new n.HMAC.init(a, e)).finalize(b) + } + }, + }); var n = d.algo = {}; return d +}(Math)); +(function () { + const u = CryptoJS; const p = u.lib.WordArray; u.enc.Base64 = { + stringify(d) { + let l = d.words; const p = d.sigBytes; const t = this._map; d.clamp(); d = []; for (let r = 0; r < p; r += 3) { + for (let w = (l[r >>> 2] >>> 24 - 8 * (r % 4) & 255) << 16 | (l[r + 1 >>> 2] >>> 24 - 8 * ((r + 1) % 4) & 255) << 8 | l[r + 2 >>> 2] >>> 24 - 8 * ((r + 2) % 4) & 255, v = 0; v < 4 && r + 0.75 * v < p; v++)d.push(t.charAt(w >>> 6 * (3 - v) & 63)) + } if (l = t.charAt(64)) { + for (; d.length % 4;)d.push(l) + } return d.join('') + }, + parse(d) { + let l = d.length; const s = this._map; var t = s.charAt(64); t && (t = d.indexOf(t), t != -1 && (l = t)); for (var t = [], r = 0, w = 0; w + < l; w++) { + if (w % 4) { const v = s.indexOf(d.charAt(w - 1)) << 2 * (w % 4); const b = s.indexOf(d.charAt(w)) >>> 6 - 2 * (w % 4); t[r >>> 2] |= (v | b) << 24 - 8 * (r % 4); r++ } + } return p.create(t, r) + }, + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + } +})(); +(function (u) { + function p(b, n, a, c, e, j, k) { b = b + (n & a | ~n & c) + e + k; return (b << j | b >>> 32 - j) + n } function d(b, n, a, c, e, j, k) { b = b + (n & c | a & ~c) + e + k; return (b << j | b >>> 32 - j) + n } function l(b, n, a, c, e, j, k) { b = b + (n ^ a ^ c) + e + k; return (b << j | b >>> 32 - j) + n } function s(b, n, a, c, e, j, k) { b = b + (a ^ (n | ~c)) + e + k; return (b << j | b >>> 32 - j) + n } for (var t = CryptoJS, r = t.lib, w = r.WordArray, v = r.Hasher, r = t.algo, b = [], x = 0; x < 64; x++)b[x] = 4294967296 * u.abs(u.sin(x + 1)) | 0; r = r.MD5 = v.extend({ + _doReset() { this._hash = new w.init([1732584193, 4023233417, 2562383102, 271733878]) }, + _doProcessBlock(q, n) { + for (var a = 0; a < 16; a++) { var c = n + a; var e = q[c]; q[c] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360 } var a = this._hash.words; var c = q[n + 0]; var e = q[n + 1]; const j = q[n + 2]; const k = q[n + 3]; const z = q[n + 4]; const r = q[n + 5]; const t = q[n + 6]; const w = q[n + 7]; const v = q[n + 8]; const A = q[n + 9]; const B = q[n + 10]; const C = q[n + 11]; const u = q[n + 12]; const D = q[n + 13]; const E = q[n + 14]; const x = q[n + 15]; var f = a[0]; var m = a[1]; var g = a[2]; var h = a[3]; var f = p(f, m, g, h, c, 7, b[0]); var h = p(h, f, m, g, e, 12, b[1]); var g = p(g, h, f, m, j, 17, b[2]); var m = p(m, g, h, f, k, 22, b[3]); var f = p(f, m, g, h, z, 7, b[4]); var h = p(h, f, m, g, r, 12, b[5]); var g = p(g, h, f, m, t, 17, b[6]); var m = p(m, g, h, f, w, 22, b[7]) + var f = p(f, m, g, h, v, 7, b[8]); var h = p(h, f, m, g, A, 12, b[9]); var g = p(g, h, f, m, B, 17, b[10]); var m = p(m, g, h, f, C, 22, b[11]); var f = p(f, m, g, h, u, 7, b[12]); var h = p(h, f, m, g, D, 12, b[13]); var g = p(g, h, f, m, E, 17, b[14]); var m = p(m, g, h, f, x, 22, b[15]); var f = d(f, m, g, h, e, 5, b[16]); var h = d(h, f, m, g, t, 9, b[17]); var g = d(g, h, f, m, C, 14, b[18]); var m = d(m, g, h, f, c, 20, b[19]); var f = d(f, m, g, h, r, 5, b[20]); var h = d(h, f, m, g, B, 9, b[21]); var g = d(g, h, f, m, x, 14, b[22]); var m = d(m, g, h, f, z, 20, b[23]); var f = d(f, m, g, h, A, 5, b[24]); var h = d(h, f, m, g, E, 9, b[25]); var g = d(g, h, f, m, k, 14, b[26]); var m = d(m, g, h, f, v, 20, b[27]); var f = d(f, m, g, h, D, 5, b[28]); var h = d(h, f, m, g, j, 9, b[29]); var g = d(g, h, f, m, w, 14, b[30]); var m = d(m, g, h, f, u, 20, b[31]); var f = l(f, m, g, h, r, 4, b[32]); var h = l(h, f, m, g, v, 11, b[33]); var g = l(g, h, f, m, C, 16, b[34]); var m = l(m, g, h, f, E, 23, b[35]); var f = l(f, m, g, h, e, 4, b[36]); var h = l(h, f, m, g, z, 11, b[37]); var g = l(g, h, f, m, w, 16, b[38]); var m = l(m, g, h, f, B, 23, b[39]); var f = l(f, m, g, h, D, 4, b[40]); var h = l(h, f, m, g, c, 11, b[41]); var g = l(g, h, f, m, k, 16, b[42]); var m = l(m, g, h, f, t, 23, b[43]); var f = l(f, m, g, h, A, 4, b[44]); var h = l(h, f, m, g, u, 11, b[45]); var g = l(g, h, f, m, x, 16, b[46]); var m = l(m, g, h, f, j, 23, b[47]); var f = s(f, m, g, h, c, 6, b[48]); var h = s(h, f, m, g, w, 10, b[49]); var g = s(g, h, f, m, E, 15, b[50]); var m = s(m, g, h, f, r, 21, b[51]); var f = s(f, m, g, h, u, 6, b[52]); var h = s(h, f, m, g, k, 10, b[53]); var g = s(g, h, f, m, B, 15, b[54]); var m = s(m, g, h, f, e, 21, b[55]); var f = s(f, m, g, h, v, 6, b[56]); var h = s(h, f, m, g, x, 10, b[57]); var g = s(g, h, f, m, t, 15, b[58]); var m = s(m, g, h, f, D, 21, b[59]); var f = s(f, m, g, h, z, 6, b[60]); var h = s(h, f, m, g, C, 10, b[61]); var g = s(g, h, f, m, j, 15, b[62]); var m = s(m, g, h, f, A, 21, b[63]); a[0] = a[0] + f | 0; a[1] = a[1] + m | 0; a[2] = a[2] + g | 0; a[3] = a[3] + h | 0 + }, + _doFinalize() { + let b = this._data; let n = b.words; let a = 8 * this._nDataBytes; let c = 8 * b.sigBytes; n[c >>> 5] |= 128 << 24 - c % 32; const e = u.floor(a + / 4294967296); n[(c + 64 >>> 9 << 4) + 15] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360; n[(c + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; b.sigBytes = 4 * (n.length + 1); this._process(); b = this._hash; n = b.words; for (a = 0; a < 4; a++)c = n[a], n[a] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360; return b + }, + clone() { const b = v.clone.call(this); b._hash = this._hash.clone(); return b }, + }); t.MD5 = v._createHelper(r); t.HmacMD5 = v._createHmacHelper(r) +})(Math); +(function () { + const u = CryptoJS; var p = u.lib; const d = p.Base; const l = p.WordArray; var p = u.algo; const s = p.EvpKDF = d.extend({ cfg: d.extend({ keySize: 4, hasher: p.MD5, iterations: 1 }), init(d) { this.cfg = this.cfg.extend(d) }, compute(d, r) { for (var p = this.cfg, s = p.hasher.create(), b = l.create(), u = b.words, q = p.keySize, p = p.iterations; u.length < q;) { n && s.update(n); var n = s.update(d).finalize(r); s.reset(); for (let a = 1; a < p; a++)n = s.finalize(n), s.reset(); b.concat(n) } b.sigBytes = 4 * q; return b } }); u.EvpKDF = function (d, l, p) { + return s.create(p).compute(d, l) + } +})() +CryptoJS.lib.Cipher || (function (u) { + var p = CryptoJS; const d = p.lib; const l = d.Base; const s = d.WordArray; const t = d.BufferedBlockAlgorithm; const r = p.enc.Base64; const w = p.algo.EvpKDF; const v = d.Cipher = t.extend({ + cfg: l.extend(), + createEncryptor(e, a) { return this.create(this._ENC_XFORM_MODE, e, a) }, + createDecryptor(e, a) { return this.create(this._DEC_XFORM_MODE, e, a) }, + init(e, a, b) { this.cfg = this.cfg.extend(b); this._xformMode = e; this._key = a; this.reset() }, + reset() { t.reset.call(this); this._doReset() }, + process(e) { this._append(e); return this._process() }, + finalize(e) { e && this._append(e); return this._doFinalize() }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper(e) { return { encrypt(b, k, d) { return (typeof k == 'string' ? c : a).encrypt(e, b, k, d) }, decrypt(b, k, d) { return (typeof k == 'string' ? c : a).decrypt(e, b, k, d) } } }, + }); d.StreamCipher = v.extend({ _doFinalize() { return this._process(!0) }, blockSize: 1 }); var b = p.mode = {}; const x = function (e, a, b) { + let c = this._iv; c ? this._iv = u : c = this._prevBlock; for (let d = 0; d < b; d++) { + e[a + d] + ^= c[d] + } + }; let q = (d.BlockCipherMode = l.extend({ createEncryptor(e, a) { return this.Encryptor.create(e, a) }, createDecryptor(e, a) { return this.Decryptor.create(e, a) }, init(e, a) { this._cipher = e; this._iv = a } })).extend(); q.Encryptor = q.extend({ processBlock(e, a) { const b = this._cipher; const c = b.blockSize; x.call(this, e, a, c); b.encryptBlock(e, a); this._prevBlock = e.slice(a, a + c) } }); q.Decryptor = q.extend({ + processBlock(e, a) { + const b = this._cipher; const c = b.blockSize; const d = e.slice(a, a + c); b.decryptBlock(e, a); x.call(this, e, a, c); this._prevBlock = d + }, + }); b = b.CBC = q; q = (p.pad = {}).Pkcs7 = { pad(a, b) { for (var c = 4 * b, c = c - a.sigBytes % c, d = c << 24 | c << 16 | c << 8 | c, l = [], n = 0; n < c; n += 4)l.push(d); c = s.create(l, c); a.concat(c) }, unpad(a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 } }; d.BlockCipher = v.extend({ + cfg: v.cfg.extend({ mode: b, padding: q }), + reset() { + v.reset.call(this); var a = this.cfg; const b = a.iv; var a = a.mode; if (this._xformMode == this._ENC_XFORM_MODE) + var c = a.createEncryptor; else c = a.createDecryptor, this._minBufferSize = 1; this._mode = c.call(a, this, b && b.words) + }, + _doProcessBlock(a, b) { this._mode.processBlock(a, b) }, + _doFinalize() { + const a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(!0) } + else { + b = this._process(!0), a.unpad(b) + } return b + }, + blockSize: 4, + }); const n = d.CipherParams = l.extend({ init(a) { this.mixIn(a) }, toString(a) { return (a || this.formatter).stringify(this) } }); var b = (p.format = {}).OpenSSL = { + stringify(a) { + const b = a.ciphertext; a = a.salt; return (a + ? s.create([1398893684, 1701076831]).concat(a).concat(b) + : b).toString(r) + }, + parse(a) { a = r.parse(a); const b = a.words; if (b[0] == 1398893684 && b[1] == 1701076831) { var c = s.create(b.slice(2, 4)); b.splice(0, 4); a.sigBytes -= 16 } return n.create({ ciphertext: a, salt: c }) }, + }; var a = d.SerializableCipher = l.extend({ + cfg: l.extend({ format: b }), + encrypt(a, b, c, d) { d = this.cfg.extend(d); let l = a.createEncryptor(c, d); b = l.finalize(b); l = l.cfg; return n.create({ ciphertext: b, key: c, iv: l.iv, algorithm: a, mode: l.mode, padding: l.padding, blockSize: a.blockSize, formatter: d.format }) }, + decrypt(a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); return a.createDecryptor(c, d).finalize(b.ciphertext) }, + _parse(a, b) { return typeof a == 'string' ? b.parse(a, this) : a }, + }); var p = (p.kdf = {}).OpenSSL = { execute(a, b, c, d) { d || (d = s.random(8)); a = w.create({ keySize: b + c }).compute(a, d); c = s.create(a.words.slice(b), 4 * c); a.sigBytes = 4 * b; return n.create({ key: a, iv: c, salt: d }) } }; var c = d.PasswordBasedCipher = a.extend({ + cfg: a.cfg.extend({ kdf: p }), + encrypt(b, c, d, l) { + l = this.cfg.extend(l); d = l.kdf.execute(d, b.keySize, b.ivSize); l.iv = d.iv; b = a.encrypt.call(this, b, c, d.key, l); b.mixIn(d); return b + }, + decrypt(b, c, d, l) { l = this.cfg.extend(l); c = this._parse(c, l.format); d = l.kdf.execute(d, b.keySize, b.ivSize, c.salt); l.iv = d.iv; return a.decrypt.call(this, b, c, d.key, l) }, + }) +}()); +(function () { + for (var u = CryptoJS, p = u.lib.BlockCipher, d = u.algo, l = [], s = [], t = [], r = [], w = [], v = [], b = [], x = [], q = [], n = [], a = [], c = 0; c < 256; c++)a[c] = c < 128 ? c << 1 : c << 1 ^ 283; for (var e = 0, j = 0, c = 0; c < 256; c++) { var k = j ^ j << 1 ^ j << 2 ^ j << 3 ^ j << 4; var k = k >>> 8 ^ k & 255 ^ 99; l[e] = k; s[k] = e; const z = a[e]; const F = a[z]; const G = a[F]; let y = 257 * a[k] ^ 16843008 * k; t[e] = y << 24 | y >>> 8; r[e] = y << 16 | y >>> 16; w[e] = y << 8 | y >>> 24; v[e] = y; y = 16843009 * G ^ 65537 * F ^ 257 * z ^ 16843008 * e; b[k] = y << 24 | y >>> 8; x[k] = y << 16 | y >>> 16; q[k] = y << 8 | y >>> 24; n[k] = y; e ? (e = z ^ a[a[a[G ^ z]]], j ^= a[a[j]]) : e = j = 1 } const H = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; var d = d.AES = p.extend({ + _doReset() { + for (var a = this._key, c = a.words, d = a.sigBytes / 4, a = 4 * ((this._nRounds = d + 6) + 1), e = this._keySchedule = [], j = 0; j < a; j++) { + if (j < d) { + e[j] = c[j] + } + else { var k = e[j - 1]; j % d ? d > 6 && j % d == 4 && (k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255]) : (k = k << 8 | k >>> 24, k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255], k ^= H[j / d | 0] << 24); e[j] = e[j - d] ^ k } + } c = this._invKeySchedule = []; for (d = 0; d < a; d++) { + j = a - d, k = d % 4 ? e[j] : e[j - 4], c[d] = d < 4 || j <= 4 + ? k + : b[l[k >>> 24]] ^ x[l[k >>> 16 & 255]] ^ q[l[k + >>> 8 & 255]] ^ n[l[k & 255]] + } + }, + encryptBlock(a, b) { this._doCryptBlock(a, b, this._keySchedule, t, r, w, v, l) }, + decryptBlock(a, c) { let d = a[c + 1]; a[c + 1] = a[c + 3]; a[c + 3] = d; this._doCryptBlock(a, c, this._invKeySchedule, b, x, q, n, s); d = a[c + 1]; a[c + 1] = a[c + 3]; a[c + 3] = d }, + _doCryptBlock(a, b, c, d, e, j, l, f) { + for (var m = this._nRounds, g = a[b] ^ c[0], h = a[b + 1] ^ c[1], k = a[b + 2] ^ c[2], n = a[b + 3] ^ c[3], p = 4, r = 1; r < m; r++) { + var q = d[g >>> 24] ^ e[h >>> 16 & 255] ^ j[k >>> 8 & 255] ^ l[n & 255] ^ c[p++]; var s = d[h >>> 24] ^ e[k >>> 16 & 255] ^ j[n >>> 8 & 255] ^ l[g & 255] ^ c[p++]; var t + = d[k >>> 24] ^ e[n >>> 16 & 255] ^ j[g >>> 8 & 255] ^ l[h & 255] ^ c[p++]; var n = d[n >>> 24] ^ e[g >>> 16 & 255] ^ j[h >>> 8 & 255] ^ l[k & 255] ^ c[p++]; var g = q; var h = s; var k = t + } q = (f[g >>> 24] << 24 | f[h >>> 16 & 255] << 16 | f[k >>> 8 & 255] << 8 | f[n & 255]) ^ c[p++]; s = (f[h >>> 24] << 24 | f[k >>> 16 & 255] << 16 | f[n >>> 8 & 255] << 8 | f[g & 255]) ^ c[p++]; t = (f[k >>> 24] << 24 | f[n >>> 16 & 255] << 16 | f[g >>> 8 & 255] << 8 | f[h & 255]) ^ c[p++]; n = (f[n >>> 24] << 24 | f[g >>> 16 & 255] << 16 | f[h >>> 8 & 255] << 8 | f[k & 255]) ^ c[p++]; a[b] = q; a[b + 1] = s; a[b + 2] = t; a[b + 3] = n + }, + keySize: 8, + }); u.AES = p._createHelper(d) +})() + +CryptoJS.encrypt = function (word, key, iv) { + return encrypt(word, key, iv) +} + +CryptoJS.decrypt = function (word, key, iv) { + return decrypt(word, key, iv) +} + +/** + * 加密 + * word:原密码 + * key :key + * iv : iv + */ +function encrypt(word, key, iv) { + key = CryptoJS.enc.Utf8.parse(key) + iv = CryptoJS.enc.Utf8.parse(iv) + const encrypted = CryptoJS.AES.encrypt(word, key, { + iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7, + }) + return encrypted.toString() +} + +/** + * 解密 + * word:加密后的密码 + * key :key + * iv : iv + */ +function decrypt(word, key, iv) { + key = CryptoJS.enc.Utf8.parse(key) + iv = CryptoJS.enc.Utf8.parse(iv) + let decrypted = CryptoJS.AES.decrypt(word, key, { + iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7, + }) + decrypted = CryptoJS.enc.Utf8.stringify(decrypted) + return decrypted +} +/** + * Electronic Codebook block mode. + */ +CryptoJS.mode.ECB = (function () { + const ECB = CryptoJS.lib.BlockCipherMode.extend() + ECB.Encryptor = ECB.extend({ + processBlock(words, offset) { + this._cipher.encryptBlock(words, offset) + }, + }) + ECB.Decryptor = ECB.extend({ + processBlock(words, offset) { + this._cipher.decryptBlock(words, offset) + }, + }) + return ECB +}()) +/** + * @example + * var CryptoJS = require('./util/aes.js') + * var key = CryptoJS.enc.Utf8.parse("key"); + * var iv = CryptoJS.enc.Utf8.parse("iv"); + * var pwd = CryptoJS.encrypt(this.data.pwdVal, key, iv) + * var original = CryptoJS.encrypt(pwd, key, iv) + */ +export default CryptoJS diff --git a/src/utils/chatEncrypt.js b/src/utils/chatEncrypt.js new file mode 100644 index 0000000..3ccb84f --- /dev/null +++ b/src/utils/chatEncrypt.js @@ -0,0 +1,25 @@ +import Crypto from '@/utils/chatCrypto' + +// 秘钥,转换成utf8格式字符串,用于加密解密,一般长度是16位(由后端提供) +const keyStr = import.meta.env.VITE_CHAT_AES_KEY +if (!keyStr) + throw new Error('缺少环境变量: VITE_CHAT_AES_KEY') +const key = Crypto.enc.Utf8.parse(keyStr) +// 偏移量,转换成utf8格式字符串,一般长度是16位(由后端提供) +const ivStr = import.meta.env.VITE_CHAT_AES_IV +if (!ivStr) + throw new Error('缺少环境变量: VITE_CHAT_AES_IV') +const iv = Crypto.enc.Utf8.parse(ivStr) + +// 加密(使用CBC模式) +export default function Encrypt(value) { + // 使用外部包中的AES的加密方法 + // value(加密内容)、key(密钥) + const encrypt = Crypto.AES.encrypt(value, key, { + iv, // 偏移量 + mode: Crypto.mode.CBC, // 模式(五种加密模式) + padding: Crypto.pad.Pkcs7, // 填充 + }) + // 将加密的内容转成字符串返回出去 + return encrypt.toString() +} diff --git a/src/utils/crypto.js b/src/utils/crypto.js new file mode 100644 index 0000000..13eb7ae --- /dev/null +++ b/src/utils/crypto.js @@ -0,0 +1,53 @@ +import CryptoJS from 'crypto-js' + +// AES CBC 加密,IV 拼接在密文前面,并进行 Base64 编码// AES CBC 加密,IV 拼接在密文前面,并进行 Base64 编码 +export function aesEncrypt(plainText, hexKey) { + // 转换密钥为WordArray + const key = CryptoJS.enc.Hex.parse(hexKey) + + // 生成一个随机的IV + const iv = generateRandomIV() // 生成 16 字节的随机 IV + + // 加密 + const encrypted = CryptoJS.AES.encrypt(plainText, key, { + iv, + padding: CryptoJS.pad.Pkcs7, + mode: CryptoJS.mode.CBC, + }) + + // 拼接IV和密文,IV在前,密文在后,最后Base64编码 + const ivAndCipherText = iv.concat(encrypted.ciphertext) + return CryptoJS.enc.Base64.stringify(ivAndCipherText) +} + +// AES CBC 解密,IV 在密文前面,并且 Base64 解码 +export function aesDecrypt(base64CipherText, hexKey) { + // 转换密钥为WordArray + const key = CryptoJS.enc.Hex.parse(hexKey) + + // Base64解码并转换为WordArray + const cipherParams = CryptoJS.enc.Base64.parse(base64CipherText) + + // 提取 IV(前 16 字节) + const iv = cipherParams.clone().words.slice(0, 4) // 16 字节的 IV 对应 4 个字(每个字 4 字节) + + // 提取密文 + const cipherText = cipherParams.clone().words.slice(4) // 从第 4 个字开始到最后的密文 + + // 解密 + const decrypted = CryptoJS.AES.decrypt({ ciphertext: CryptoJS.lib.WordArray.create(cipherText) }, key, { + iv: CryptoJS.lib.WordArray.create(iv), + padding: CryptoJS.pad.Pkcs7, + mode: CryptoJS.mode.CBC, + }) + + // 返回解密后的明文 + return decrypted.toString(CryptoJS.enc.Utf8) +} +function generateRandomIV() { + const iv = [] + for (let i = 0; i < 16; i++) { // 16 字节的 IV + iv.push(Math.floor(Math.random() * 256)) // 0-255 的随机数 + } + return CryptoJS.enc.Hex.parse(iv.map(b => b.toString(16).padStart(2, '0')).join('')) +} diff --git a/src/utils/navigate.ts b/src/utils/navigate.ts new file mode 100644 index 0000000..2fffd48 --- /dev/null +++ b/src/utils/navigate.ts @@ -0,0 +1,7 @@ +export function navigateLogin() { + uni.reLaunch({ url: '/pages/login' }) +} + +export function navigateTo(url: string) { + uni.navigateTo({ url }) +} diff --git a/src/utils/posterRenderMergeBridge.ts b/src/utils/posterRenderMergeBridge.ts new file mode 100644 index 0000000..3d1a3b3 --- /dev/null +++ b/src/utils/posterRenderMergeBridge.ts @@ -0,0 +1,44 @@ +/** renderjs 通过 callMethod 回传 dataUrl 后,逻辑层写入 _doc,与 Promise 衔接 */ + +import { writePngBase64ToLocal } from './appLocalFile' + +interface Pending { + resolve: (path: string) => void + reject: (e: Error) => void + index: number +} + +let pending: Pending | null = null + +export function setPosterMergePending(p: Pending) { + pending = p +} + +export async function handlePosterRenderMergeDone(dataUrl: string | undefined) { + const p = pending + if (!p) + return + if (!dataUrl) { + pending = null + p.reject(new Error('合成结果为空')) + return + } + pending = null + try { + const base64 = dataUrl.replace(/^data:image\/png;base64,/, '') + const filePath = `_doc/poster_composite_${p.index}_${Date.now()}.png` + await writePngBase64ToLocal(filePath, base64) + p.resolve(filePath) + } + catch (e) { + p.reject(e instanceof Error ? e : new Error(String(e))) + } +} + +export function handlePosterRenderMergeFailed(errMsg?: string) { + const p = pending + if (!p) + return + pending = null + p.reject(new Error(errMsg || '海报合成失败')) +} diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..b061d5a --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,66 @@ +/** + * 轻量请求(非链式)。与 `useApiFetch` 共用 env,行为尽量一致。 + */ +import { envConfig } from '@/constants/env' +import { clearAuthStorage, getToken } from '@/utils/storage' +import { navigateLogin } from './navigate' + +export interface ApiResponse { + code: number + msg: string + data: T +} + +interface RequestOptions { + url: string + method?: 'GET' | 'POST' | 'PUT' | 'DELETE' + data?: Record +} + +function joinUrl(path: string) { + const base = envConfig.apiBaseUrl.replace(/\/$/, '') + const p = path.startsWith('/') ? path : `/${path}` + return `${base}${p}` +} + +export function request(options: RequestOptions) { + return new Promise>((resolve, reject) => { + const token = getToken() + uni.request({ + url: joinUrl(options.url), + method: options.method || 'GET', + data: options.data, + header: { + 'Content-Type': 'application/json', + 'X-Platform': 'app', + ...(token ? { Authorization: token } : {}), + }, + success: (res) => { + const data = res.data as ApiResponse + if (res.statusCode === 401) { + clearAuthStorage() + navigateLogin() + reject(new Error('登录状态失效')) + return + } + if (!data || typeof data.code !== 'number') { + reject(new Error('响应格式不正确')) + return + } + if (data.code !== 200) { + if (data.code === 100009 || data.code === 100011) { + clearAuthStorage() + navigateLogin() + } + if (![200002, 200003, 200004, 100009, 100011].includes(data.code)) + uni.showToast({ title: data.msg || '请求失败', icon: 'none' }) + } + resolve(data) + }, + fail: (err) => { + uni.showToast({ title: '网络异常,请稍后再试', icon: 'none' }) + reject(err) + }, + }) + }) +} diff --git a/src/utils/storage.ts b/src/utils/storage.ts new file mode 100644 index 0000000..422a456 --- /dev/null +++ b/src/utils/storage.ts @@ -0,0 +1,50 @@ +const TOKEN_KEY = 'token' +const USER_KEY = 'userInfo' +const AGENT_KEY = 'agentInfo' +const REFRESH_AFTER_KEY = 'refreshAfter' +const ACCESS_EXPIRE_KEY = 'accessExpire' + +export function getToken() { + return uni.getStorageSync(TOKEN_KEY) as string +} + +export function setToken(token: string) { + uni.setStorageSync(TOKEN_KEY, token) +} + +export function clearToken() { + uni.removeStorageSync(TOKEN_KEY) +} + +export function setUserInfo(payload: Record) { + uni.setStorageSync(USER_KEY, payload) +} + +export function getUserInfo() { + return uni.getStorageSync(USER_KEY) as Record | undefined +} + +export function setAgentInfo(payload: Record) { + uni.setStorageSync(AGENT_KEY, payload) +} + +export function getAgentInfo() { + return uni.getStorageSync(AGENT_KEY) as Record | undefined +} + +export function clearAuthStorage() { + uni.removeStorageSync(TOKEN_KEY) + uni.removeStorageSync(REFRESH_AFTER_KEY) + uni.removeStorageSync(ACCESS_EXPIRE_KEY) + uni.removeStorageSync(USER_KEY) + uni.removeStorageSync(AGENT_KEY) +} + +export function setAuthSession(payload: { accessToken?: string, refreshAfter?: string, accessExpire?: string }) { + if (payload.accessToken) + uni.setStorageSync(TOKEN_KEY, payload.accessToken) + if (payload.refreshAfter) + uni.setStorageSync(REFRESH_AFTER_KEY, payload.refreshAfter) + if (payload.accessExpire) + uni.setStorageSync(ACCESS_EXPIRE_KEY, payload.accessExpire) +} diff --git a/src/utils/textEncoderPolyfill.ts b/src/utils/textEncoderPolyfill.ts new file mode 100644 index 0000000..e5d85d6 --- /dev/null +++ b/src/utils/textEncoderPolyfill.ts @@ -0,0 +1,15 @@ +/** + * APP / 部分小程序 JS 引擎无 TextEncoder,而 npm `qrcode` 在编码数据时会用到 + * (见 node_modules/qrcode/lib/core/byte-data.js) + */ +if (typeof globalThis.TextEncoder === 'undefined') { + globalThis.TextEncoder = class TextEncoderPolyfill { + encode(input = '') { + const utf8 = unescape(encodeURIComponent(String(input))) + const out = new Uint8Array(utf8.length) + for (let i = 0; i < utf8.length; i++) + out[i] = utf8.charCodeAt(i) + return out + } + } as typeof TextEncoder +} diff --git a/src/utils/zoomAdapter.js b/src/utils/zoomAdapter.js new file mode 100644 index 0000000..e1fed58 --- /dev/null +++ b/src/utils/zoomAdapter.js @@ -0,0 +1,115 @@ +/** + * 简化版缩放适配工具 + */ +class ZoomAdapter { + constructor() { + // ===== 可调整的配置参数 ===== + this.maxZoom = 3 // 触发调整的缩放阈值(默认3倍) + this.targetZoom = 2 // 调整后的目标缩放(默认2倍) + this.isInitialized = false + } + + init() { + if (typeof window === 'undefined' || typeof document === 'undefined') + return + if (this.isInitialized) + return + + // 绑定事件 + window.addEventListener('resize', () => this.checkZoom()) + window.addEventListener('orientationchange', () => { + setTimeout(() => this.checkZoom(), 500) + }) + + // 防止双击缩放 + let lastTouchEnd = 0 + document.addEventListener('touchend', (event) => { + const now = Date.now() + if (now - lastTouchEnd <= 300) { + event.preventDefault() + } + lastTouchEnd = now + }, false) + + this.checkZoom() + this.isInitialized = true + } + + getCurrentZoom() { + return Math.max( + window.outerWidth / window.innerWidth, + window.devicePixelRatio, + window.screen.width / window.innerWidth, + ) + } + + checkZoom() { + const zoom = this.getCurrentZoom() + + if (zoom > this.maxZoom) { + this.adjust(zoom) + } + else { + this.reset() + } + } + + adjust(zoom) { + try { + // 计算调整比例:目标缩放 / 当前缩放 + const ratio = this.targetZoom / zoom + + // 应用调整 + document.body.style.transform = `scale(${ratio})` + document.body.style.transformOrigin = 'top left' + document.body.style.width = `${100 / ratio}%` + document.body.style.height = `${100 / ratio}%` + } + catch (e) { + console.warn('缩放调整失败:', e) + } + } + + reset() { + try { + document.body.style.transform = '' + document.body.style.transformOrigin = '' + document.body.style.width = '' + document.body.style.height = '' + } + catch (e) { + console.warn('缩放重置失败:', e) + } + } + + addZoomStyles() { + const style = document.createElement('style') + style.id = 'zoom-adapter-styles' + style.textContent = ` + .zoom-adaptive { + font-size: 16px !important; + line-height: 1.5 !important; + } + .zoom-adaptive input, + .zoom-adaptive button, + .zoom-adaptive select, + .zoom-adaptive textarea { + font-size: 16px !important; + min-height: 44px !important; + padding: 8px 12px !important; + } + .zoom-adaptive img { + max-width: 100% !important; + height: auto !important; + } + .zoom-adaptive table { + max-width: 100% !important; + overflow-x: auto !important; + } + ` + document.head.appendChild(style) + } +} + +export default new ZoomAdapter() +export { ZoomAdapter } diff --git a/test-results/.last-run.json b/test-results/.last-run.json new file mode 100644 index 0000000..5fca3f8 --- /dev/null +++ b/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "failed", + "failedTests": [] +} \ No newline at end of file diff --git a/test/index.test.ts b/test/index.test.ts new file mode 100644 index 0000000..bd975e5 --- /dev/null +++ b/test/index.test.ts @@ -0,0 +1,15 @@ +import { beforeAll, describe, expect, it } from 'vitest' + +describe('test title', () => { + let page: Page + beforeAll(async () => { + page = await program.currentPage() + await page.waitFor(3000) + }) + + it('check uni-helper logo label', async () => { + const el = await page.$('.uni-helper-logo__label') + const titleText = await el.text() + expect(titleText).toEqual('uni-helper') + }) +}) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..0b91796 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "@vue/tsconfig/tsconfig.json", + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + "types": [ + "@dcloudio/types", + "@mini-types/alipay", + "miniprogram-api-typings", + "@uni-helper/uni-types", + "@uni-helper/vite-plugin-uni-pages", + "vitest-environment-uniapp/types" + ], + "sourceMap": true + }, + "vueCompilerOptions": { + // 调整 Volar(Vue 语言服务工具)解析行为,用于为 uni-app 组件提供 TypeScript 类型 + "plugins": ["@uni-helper/uni-types/volar-plugin", "wot-design-uni/global"] + } +} diff --git a/unh.config.ts b/unh.config.ts new file mode 100644 index 0000000..c1012dc --- /dev/null +++ b/unh.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from '@uni-helper/unh' + +/** + * unh 配置文件 + * 更多配置请参考:https://uni-helper.js.org/unh/ + */ +export default defineConfig({ + platform: { + // 默认平台 + default: 'app', + // 平台别名 + alias: { + 'h5': ['w', 'h'], + 'mp-weixin': 'wx', + }, + }, + autoGenerate: { + pages: true, + manifest: true, + }, +}) diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 0000000..43b7203 --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,26 @@ +import { presetUni } from '@uni-helper/unocss-preset-uni' +import { + defineConfig, + presetIcons, + transformerDirectives, + transformerVariantGroup, +} from 'unocss' + +export default defineConfig({ + presets: [ + presetUni(), + presetIcons({ + scale: 1.2, + warn: true, + extraProperties: { + 'display': 'inline-block', + 'vertical-align': 'middle', + }, + // HBuilderX 必须针对要使用的 Collections 做异步导入 + // collections: { + // carbon: () => import('@iconify-json/carbon/icons.json').then(i => i.default), + // }, + }), + ], + transformers: [transformerDirectives(), transformerVariantGroup()], +}) diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..209f9bb --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,66 @@ +import Uni from '@uni-helper/plugin-uni' + +import UniHelperComponents from '@uni-helper/vite-plugin-uni-components' +import { WotResolver } from '@uni-helper/vite-plugin-uni-components/resolvers' +import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts' +import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest' +import UniHelperPages from '@uni-helper/vite-plugin-uni-pages' + +import UnoCSS from 'unocss/vite' +import AutoImport from 'unplugin-auto-import/vite' + +import { defineConfig } from 'vite' + +import UniPolyfill from 'vite-plugin-uni-polyfill' + +// https://vitejs.dev/config/ +export default defineConfig({ + server: { + proxy: { + '/api': { + target: 'http://127.0.0.1:8888', + changeOrigin: true, + }, + }, + }, + plugins: [ + // https://uni-helper.js.org/vite-plugin-uni-manifest + UniHelperManifest(), + // https://uni-helper.js.org/vite-plugin-uni-pages + UniHelperPages({ + dts: 'src/uni-pages.d.ts', + }), + // https://uni-helper.js.org/vite-plugin-uni-layouts + UniHelperLayouts(), + // https://uni-helper.js.org/vite-plugin-uni-components + UniHelperComponents({ + dts: 'src/components.d.ts', + directoryAsNamespace: true, + resolvers: [WotResolver()], + }), + // https://uni-helper.js.org/plugin-uni + Uni(), + UniPolyfill(), + // https://github.com/antfu/unplugin-auto-import + AutoImport({ + imports: [ + 'vue', + '@vueuse/core', + 'uni-app', + ], + dts: 'src/auto-imports.d.ts', + dirs: ['src/composables', 'src/stores', 'src/utils'], + vueTemplate: true, + }), + // https://github.com/antfu/unocss + // see unocss.config.ts for config + UnoCSS(), + ], + build: { + rollupOptions: { + output: { + format: 'es', // 将 iife/umd 改为 es + }, + }, + }, +}) diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..6ec9830 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + environment: 'uniapp', + environmentOptions: { + uniapp: { + platform: 'mp-weixin', + projectPath: './src', + port: 5121, + }, + }, + }, +})