From 8327e335df9fd75425404e04452457f44482bd1b Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 20 Oct 2026 13:45:05 +0800 Subject: [PATCH] feat: initialize merchant payment H5 --- .env | 11 + .gitignore | 8 + .npmrc | 1 + .prettierrc | 8 + README.md | 77 + index.html | 17 + package.json | 34 + pnpm-lock.yaml | 5563 +++++++++++ src/App.vue | 10 + src/env.d.ts | 12 + src/main.ts | 22 + src/manifest.json | 17 + src/pages.json | 23 + src/pages/pay/index.vue | 206 + src/sheep/api/payment.ts | 93 + src/sheep/components/payment-keyboard.vue | 199 + src/sheep/components/payment-unavailable.vue | 26 + src/sheep/config/merchant.ts | 12 + src/sheep/config/theme.ts | 29 + src/sheep/hooks/use-merchant-payment.ts | 309 + src/sheep/hooks/use-payment-amount.ts | 38 + src/sheep/scss/global.scss | 64 + src/sheep/stores/index.ts | 6 + src/sheep/utils/payment-bridge.ts | 77 + src/sheep/utils/payment-entry.ts | 47 + src/sheep/utils/payment-platform.ts | 43 + src/sheep/utils/request.ts | 37 + src/uni.scss | 6 + src/uni_modules/tm-ui/changelog.md | 13 + .../tm-ui/components/tm-icon/tm-icon.vue | 171 + .../tm-ui/components/tm-sheet/tm-sheet.vue | 289 + src/uni_modules/tm-ui/css/remixicon.min.css | 1 + src/uni_modules/tm-ui/css/tmui.css | 8401 +++++++++++++++++ src/uni_modules/tm-ui/css/tmui.css.map | 1 + src/uni_modules/tm-ui/index.ts | 11 + src/uni_modules/tm-ui/interface.ts | 148 + src/uni_modules/tm-ui/libs/colors.ts | 684 ++ src/uni_modules/tm-ui/libs/config.ts | 47 + src/uni_modules/tm-ui/libs/tool.ts | 156 + src/uni_modules/tm-ui/package.json | 92 + src/uni_modules/tm-ui/readme.md | 74 + tsconfig.json | 23 + unocss.config.ts | 23 + vite.config.ts | 42 + 44 files changed, 17171 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .prettierrc create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src/App.vue create mode 100644 src/env.d.ts create mode 100644 src/main.ts create mode 100644 src/manifest.json create mode 100644 src/pages.json create mode 100644 src/pages/pay/index.vue create mode 100644 src/sheep/api/payment.ts create mode 100644 src/sheep/components/payment-keyboard.vue create mode 100644 src/sheep/components/payment-unavailable.vue create mode 100644 src/sheep/config/merchant.ts create mode 100644 src/sheep/config/theme.ts create mode 100644 src/sheep/hooks/use-merchant-payment.ts create mode 100644 src/sheep/hooks/use-payment-amount.ts create mode 100644 src/sheep/scss/global.scss create mode 100644 src/sheep/stores/index.ts create mode 100644 src/sheep/utils/payment-bridge.ts create mode 100644 src/sheep/utils/payment-entry.ts create mode 100644 src/sheep/utils/payment-platform.ts create mode 100644 src/sheep/utils/request.ts create mode 100644 src/uni.scss create mode 100644 src/uni_modules/tm-ui/changelog.md create mode 100644 src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue create mode 100644 src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue create mode 100644 src/uni_modules/tm-ui/css/remixicon.min.css create mode 100644 src/uni_modules/tm-ui/css/tmui.css create mode 100644 src/uni_modules/tm-ui/css/tmui.css.map create mode 100644 src/uni_modules/tm-ui/index.ts create mode 100644 src/uni_modules/tm-ui/interface.ts create mode 100644 src/uni_modules/tm-ui/libs/colors.ts create mode 100644 src/uni_modules/tm-ui/libs/config.ts create mode 100644 src/uni_modules/tm-ui/libs/tool.ts create mode 100644 src/uni_modules/tm-ui/package.json create mode 100644 src/uni_modules/tm-ui/readme.md create mode 100644 tsconfig.json create mode 100644 unocss.config.ts create mode 100644 vite.config.ts diff --git a/.env b/.env new file mode 100644 index 0000000..4c29fa8 --- /dev/null +++ b/.env @@ -0,0 +1,11 @@ +# 后端请求前缀,开发环境通过 Vite 同源代理。 +VITE_API_URL=/api + +# 是否为微服务;false 对接 Boot 单体服务,移除接口的 /third 前缀。 +VITE_IS_MICRO=true + +# 开发环境后端地址。 +VITE_APP_DEV_SERVICE=https://dzc-test-1.fy.takin.cc + +# 生产环境后端地址;配置为空时由线上部署提供同源接口。 +VITE_APP_PROD_SERVICE=https://www.zianxin.com/api diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd4c90f --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +dist/ +unpackage/ +.DS_Store +*.log +*.local +.idea/ +.vscode/ diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..bf2e764 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +shamefully-hoist=true diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..ef9c5c7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "tabWidth": 2, + "useTabs": true, + "trailingComma": "all", + "semi": false, + "singleQuote": false, + "printWidth": 140 +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..4166460 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# 商户付款 H5 + +uni-app Vue 3 + TypeScript + UnoCSS + tm-ui 的独立 H5 项目。工程与蓝色主题参考 `../biz_zax_app_cloud`,只注册一个付款页面,默认中文、人民币、浅色主题。 + +## 本地开发 + +要求 Node.js 20.19+、pnpm 10.13.0。 + +```bash +pnpm install --frozen-lockfile +pnpm dev:h5 +``` + +浏览器访问 。同一局域网内可使用本机 IP 和 8890 端口进行手机预览。 + +```bash +pnpm type-check +pnpm build:h5 +``` + +`type-check` 检查业务代码与工程配置。tm-ui 采用按需引入的原始源码,保留第三方类型与样式;不对上游组件做单页定制。按团队规则,生产构建和完整测试在明确的集中验证指令后执行。 + +## 目录与调整入口 + +```text +src/ +├── pages/pay/index.vue # 唯一页面:商户、金额与付款交互 +├── sheep/ +│ ├── components/payment-keyboard.vue # 四列常驻键盘 +│ ├── config/merchant.ts # 仅供设计参考的示例数据,真实页面不引用 +│ ├── config/theme.ts # UnoCSS、CSS 与 tm-ui 共享主题 +│ ├── hooks/use-payment-amount.ts # 金额字符串输入规则 +│ ├── scss/global.scss # 全局字体与 H5 视口适配 +│ └── stores/index.ts # tm-ui 主题使用的 Pinia +└── uni_modules/tm-ui/ # 参考项目同版 3.2.0 组件及必要依赖 +``` + +- 商户名称与标识通过匿名商户接口读取;`src/sheep/config/merchant.ts` 中的示例仅保留作设计参考,真实页面不引用。标识缺省或加载失败时展示统一店铺图形。 +- 修改主题:编辑 `src/sheep/config/theme.ts`。页面基础色在 `pages.json`、`uni.scss` 和 HTML 的 theme-color 中保留一致的框架配置。 +- 页面采用 Hash 路由,唯一页面为 `/pages/pay/index`。部署子路径统一在 `src/manifest.json` 的 `h5.router.base` 中修改,默认 `/`,避免在 Vite 中重复设置路径前缀。 +- 接入 third 服务的匿名商户查询、线下收款、OAuth 回跳和真实支付。无签名入口或短期收银票据时展示错误,不回退到示例商户。 + +## 金额与 H5 交互 + +- 使用字符串保存元单位金额,保留 `0.` 和 `1.20` 等输入过程,不进行浮点金额运算;支持两位小数、前导零处理和逐位删除。 +- 付款键对空金额、零金额和超过 9,999.99 元的金额禁用;提交前保存稳定请求号,刷新或网络失败后复用原请求。 +- 金额框为可聚焦的只读展示,避免系统软键盘和常驻键盘重叠。物理键盘支持数字、小数点、退格和 Enter;Tab、组合快捷键及数字按钮自身的键盘激活不被拦截。 +- 内容最大宽度 480px,rpx 同步限制放大;使用 `100dvh` 并提供 `100vh` 回退,键盘位于独立的底部区域。页面直接展示商户和金额,无顶部标题。 +- 整页锁定在可视高度,常见竖屏不产生纵向滚动;短屏压缩卡片间距,极短横屏保留内容区内部滑动。所有内部滚动条均隐藏,长金额仍可横向查看。 +- 支持安全区、长商户名称、长金额横向滚动、可见焦点与减少动态效果偏好;不禁止浏览器缩放。 + +## 第三方来源 + +tm-ui `3.2.0` 从参考项目的 `src/uni_modules/tm-ui` 原样引入 `tm-sheet`、`tm-icon` 及其主题、工具、类型、CSS 和图标资源,保留上游说明与版本信息。数字键盘使用 uni-app 自带按钮,维持明确的禁用状态和 H5 键盘语义。 + +依赖基于参考项目的 pnpm 锁文件解析版本;只保留本项目需要的 H5 依赖,不包含 App 原生配置、服务地址或应用凭据。 + +## 接口与部署 + +项目只使用根目录一个 `.env`,变量命名与参考 App 一致:`VITE_API_URL` 为开发请求前缀,`VITE_APP_DEV_SERVICE` 为开发后端地址,`VITE_APP_PROD_SERVICE` 为生产后端地址,`VITE_IS_MICRO` 控制是否保留微服务前缀。修改后重启 `pnpm dev:h5`。这里不配置登录 Token、签名密钥或支付密钥。 + +开发模式下,浏览器请求 `VITE_API_URL`(默认 `/api`),由 `vite.config.ts` 转发到 `VITE_APP_DEV_SERVICE`,避免跨域。例如开发地址为 `https://dzc-test-1.fy.takin.cc` 且 `VITE_IS_MICRO=true` 时,`http://localhost:8890/api/third/aggregate-merchant-pay/merchant` 转发到 `https://dzc-test-1.fy.takin.cc/third/aggregate-merchant-pay/merchant`。目标地址自带 `/api` 等基础路径时会保留,不要在请求层再次添加。 + +`VITE_IS_MICRO=true` 保留 `/third`;`false` 对接单体服务时移除 `/third`,代理规则共用。生产构建直接读取同一 `.env` 的 `VITE_APP_PROD_SERVICE`;若线上反向代理已提供同源接口,可将其设为空。Vite 开发代理不随生产构建发布。 + +- 商户码入口:`/#/pages/pay/index?id=...&tenantId=...&v=1&sign=...`,商户和租户 ID 按字符串处理。 +- OAuth 回跳:`/#/pages/pay/index?tenantCode=...&ticket=...`,页面通过接口读取真实场景、固定金额和渠道参数。 +- `GET /third/aggregate-merchant-pay/merchant` 读取公开商户资料及 `supportedPlatforms`(10 微信、20 支付宝);商户可以只开通其中一个渠道。 +- `POST /third/aggregate-merchant-pay/create` 提交整数分金额及稳定 `requestId`;不在前端指定业务类型或渠道商户。 +- `GET /third/aggregate-order-pay/context/{tenantCode}/{ticket}` 读取收银上下文;现有 `/status/{tenantCode}/{ticket}` 确认结果。 +- 后端把本 H5 来源加入精确 CORS 允许列表;跨域接口必须使用 HTTPS。OAuth 回调仍由后端接收,平台密钥和 OAuth 身份不进入前端。 + +线下收款在提交前保留数字键盘;订单聚合及已提交的收款金额锁定。OAuth 回跳只自动调起一次,取消后可手动继续,刷新不会自动重复弹出。JSBridge 返回成功后仍查询服务端状态;未确认原单成功或关闭之前不释放金额创建新请求。 + +扫码客户端未在商户已开通渠道中时,在原单页展示“商户暂不支持微信/支付宝支付”及换用已开通 App 重新扫码的指引,隐藏金额与键盘。普通浏览器提示使用已支持 App 扫码;全部渠道停用时提示联系商户。可重新检查开通情况,不在当前客户端强制唤起另一个 App,也不会据此清除待确认的原付款请求。 + +完整后端配置、迁移、平台域名设置及发布顺序见 `../biz-api-cloud-zax/pjcloud-thirdparty/docs/aggregate-h5.md`。更换二维码使用的域名或签名密钥后需重新生成商户 URL 收款码,原 App Base64 收款码保持兼容。 diff --git a/index.html b/index.html new file mode 100644 index 0000000..723c4c4 --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + + 商户收款 + + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..60547c7 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "biz-pay-h5", + "version": "0.1.0", + "private": true, + "description": "基于 uni-app、UnoCSS 与 tm-ui 的商户付款 H5", + "packageManager": "pnpm@10.13.0", + "engines": { + "node": ">=20.19.0" + }, + "scripts": { + "dev:h5": "uni", + "build:h5": "uni build", + "type-check": "vue-tsc --noEmit" + }, + "dependencies": { + "@dcloudio/uni-app": "3.0.0-5000720260410001", + "@dcloudio/uni-components": "3.0.0-5000720260410001", + "@dcloudio/uni-h5": "3.0.0-5000720260410001", + "pinia": "3.0.4", + "vue": "3.5.26" + }, + "devDependencies": { + "@dcloudio/types": "3.4.28", + "@dcloudio/uni-cli-shared": "3.0.0-5000720260410001", + "@dcloudio/vite-plugin-uni": "3.0.0-5000720260410001", + "@types/node": "20.19.30", + "sass": "1.71.1", + "typescript": "4.9.5", + "unocss": "0.58.9", + "unocss-preset-weapp": "0.58.9", + "vite": "5.2.8", + "vue-tsc": "1.8.27" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..f8e0668 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5563 @@ +lockfileVersion: "9.0" +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false +importers: + .: + dependencies: + "@dcloudio/uni-app": + specifier: 3.0.0-5000720260410001 + version: 3.0.0-5000720260410001(@dcloudio/types@3.4.28)(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-components": + specifier: 3.0.0-5000720260410001 + version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-h5": + specifier: 3.0.0-5000720260410001 + version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + pinia: + specifier: 3.0.4 + version: 3.0.4(typescript@4.9.5)(vue@3.5.26(typescript@4.9.5)) + vue: + specifier: 3.5.26 + version: 3.5.26(typescript@4.9.5) + devDependencies: + "@dcloudio/types": + specifier: 3.4.28 + version: 3.4.28 + "@dcloudio/uni-cli-shared": + specifier: 3.0.0-5000720260410001 + version: 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/vite-plugin-uni": + specifier: 3.0.0-5000720260410001 + version: 3.0.0-5000720260410001(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5)) + "@types/node": + specifier: 20.19.30 + version: 20.19.30 + sass: + specifier: 1.71.1 + version: 1.71.1 + typescript: + specifier: 4.9.5 + version: 4.9.5 + unocss: + specifier: 0.58.9 + version: 0.58.9(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)) + unocss-preset-weapp: + specifier: 0.58.9 + version: 0.58.9(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)) + vite: + specifier: 5.2.8 + version: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + vue-tsc: + specifier: 1.8.27 + version: 1.8.27(typescript@4.9.5) +packages: + "@ampproject/remapping@2.3.0": + resolution: + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + engines: + node: ">=6.0.0" + "@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.28.6": + resolution: + integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== + engines: + node: ">=6.9.0" + "@babel/compat-data@7.28.6": + resolution: + integrity: sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== + 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/generator@7.28.6": + resolution: + integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== + engines: + node: ">=6.9.0" + "@babel/helper-annotate-as-pure@7.27.3": + resolution: + integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== + engines: + node: ">=6.9.0" + "@babel/helper-compilation-targets@7.28.6": + resolution: + integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== + engines: + node: ">=6.9.0" + "@babel/helper-create-class-features-plugin@7.28.6": + resolution: + integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/helper-create-regexp-features-plugin@7.28.5": + resolution: + integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/helper-define-polyfill-provider@0.6.5": + resolution: + integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg== + 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.28.5": + resolution: + integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg== + engines: + node: ">=6.9.0" + "@babel/helper-module-imports@7.28.6": + resolution: + integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== + engines: + node: ">=6.9.0" + "@babel/helper-module-transforms@7.28.6": + resolution: + integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/helper-optimise-call-expression@7.27.1": + resolution: + integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== + engines: + node: ">=6.9.0" + "@babel/helper-plugin-utils@7.28.6": + resolution: + integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== + engines: + node: ">=6.9.0" + "@babel/helper-remap-async-to-generator@7.27.1": + resolution: + integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/helper-replace-supers@7.28.6": + resolution: + integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/helper-skip-transparent-expression-wrappers@7.27.1": + resolution: + integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== + 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.28.5": + resolution: + integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== + engines: + node: ">=6.9.0" + "@babel/helper-validator-option@7.27.1": + resolution: + integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + engines: + node: ">=6.9.0" + "@babel/helper-wrap-function@7.28.6": + resolution: + integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ== + engines: + node: ">=6.9.0" + "@babel/helpers@7.28.6": + resolution: + integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== + 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.28.6": + resolution: + integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== + engines: + node: ">=6.0.0" + hasBin: true + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5": + resolution: + integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1": + resolution: + integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1": + resolution: + integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1": + resolution: + integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.13.0 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6": + resolution: + integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g== + 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-import-assertions@7.28.6": + resolution: + integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-syntax-import-attributes@7.28.6": + resolution: + integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== + 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-jsx@7.28.6": + resolution: + integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-syntax-typescript@7.28.6": + resolution: + integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== + 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.27.1": + resolution: + integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-async-generator-functions@7.28.6": + resolution: + integrity: sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-async-to-generator@7.28.6": + resolution: + integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-block-scoped-functions@7.27.1": + resolution: + integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-block-scoping@7.28.6": + resolution: + integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-class-properties@7.28.6": + resolution: + integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-class-static-block@7.28.6": + resolution: + integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.12.0 + "@babel/plugin-transform-classes@7.28.6": + resolution: + integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-computed-properties@7.28.6": + resolution: + integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-destructuring@7.28.5": + resolution: + integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-dotall-regex@7.28.6": + resolution: + integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-duplicate-keys@7.27.1": + resolution: + integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6": + resolution: + integrity: sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-transform-dynamic-import@7.27.1": + resolution: + integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-explicit-resource-management@7.28.6": + resolution: + integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-exponentiation-operator@7.28.6": + resolution: + integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-export-namespace-from@7.27.1": + resolution: + integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-for-of@7.27.1": + resolution: + integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-function-name@7.27.1": + resolution: + integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-json-strings@7.28.6": + resolution: + integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-literals@7.27.1": + resolution: + integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-logical-assignment-operators@7.28.6": + resolution: + integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-member-expression-literals@7.27.1": + resolution: + integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-modules-amd@7.27.1": + resolution: + integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-modules-commonjs@7.28.6": + resolution: + integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-modules-systemjs@7.28.5": + resolution: + integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-modules-umd@7.27.1": + resolution: + integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-named-capturing-groups-regex@7.27.1": + resolution: + integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-transform-new-target@7.27.1": + resolution: + integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-nullish-coalescing-operator@7.28.6": + resolution: + integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-numeric-separator@7.28.6": + resolution: + integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-object-rest-spread@7.28.6": + resolution: + integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-object-super@7.27.1": + resolution: + integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-optional-catch-binding@7.28.6": + resolution: + integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-optional-chaining@7.28.6": + resolution: + integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-parameters@7.27.7": + resolution: + integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-private-methods@7.28.6": + resolution: + integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-private-property-in-object@7.28.6": + resolution: + integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-property-literals@7.27.1": + resolution: + integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-regenerator@7.28.6": + resolution: + integrity: sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-regexp-modifiers@7.28.6": + resolution: + integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/plugin-transform-reserved-words@7.27.1": + resolution: + integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-shorthand-properties@7.27.1": + resolution: + integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-spread@7.28.6": + resolution: + integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-sticky-regex@7.27.1": + resolution: + integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-template-literals@7.27.1": + resolution: + integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-typeof-symbol@7.27.1": + resolution: + integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-typescript@7.28.6": + resolution: + integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-unicode-escapes@7.27.1": + resolution: + integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-unicode-property-regex@7.28.6": + resolution: + integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-unicode-regex@7.27.1": + resolution: + integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/plugin-transform-unicode-sets-regex@7.28.6": + resolution: + integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@babel/preset-env@7.28.6": + resolution: + integrity: sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw== + 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/preset-typescript@7.28.5": + resolution: + integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g== + engines: + node: ">=6.9.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + "@babel/runtime-corejs3@7.29.2": + resolution: + integrity: sha512-Lc94FOD5+0aXhdb0Tdg3RUtqT6yWbI/BbFWvlaSJ3gAb9Ks+99nHRDKADVqC37er4eCB0fHyWT+y+K3QOvJKbw== + engines: + node: ">=6.9.0" + "@babel/template@7.28.6": + resolution: + integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== + engines: + node: ">=6.9.0" + "@babel/traverse@7.28.6": + resolution: + integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== + engines: + node: ">=6.9.0" + "@babel/types@7.25.6": + resolution: + integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== + engines: + node: ">=6.9.0" + "@babel/types@7.28.6": + resolution: + integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== + engines: + node: ">=6.9.0" + "@dcloudio/types@3.4.28": + resolution: + integrity: sha512-uVIRp1VLBkrL0LaGLgIS/sT3bl1zzVTKZQbfqJEQcSAvBffRdirbSh5OvOHfA1WV5lmCAGfjhKsUQouNEVUQHg== + "@dcloudio/uni-app@3.0.0-5000720260410001": + resolution: + integrity: sha512-1JWt4rSnYDjj6bSThDKcW8OhP68qQlsY1Zd/GBIUsiRTVSrkvA3xVwmeV5odXirpZeH5xthus4eIRdv/Qmmheg== + peerDependencies: + "@dcloudio/types": 3.4.28 + "@dcloudio/uni-cli-shared@3.0.0-5000720260410001": + resolution: + integrity: sha512-UW0eEjO+GgmHixnSfBJxpI1fTW+0VgyjPTFUL+L7zNtIpI8eLEQHrGEbAC8IIOi4hAkVN3riDk80Dg2i3KSGqA== + engines: + node: ^14.18.0 || >=16.0.0 + "@dcloudio/uni-cloud@3.0.0-5000720260410001": + resolution: + integrity: sha512-VGM8jhB3ol80mjvpSf+9gZApkYc2QDEk12ODTQKdQZbmjR33K7eqt8mpefErNYumnRmdQ4iL4oPArJ+O4GZpog== + "@dcloudio/uni-components@3.0.0-5000720260410001": + resolution: + integrity: sha512-ZwGKA1/mucO6SufgfN6JL1MFmeXFaEAoZUbXck8mvk/vwVduZHJeocWousF6bJtGMm23FM5ItG31KjcnwQpPjQ== + "@dcloudio/uni-console@3.0.0-5000720260410001": + resolution: + integrity: sha512-ropH7p+fk4tjnFEex2FRqNPzK2g8Fs9OixJmDoR7th+7VZJ13LICR1DMd9cbwtERDECSbs5AJSQ/GU6/UP4P0Q== + "@dcloudio/uni-h5-vite@3.0.0-5000720260410001": + resolution: + integrity: sha512-wqbr6VMH89RPbtWGL1EkCNyz9krtbd1XeobfwWkHjlJZnrgw0kf5KJQcS1Pi5v+mSoUi2L+jloOzCUyGKVZ4VQ== + "@dcloudio/uni-h5-vue@3.0.0-5000720260410001": + resolution: + integrity: sha512-69fkZ1rMFE+RBGbQeBBOI/fa0jKBbJLZN3HSu/bZqGGeqjGZQz22FdH5luYXyQuNxxT+rXTIFQlV5Z+NM2hr/w== + "@dcloudio/uni-h5@3.0.0-5000720260410001": + resolution: + integrity: sha512-N2Cp08qRfICs5yjNQ3Jnz3E4iM0EsDsCbyISOfHDcXeBeDNHAV57ZFMwI0yB4OpGOFp+th8dW2V50t/LlIcqfw== + "@dcloudio/uni-i18n@3.0.0-5000720260410001": + resolution: + integrity: sha512-6X/2eRqbAmQR1bUJpzCjr2xKXDY2+3rQWsvQ5RjwKQVFsz641GlVlUdxI6YwIZumGDRiCIz8T9eGfyIC6pGt9Q== + "@dcloudio/uni-nvue-styler@3.0.0-5000720260410001": + resolution: + integrity: sha512-7eFvhU67IDBxfyLP5zUyRTQPzJFoJ0WeV7QNpgvJf4FznynAGLfZ0Rh8Zgan8vxWa+PSSbpooVQbjCYJXhq5lg== + "@dcloudio/uni-push@3.0.0-5000720260410001": + resolution: + integrity: sha512-oCmufDQ20AFxwBs7Aoz9BDWx1KMSW76bKU6AQ8YqM1MPxCDLif5d830Gwivc4rQFGlc3x7hYGh30r8/kl8FLbw== + "@dcloudio/uni-shared@3.0.0-5000720260410001": + resolution: + integrity: sha512-B51i5GohH5D6v4OgXQToESihIpmssBNSQAbiKdV10uQ/6u5TtyQkTtUKwdhjm+SY5xQSluV9sBpnB+LvYyWakg== + "@dcloudio/uni-stat@3.0.0-5000720260410001": + resolution: + integrity: sha512-6jDWTufAjGsdOPcfnSsB2ylaBosFj5+UqZch56NgDrHejasdJ5Pb+peqOP7zn/mlRCiYk0dWTi6ZhcUFJ8ZKDA== + "@dcloudio/vite-plugin-uni@3.0.0-5000720260410001": + resolution: + integrity: sha512-wVNF7QRImQkAOwtRLrZ80z5KnF+F7P+cBV/BH16aA/Upj1xyFcihRF4QENt9PyhO0syg5n+Dl4Xhm7Oz+6mjPA== + engines: + node: ^14.18.0 || >=16.0.0 + hasBin: true + peerDependencies: + vite: 5.2.8 + "@esbuild/aix-ppc64@0.20.2": + resolution: + integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + engines: + node: ">=12" + 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-arm@0.20.2": + resolution: + integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + engines: + node: ">=12" + cpu: + - arm + os: + - android + "@esbuild/android-x64@0.20.2": + resolution: + integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + engines: + node: ">=12" + 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-x64@0.20.2": + resolution: + integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + engines: + node: ">=12" + cpu: + - x64 + os: + - darwin + "@esbuild/freebsd-arm64@0.20.2": + resolution: + integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + engines: + node: ">=12" + 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/linux-arm64@0.20.2": + resolution: + integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + engines: + node: ">=12" + cpu: + - arm64 + os: + - linux + "@esbuild/linux-arm@0.20.2": + resolution: + integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + engines: + node: ">=12" + cpu: + - arm + os: + - linux + "@esbuild/linux-ia32@0.20.2": + resolution: + integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + engines: + node: ">=12" + 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-mips64el@0.20.2": + resolution: + integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + engines: + node: ">=12" + 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-riscv64@0.20.2": + resolution: + integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + engines: + node: ">=12" + 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-x64@0.20.2": + resolution: + integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + engines: + node: ">=12" + cpu: + - x64 + os: + - linux + "@esbuild/netbsd-x64@0.20.2": + resolution: + integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + engines: + node: ">=12" + cpu: + - x64 + os: + - netbsd + "@esbuild/openbsd-x64@0.20.2": + resolution: + integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + engines: + node: ">=12" + cpu: + - x64 + os: + - openbsd + "@esbuild/sunos-x64@0.20.2": + resolution: + integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + engines: + node: ">=12" + 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-ia32@0.20.2": + resolution: + integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + engines: + node: ">=12" + cpu: + - ia32 + os: + - win32 + "@esbuild/win32-x64@0.20.2": + resolution: + integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + engines: + node: ">=12" + cpu: + - x64 + os: + - win32 + "@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/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-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/vue-devtools@9.1.9": + resolution: + integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og== + engines: + node: ">= 10" + "@jridgewell/gen-mapping@0.3.13": + resolution: + integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== + "@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/source-map@0.3.11": + resolution: + integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA== + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + "@jridgewell/trace-mapping@0.3.31": + resolution: + integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== + "@meoc/utils@0.2.10": + resolution: + integrity: sha512-LN/CQDOVmmN/kq31630r+dFYZSPezmhbRq0Ib0RbKv+qpSpaOasXwAcwO/rkpPkhuoty5kfpHmTdjrEUU8bJYQ== + "@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" + "@polka/url@1.0.0-next.29": + resolution: + integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== + "@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.3.0": + resolution: + integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q== + 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.55.1": + resolution: + integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg== + cpu: + - arm + os: + - android + "@rollup/rollup-android-arm64@4.55.1": + resolution: + integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg== + cpu: + - arm64 + os: + - android + "@rollup/rollup-darwin-arm64@4.55.1": + resolution: + integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg== + cpu: + - arm64 + os: + - darwin + "@rollup/rollup-darwin-x64@4.55.1": + resolution: + integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ== + cpu: + - x64 + os: + - darwin + "@rollup/rollup-freebsd-arm64@4.55.1": + resolution: + integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg== + cpu: + - arm64 + os: + - freebsd + "@rollup/rollup-freebsd-x64@4.55.1": + resolution: + integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw== + cpu: + - x64 + os: + - freebsd + "@rollup/rollup-linux-arm-gnueabihf@4.55.1": + resolution: + integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ== + cpu: + - arm + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-arm-musleabihf@4.55.1": + resolution: + integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg== + cpu: + - arm + os: + - linux + libc: + - musl + "@rollup/rollup-linux-arm64-gnu@4.55.1": + resolution: + integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ== + cpu: + - arm64 + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-arm64-musl@4.55.1": + resolution: + integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA== + cpu: + - arm64 + os: + - linux + libc: + - musl + "@rollup/rollup-linux-loong64-gnu@4.55.1": + resolution: + integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g== + cpu: + - loong64 + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-loong64-musl@4.55.1": + resolution: + integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw== + cpu: + - loong64 + os: + - linux + libc: + - musl + "@rollup/rollup-linux-ppc64-gnu@4.55.1": + resolution: + integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw== + cpu: + - ppc64 + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-ppc64-musl@4.55.1": + resolution: + integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw== + cpu: + - ppc64 + os: + - linux + libc: + - musl + "@rollup/rollup-linux-riscv64-gnu@4.55.1": + resolution: + integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw== + cpu: + - riscv64 + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-riscv64-musl@4.55.1": + resolution: + integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg== + cpu: + - riscv64 + os: + - linux + libc: + - musl + "@rollup/rollup-linux-s390x-gnu@4.55.1": + resolution: + integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg== + cpu: + - s390x + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-x64-gnu@4.55.1": + resolution: + integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg== + cpu: + - x64 + os: + - linux + libc: + - glibc + "@rollup/rollup-linux-x64-musl@4.55.1": + resolution: + integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w== + cpu: + - x64 + os: + - linux + libc: + - musl + "@rollup/rollup-openbsd-x64@4.55.1": + resolution: + integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg== + cpu: + - x64 + os: + - openbsd + "@rollup/rollup-openharmony-arm64@4.55.1": + resolution: + integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw== + cpu: + - arm64 + os: + - openharmony + "@rollup/rollup-win32-arm64-msvc@4.55.1": + resolution: + integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g== + cpu: + - arm64 + os: + - win32 + "@rollup/rollup-win32-ia32-msvc@4.55.1": + resolution: + integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA== + cpu: + - ia32 + os: + - win32 + "@rollup/rollup-win32-x64-gnu@4.55.1": + resolution: + integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg== + cpu: + - x64 + os: + - win32 + "@rollup/rollup-win32-x64-msvc@4.55.1": + resolution: + integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw== + cpu: + - x64 + os: + - win32 + "@types/eslint-scope@3.7.7": + resolution: + integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + "@types/eslint@9.6.1": + resolution: + integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + "@types/estree@1.0.8": + resolution: + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== + "@types/json-schema@7.0.15": + resolution: + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + "@types/node@20.19.30": + resolution: + integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g== + "@unocss/astro@0.58.9": + resolution: + integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ== + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + "@unocss/cli@0.58.9": + resolution: + integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA== + engines: + node: ">=14" + hasBin: true + "@unocss/config@0.58.9": + resolution: + integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag== + engines: + node: ">=14" + "@unocss/core@0.58.9": + resolution: + integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw== + "@unocss/extractor-arbitrary-variants@0.58.9": + resolution: + integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg== + "@unocss/inspector@0.58.9": + resolution: + integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw== + "@unocss/postcss@0.58.9": + resolution: + integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA== + engines: + node: ">=14" + peerDependencies: + postcss: ^8.4.21 + "@unocss/preset-attributify@0.58.9": + resolution: + integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ== + "@unocss/preset-icons@0.58.9": + resolution: + integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA== + "@unocss/preset-mini@0.58.9": + resolution: + integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ== + "@unocss/preset-tagify@0.58.9": + resolution: + integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog== + "@unocss/preset-typography@0.58.9": + resolution: + integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA== + "@unocss/preset-uno@0.58.9": + resolution: + integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A== + "@unocss/preset-web-fonts@0.58.9": + resolution: + integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg== + "@unocss/preset-wind@0.58.9": + resolution: + integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw== + "@unocss/reset@0.58.9": + resolution: + integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w== + "@unocss/rule-utils@0.58.9": + resolution: + integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ== + engines: + node: ">=14" + "@unocss/scope@0.58.9": + resolution: + integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA== + "@unocss/transformer-attributify-jsx-babel@0.58.9": + resolution: + integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q== + "@unocss/transformer-attributify-jsx@0.58.9": + resolution: + integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ== + "@unocss/transformer-compile-class@0.58.9": + resolution: + integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ== + "@unocss/transformer-directives@0.58.9": + resolution: + integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw== + "@unocss/transformer-variant-group@0.58.9": + resolution: + integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ== + "@unocss/vite@0.58.9": + resolution: + integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA== + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + "@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 + "@volar/language-core@1.11.1": + resolution: + integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw== + "@volar/source-map@1.11.1": + resolution: + integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg== + "@volar/typescript@1.11.1": + resolution: + integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ== + "@vue/babel-helper-vue-transform-on@1.5.0": + resolution: + integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA== + "@vue/babel-plugin-jsx@1.5.0": + resolution: + integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw== + peerDependencies: + "@babel/core": ^7.0.0-0 + peerDependenciesMeta: + "@babel/core": + optional: true + "@vue/babel-plugin-resolve-type@1.5.0": + resolution: + integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w== + peerDependencies: + "@babel/core": ^7.0.0-0 + "@vue/compiler-core@3.4.21": + resolution: + integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og== + "@vue/compiler-core@3.5.26": + resolution: + integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w== + "@vue/compiler-dom@3.4.21": + resolution: + integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA== + "@vue/compiler-dom@3.5.26": + resolution: + integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A== + "@vue/compiler-sfc@3.4.21": + resolution: + integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ== + "@vue/compiler-sfc@3.5.26": + resolution: + integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA== + "@vue/compiler-ssr@3.4.21": + resolution: + integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q== + "@vue/compiler-ssr@3.5.26": + resolution: + integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw== + "@vue/devtools-api@6.6.4": + resolution: + integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== + "@vue/devtools-api@7.7.9": + resolution: + integrity: sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g== + "@vue/devtools-kit@7.7.9": + resolution: + integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA== + "@vue/devtools-shared@7.7.9": + resolution: + integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA== + "@vue/language-core@1.8.27": + resolution: + integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA== + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + "@vue/reactivity@3.5.26": + resolution: + integrity: sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ== + "@vue/runtime-core@3.5.26": + resolution: + integrity: sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q== + "@vue/runtime-dom@3.5.26": + resolution: + integrity: sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ== + "@vue/server-renderer@3.4.21": + resolution: + integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg== + peerDependencies: + vue: 3.4.21 + "@vue/server-renderer@3.5.26": + resolution: + integrity: sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA== + peerDependencies: + vue: 3.5.26 + "@vue/shared@3.4.21": + resolution: + integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g== + "@vue/shared@3.5.26": + resolution: + integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A== + "@vue/shared@3.5.32": + resolution: + integrity: sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg== + "@webassemblyjs/ast@1.14.1": + resolution: + integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + "@webassemblyjs/floating-point-hex-parser@1.13.2": + resolution: + integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + "@webassemblyjs/helper-api-error@1.13.2": + resolution: + integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + "@webassemblyjs/helper-buffer@1.14.1": + resolution: + integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + "@webassemblyjs/helper-numbers@1.13.2": + resolution: + integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + "@webassemblyjs/helper-wasm-bytecode@1.13.2": + resolution: + integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + "@webassemblyjs/helper-wasm-section@1.14.1": + resolution: + integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + "@webassemblyjs/ieee754@1.13.2": + resolution: + integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + "@webassemblyjs/leb128@1.13.2": + resolution: + integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + "@webassemblyjs/utf8@1.13.2": + resolution: + integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + "@webassemblyjs/wasm-edit@1.14.1": + resolution: + integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + "@webassemblyjs/wasm-gen@1.14.1": + resolution: + integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + "@webassemblyjs/wasm-opt@1.14.1": + resolution: + integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + "@webassemblyjs/wasm-parser@1.14.1": + resolution: + integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + "@webassemblyjs/wast-printer@1.14.1": + resolution: + integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + "@xtuc/ieee754@1.2.0": + resolution: + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + "@xtuc/long@4.2.2": + resolution: + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + accepts@1.3.8: + resolution: + integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + engines: + node: ">= 0.6" + acorn-import-phases@1.0.4: + resolution: + integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== + engines: + node: ">=10.13.0" + peerDependencies: + acorn: ^8.14.0 + acorn@8.15.0: + resolution: + integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + engines: + node: ">=0.4.0" + hasBin: true + adm-zip@0.5.16: + resolution: + integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ== + engines: + node: ">=12.0" + ajv-formats@2.1.1: + resolution: + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-keywords@5.1.0: + resolution: + integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + peerDependencies: + ajv: ^8.8.2 + ajv@8.17.1: + resolution: + integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + ansi-styles@3.2.1: + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + engines: + node: ">=4" + anymatch@3.1.3: + resolution: + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + engines: + node: ">= 8" + array-flatten@1.1.1: + resolution: + integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + autoprefixer@10.4.20: + resolution: + integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== + engines: + node: ^10 || ^12 || >=14 + hasBin: true + peerDependencies: + postcss: ^8.1.0 + babel-plugin-polyfill-corejs2@0.4.14: + resolution: + integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg== + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.13.0: + resolution: + integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.5: + resolution: + integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg== + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + balanced-match@1.0.2: + resolution: + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + base64url@3.0.1: + resolution: + integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + engines: + node: ">=6.0.0" + baseline-browser-mapping@2.9.15: + resolution: + integrity: sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg== + hasBin: true + binary-extensions@2.3.0: + resolution: + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + engines: + node: ">=8" + birpc@2.9.0: + resolution: + integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw== + 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 + brace-expansion@2.0.2: + resolution: + integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== + braces@3.0.3: + resolution: + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + engines: + node: ">=8" + browserslist-to-esbuild@2.1.1: + resolution: + integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw== + engines: + node: ">=18" + hasBin: true + peerDependencies: + browserslist: "*" + browserslist@4.28.1: + resolution: + integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== + engines: + node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 + hasBin: true + buffer-from@1.1.2: + resolution: + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + bytes@3.1.2: + resolution: + integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + engines: + node: ">= 0.8" + 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.4: + resolution: + integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + engines: + node: ">= 0.4" + caniuse-lite@1.0.30001764: + resolution: + integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g== + chalk@2.4.2: + resolution: + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + engines: + node: ">=4" + chokidar@3.6.0: + resolution: + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + engines: + node: ">= 8.10.0" + chrome-trace-event@1.0.4: + resolution: + integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + engines: + node: ">=6.0" + color-convert@1.9.3: + resolution: + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + color-name@1.1.3: + resolution: + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + colorette@2.0.20: + resolution: + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + commander@2.20.3: + resolution: + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + compare-versions@3.6.0: + resolution: + integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + computeds@0.0.1: + resolution: + integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + 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.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@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" + copy-anything@4.0.5: + resolution: + integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA== + engines: + node: ">=18" + core-js-compat@3.47.0: + resolution: + integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ== + core-js-pure@3.49.0: + resolution: + integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw== + core-js@3.47.0: + resolution: + integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg== + 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@2.3.1: + resolution: + integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + 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 + csstype@3.2.3: + resolution: + integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== + dayjs@1.11.19: + resolution: + integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw== + 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@4.3.7: + resolution: + integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + engines: + node: ">=6.0" + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.3: + resolution: + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + engines: + node: ">=6.0" + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + defu@6.1.4: + resolution: + integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + depd@2.0.0: + resolution: + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + engines: + node: ">= 0.8" + destr@2.0.5: + resolution: + integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA== + destroy@1.2.0: + resolution: + integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + engines: + node: ">= 0.8" + npm: 1.2.8000 || >= 1.4.16 + 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== + ee-first@1.1.1: + resolution: + integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + electron-to-chromium@1.5.267: + resolution: + integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== + 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.4: + resolution: + integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== + engines: + node: ">=10.13.0" + entities@4.5.0: + resolution: + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + engines: + node: ">=0.12" + entities@7.0.0: + resolution: + integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ== + engines: + node: ">=0.12" + 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@2.0.0: + resolution: + integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== + es-object-atoms@1.1.1: + resolution: + integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + engines: + node: ">= 0.4" + esbuild@0.20.2: + resolution: + integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + engines: + node: ">=12" + 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@5.0.0: + resolution: + integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + engines: + node: ">=12" + eslint-scope@5.1.1: + resolution: + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + engines: + node: ">=8.0.0" + esrecurse@4.3.0: + resolution: + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + engines: + node: ">=4.0" + estraverse@4.3.0: + resolution: + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + 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" + events@3.3.0: + resolution: + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + engines: + node: ">=0.8.x" + express@4.20.0: + resolution: + integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw== + engines: + node: ">= 0.10.0" + exsolve@1.0.8: + resolution: + integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA== + 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-uri@3.1.0: + resolution: + integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== + fastq@1.20.1: + resolution: + integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw== + 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" + 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" + 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-intrinsic@1.3.0: + resolution: + integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + engines: + node: ">= 0.4" + get-proto@1.0.1: + resolution: + integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + engines: + node: ">= 0.4" + glob-parent@5.1.2: + resolution: + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + engines: + node: ">= 6" + glob-to-regexp@0.4.1: + resolution: + integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + globals@15.15.0: + resolution: + integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg== + engines: + node: ">=18" + 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== + 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-symbols@1.1.0: + resolution: + integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + 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 + hookable@5.5.3: + resolution: + integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== + http-errors@2.0.0: + resolution: + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + engines: + node: ">= 0.8" + 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 + immutable@4.3.7: + resolution: + integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== + 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-binary-path@2.1.0: + resolution: + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + engines: + node: ">=8" + 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-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-what@5.5.0: + resolution: + integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw== + engines: + node: ">=18" + isbinaryfile@5.0.2: + resolution: + integrity: sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg== + engines: + node: ">= 18.0.0" + jest-worker@27.5.1: + resolution: + integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + engines: + node: ">= 10.13.0" + jiti@1.21.7: + resolution: + integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== + hasBin: true + js-tokens@4.0.0: + resolution: + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-tokens@9.0.1: + resolution: + integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== + jsesc@3.1.0: + resolution: + integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + engines: + node: ">=6" + hasBin: true + json-parse-even-better-errors@2.3.1: + resolution: + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@1.0.0: + resolution: + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json5@2.2.3: + resolution: + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + engines: + node: ">=6" + hasBin: true + jsonc-parser@3.3.1: + resolution: + integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== + jsonfile@6.2.0: + resolution: + integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== + 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" + lilconfig@2.1.0: + resolution: + integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + engines: + node: ">=10" + lines-and-columns@2.0.4: + resolution: + integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + engines: + node: ^12.20.0 || ^14.13.1 || >=16.0.0 + loader-runner@4.3.1: + resolution: + integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== + engines: + node: ">=6.11.5" + loader-utils@3.3.1: + resolution: + integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + engines: + node: ">= 12.13.0" + 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" + lodash.camelcase@4.3.0: + resolution: + integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.debounce@4.0.8: + resolution: + integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + 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.21: + resolution: + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== + math-intrinsics@1.1.0: + resolution: + integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + engines: + node: ">= 0.4" + mdn-data@2.0.30: + resolution: + integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + 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" + 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 + minimatch@9.0.5: + resolution: + integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + engines: + node: ">=16 || 14 >=14.17" + mitt@3.0.1: + resolution: + integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== + 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.1: + resolution: + integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== + 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.3.1: + resolution: + integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg== + nanoid@3.3.11: + resolution: + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + engines: + node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 + hasBin: true + negotiator@0.6.3: + resolution: + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + engines: + node: ">= 0.6" + neo-async@2.6.2: + resolution: + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + node-fetch-native@1.6.7: + resolution: + integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q== + node-releases@2.0.27: + resolution: + integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== + 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" + object-inspect@1.13.4: + resolution: + integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + engines: + node: ">= 0.4" + ofetch@1.5.1: + resolution: + integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA== + on-finished@2.4.1: + resolution: + integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + engines: + node: ">= 0.8" + os-locale-s-fix@1.0.8-fix-1: + resolution: + integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w== + engines: + node: ">=10" + yarn: ^1.22.4 + package-manager-detector@1.6.0: + resolution: + integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA== + parse-css-font@4.0.0: + resolution: + integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ== + 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-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.3: + resolution: + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== + perfect-debounce@1.0.0: + resolution: + integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== + 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.3: + resolution: + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + engines: + node: ">=12" + pify@2.3.0: + resolution: + integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + engines: + node: ">=0.10.0" + pinia@3.0.4: + resolution: + integrity: sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw== + peerDependencies: + typescript: ">=4.5.0" + vue: ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + pkg-types@1.3.1: + resolution: + integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ== + pkg-types@2.3.0: + resolution: + integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig== + 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.1.1: + resolution: + integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg== + 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 + proxy-addr@2.0.7: + resolution: + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + engines: + node: ">= 0.10" + 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.11: + resolution: + integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA== + queue-microtask@1.2.3: + resolution: + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + randombytes@2.1.0: + resolution: + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + 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" + read-cache@1.0.0: + resolution: + integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + readdirp@3.6.0: + resolution: + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + engines: + node: ">=8.10.0" + regenerate-unicode-properties@10.2.2: + resolution: + integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g== + engines: + node: ">=4" + regenerate@1.4.2: + resolution: + integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + regenerator-runtime@0.14.1: + resolution: + integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regexpu-core@6.4.0: + resolution: + integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA== + engines: + node: ">=4" + regjsgen@0.8.0: + resolution: + integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + regjsparser@0.13.0: + resolution: + integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q== + hasBin: true + require-from-string@2.0.2: + resolution: + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + engines: + node: ">=0.10.0" + resolve@1.22.11: + resolution: + integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== + engines: + node: ">= 0.4" + hasBin: true + resolve@1.22.8: + resolution: + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + hasBin: true + reusify@1.1.0: + resolution: + integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + engines: + iojs: ">=1.0.0" + node: ">=0.10.0" + rfdc@1.4.1: + resolution: + integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + rollup@4.55.1: + resolution: + integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A== + 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.71.1: + resolution: + integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg== + engines: + node: ">=14.0.0" + hasBin: true + schema-utils@4.3.3: + resolution: + integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== + engines: + node: ">= 10.13.0" + scule@1.3.0: + resolution: + integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g== + semver@6.3.1: + resolution: + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + hasBin: true + semver@7.7.3: + resolution: + integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== + 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" + serialize-javascript@6.0.2: + resolution: + integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + serve-static@1.16.0: + resolution: + integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA== + engines: + node: ">= 0.8.0" + setprototypeof@1.2.0: + resolution: + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + 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" + sirv@2.0.4: + resolution: + integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== + engines: + node: ">= 10" + 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" + speakingurl@14.0.1: + resolution: + integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== + engines: + node: ">=0.10.0" + statuses@2.0.1: + resolution: + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + engines: + node: ">= 0.8" + string-hash@1.1.3: + resolution: + integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== + strip-literal@3.1.0: + resolution: + integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg== + superjson@2.2.6: + resolution: + integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA== + engines: + node: ">=16" + supports-color@5.5.0: + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + engines: + node: ">=4" + supports-color@8.1.1: + resolution: + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + engines: + node: ">=10" + supports-preserve-symlinks-flag@1.0.0: + resolution: + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + engines: + node: ">= 0.4" + systemjs@6.15.1: + resolution: + integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA== + tapable@2.3.0: + resolution: + integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== + engines: + node: ">=6" + terser-webpack-plugin@5.3.16: + resolution: + integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q== + engines: + node: ">= 10.13.0" + peerDependencies: + "@swc/core": "*" + esbuild: "*" + uglify-js: "*" + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + terser@5.46.0: + resolution: + integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg== + engines: + node: ">=10" + hasBin: true + tinycolor2@1.6.0: + resolution: + integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + tinyexec@1.0.2: + resolution: + integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== + engines: + node: ">=18" + 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" + totalist@3.0.1: + resolution: + integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + engines: + node: ">=6" + type-is@1.6.18: + resolution: + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + engines: + node: ">= 0.6" + typescript@4.9.5: + resolution: + integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + engines: + node: ">=4.2.0" + hasBin: true + ufo@1.6.3: + resolution: + integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q== + unconfig@0.3.13: + resolution: + integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng== + undici-types@6.21.0: + resolution: + integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + 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.1: + resolution: + integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg== + engines: + node: ">=4" + unicode-property-aliases-ecmascript@2.2.0: + resolution: + integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== + engines: + node: ">=4" + unimport@4.1.1: + resolution: + integrity: sha512-j9+fijH6aDd05yv1fXlyt7HSxtOWtGtrZeYTVBsSUg57Iuf+Ps2itIZjeyu7bEQ4k0WOgYhHrdW8m/pJgOpl5g== + engines: + node: ">=18.12.0" + universalify@2.0.1: + resolution: + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + engines: + node: ">= 10.0.0" + unocss-preset-weapp@0.58.9: + resolution: + integrity: sha512-R3rd8kwYr1ZWUwKRz4mls4nETkPwjz1PcxdFjr1w7FeHprUFJlbko8j8W4qJGRswEfNlxc4qFBpjfITBfr/zPw== + unocss@0.58.9: + resolution: + integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A== + engines: + node: ">=14" + peerDependencies: + "@unocss/webpack": 0.58.9 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.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-attributify-to-class@0.2.5: + resolution: + integrity: sha512-0lTUi01mI19PmTTX4420QO6gJFic1wK4LqNnHeBNDrthQEKI0xw/lYg0bGnWYgPmyqXz88hAdLG+ibaypibXqg== + 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-transform-class@0.5.3: + resolution: + integrity: sha512-4xBvfoeBDqlqi9aD0Hv3TTs8JpRs2h9l8LBMXIRXFNTf8biRk6hAQir+zEM/GpBKoMzvt7JqqbMIYzMazQZysQ== + unplugin-transform-class@0.6.0: + resolution: + integrity: sha512-6aYNOH6hEVbi38mc7yDQD7kEDESuLJ3FfB9/rB2vHZobK4ajDS6Jkh5EktJF4Ubkz/hQizpjZ4+XS1aMOM82yg== + peerDependencies: + "@farmfe/core": ">=1" + "@nuxt/kit": ^3 + "@nuxt/schema": ^3 + esbuild: "*" + rollup: ^3 + vite: ">=3" + webpack: ^4 || ^5 + peerDependenciesMeta: + "@farmfe/core": + optional: true + "@nuxt/kit": + optional: true + "@nuxt/schema": + optional: true + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + unplugin-utils@0.2.5: + resolution: + integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg== + engines: + node: ">=18.12.0" + unplugin@1.16.1: + resolution: + integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w== + engines: + node: ">=14.0.0" + unplugin@1.7.1: + resolution: + integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw== + unplugin@2.3.11: + resolution: + integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww== + engines: + node: ">=18.12.0" + unplugin@2.3.2: + resolution: + integrity: sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w== + engines: + node: ">=18.12.0" + unquote@1.1.1: + resolution: + integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + update-browserslist-db@1.2.3: + resolution: + integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + 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" + vary@1.1.2: + resolution: + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + engines: + node: ">= 0.8" + 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 + vue-router@4.4.4: + resolution: + integrity: sha512-3MlnDqwRwZwCQVbtVfpsU+nrNymNjnXSsQtXName5925NVC1+326VVfYH9vSrA0N13teGEo8z5x7gbRnGjCDiQ== + peerDependencies: + vue: ^3.2.0 + vue-template-compiler@2.7.16: + resolution: + integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== + vue-tsc@1.8.27: + resolution: + integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg== + hasBin: true + peerDependencies: + typescript: "*" + vue@3.5.26: + resolution: + integrity: sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA== + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + watchpack@2.5.1: + resolution: + integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== + engines: + node: ">=10.13.0" + webpack-sources@3.3.3: + resolution: + integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== + engines: + node: ">=10.13.0" + webpack-virtual-modules@0.6.2: + resolution: + integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== + webpack@5.104.1: + resolution: + integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA== + engines: + node: ">=10.13.0" + hasBin: true + peerDependencies: + webpack-cli: "*" + peerDependenciesMeta: + webpack-cli: + optional: true + xmlhttprequest@1.8.0: + resolution: + integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== + engines: + node: ">=0.4.0" + xregexp@5.1.2: + resolution: + integrity: sha512-6hGgEMCGhqCTFEJbqmWrNIPqfpdirdGWkqshu7fFZddmTSfgv5Sn9D2SaKloR79s5VUiUlpwzg3CM3G6D3VIlw== + yallist@3.1.1: + resolution: + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yaml@1.10.2: + resolution: + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + engines: + node: ">= 6" +snapshots: + "@ampproject/remapping@2.3.0": + dependencies: + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + "@antfu/install-pkg@1.1.0": + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.0.2 + "@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.28.6": + dependencies: + "@babel/helper-validator-identifier": 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + "@babel/compat-data@7.28.6": {} + "@babel/core@7.25.2": + dependencies: + "@ampproject/remapping": 2.3.0 + "@babel/code-frame": 7.28.6 + "@babel/generator": 7.28.6 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2) + "@babel/helpers": 7.28.6 + "@babel/parser": 7.28.6 + "@babel/template": 7.28.6 + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + "@babel/generator@7.28.6": + dependencies: + "@babel/parser": 7.28.6 + "@babel/types": 7.28.6 + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + jsesc: 3.1.0 + "@babel/helper-annotate-as-pure@7.27.3": + dependencies: + "@babel/types": 7.28.6 + "@babel/helper-compilation-targets@7.28.6": + dependencies: + "@babel/compat-data": 7.28.6 + "@babel/helper-validator-option": 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + "@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + "@babel/helper-member-expression-to-functions": 7.28.5 + "@babel/helper-optimise-call-expression": 7.27.1 + "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2) + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + "@babel/traverse": 7.28.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + "@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 + "@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + "@babel/helper-globals@7.28.0": {} + "@babel/helper-member-expression-to-functions@7.28.5": + dependencies: + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-module-imports@7.28.6": + dependencies: + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-module-transforms@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-imports": 7.28.6 + "@babel/helper-validator-identifier": 7.28.5 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-optimise-call-expression@7.27.1": + dependencies: + "@babel/types": 7.28.6 + "@babel/helper-plugin-utils@7.28.6": {} + "@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + "@babel/helper-wrap-function": 7.28.6 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-replace-supers@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-member-expression-to-functions": 7.28.5 + "@babel/helper-optimise-call-expression": 7.27.1 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-skip-transparent-expression-wrappers@7.27.1": + dependencies: + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helper-string-parser@7.27.1": {} + "@babel/helper-validator-identifier@7.28.5": {} + "@babel/helper-validator-option@7.27.1": {} + "@babel/helper-wrap-function@7.28.6": + dependencies: + "@babel/template": 7.28.6 + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/helpers@7.28.6": + dependencies: + "@babel/template": 7.28.6 + "@babel/types": 7.28.6 + "@babel/highlight@7.25.9": + dependencies: + "@babel/helper-validator-identifier": 7.28.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + "@babel/parser@7.25.6": + dependencies: + "@babel/types": 7.28.6 + "@babel/parser@7.28.6": + dependencies: + "@babel/types": 7.28.6 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + "@babel/plugin-transform-optional-chaining": 7.28.6(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-async-generator-functions@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-remap-async-to-generator": 7.27.1(@babel/core@7.25.2) + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-imports": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-remap-async-to-generator": 7.27.1(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-classes@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-globals": 7.28.0 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2) + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/template": 7.28.6 + "@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-for-of@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-function-name@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-literals@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-validator-identifier": 7.28.5 + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-module-transforms": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-new-target@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2) + "@babel/plugin-transform-parameters": 7.27.7(@babel/core@7.25.2) + "@babel/traverse": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-object-super@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-replace-supers": 7.28.6(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-parameters@7.27.7(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-regenerator@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-spread@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-typescript@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-annotate-as-pure": 7.27.3 + "@babel/helper-create-class-features-plugin": 7.28.6(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-skip-transparent-expression-wrappers": 7.27.1 + "@babel/plugin-syntax-typescript": 7.28.6(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-create-regexp-features-plugin": 7.28.5(@babel/core@7.25.2) + "@babel/helper-plugin-utils": 7.28.6 + "@babel/preset-env@7.28.6(@babel/core@7.25.2)": + dependencies: + "@babel/compat-data": 7.28.6 + "@babel/core": 7.25.2 + "@babel/helper-compilation-targets": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-validator-option": 7.27.1 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": 7.28.5(@babel/core@7.25.2) + "@babel/plugin-bugfix-safari-class-field-initializer-scope": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + "@babel/plugin-syntax-import-assertions": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-syntax-import-attributes": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-syntax-unicode-sets-regex": 7.18.6(@babel/core@7.25.2) + "@babel/plugin-transform-arrow-functions": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-async-generator-functions": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-async-to-generator": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-block-scoped-functions": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-block-scoping": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-class-properties": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-class-static-block": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-classes": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-computed-properties": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-destructuring": 7.28.5(@babel/core@7.25.2) + "@babel/plugin-transform-dotall-regex": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-duplicate-keys": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-dynamic-import": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-explicit-resource-management": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-exponentiation-operator": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-export-namespace-from": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-for-of": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-function-name": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-json-strings": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-literals": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-logical-assignment-operators": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-member-expression-literals": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-modules-amd": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-modules-commonjs": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-modules-systemjs": 7.28.5(@babel/core@7.25.2) + "@babel/plugin-transform-modules-umd": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-named-capturing-groups-regex": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-new-target": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-nullish-coalescing-operator": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-numeric-separator": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-object-rest-spread": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-object-super": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-optional-catch-binding": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-optional-chaining": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-parameters": 7.27.7(@babel/core@7.25.2) + "@babel/plugin-transform-private-methods": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-private-property-in-object": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-property-literals": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-regenerator": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-regexp-modifiers": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-reserved-words": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-shorthand-properties": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-spread": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-sticky-regex": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-template-literals": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-typeof-symbol": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-unicode-escapes": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-unicode-property-regex": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-unicode-regex": 7.27.1(@babel/core@7.25.2) + "@babel/plugin-transform-unicode-sets-regex": 7.28.6(@babel/core@7.25.2) + "@babel/preset-modules": 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.25.2) + core-js-compat: 3.47.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + "@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/types": 7.28.6 + esutils: 2.0.3 + "@babel/preset-typescript@7.28.5(@babel/core@7.25.2)": + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/helper-validator-option": 7.27.1 + "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-modules-commonjs": 7.28.6(@babel/core@7.25.2) + "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + "@babel/runtime-corejs3@7.29.2": + dependencies: + core-js-pure: 3.49.0 + "@babel/template@7.28.6": + dependencies: + "@babel/code-frame": 7.28.6 + "@babel/parser": 7.28.6 + "@babel/types": 7.28.6 + "@babel/traverse@7.28.6": + dependencies: + "@babel/code-frame": 7.28.6 + "@babel/generator": 7.28.6 + "@babel/helper-globals": 7.28.0 + "@babel/parser": 7.28.6 + "@babel/template": 7.28.6 + "@babel/types": 7.28.6 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + "@babel/types@7.25.6": + dependencies: + "@babel/helper-string-parser": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 + to-fast-properties: 2.0.0 + "@babel/types@7.28.6": + dependencies: + "@babel/helper-string-parser": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 + "@dcloudio/types@3.4.28": {} + "@dcloudio/uni-app@3.0.0-5000720260410001(@dcloudio/types@3.4.28)(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/types": 3.4.28 + "@dcloudio/uni-cloud": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-components": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-console": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-i18n": 3.0.0-5000720260410001 + "@dcloudio/uni-push": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@dcloudio/uni-stat": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@vue/shared": 3.4.21 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-cli-shared@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + 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-5000720260410001 + "@dcloudio/uni-nvue-styler": 3.0.0-5000720260410001 + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@intlify/core-base": 9.1.9 + "@intlify/shared": 9.1.9 + "@intlify/vue-devtools": 9.1.9 + "@rollup/pluginutils": 5.1.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.5.26(typescript@4.9.5)) + "@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: 7.0.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.3.0 + tinycolor2: 1.6.0 + unimport: 4.1.1 + unplugin-auto-import: 19.1.0 + xregexp: 5.1.2 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-cloud@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-i18n": 3.0.0-5000720260410001 + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@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-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cloud": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-h5": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-i18n": 3.0.0-5000720260410001 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-console@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + fs-extra: 10.1.0 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-h5-vite@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@rollup/pluginutils": 5.1.0 + "@vue/compiler-dom": 3.4.21 + "@vue/compiler-sfc": 3.4.21 + "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5)) + "@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-5000720260410001(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5)) + transitivePeerDependencies: + - vue + "@dcloudio/uni-h5@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-h5-vite": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-h5-vue": 3.0.0-5000720260410001(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-i18n": 3.0.0-5000720260410001 + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@vue/server-renderer": 3.4.21(vue@3.5.26(typescript@4.9.5)) + "@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.5.26(typescript@4.9.5)) + xmlhttprequest: 1.8.0 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-i18n@3.0.0-5000720260410001": {} + "@dcloudio/uni-nvue-styler@3.0.0-5000720260410001": + dependencies: + "@vue/shared": 3.4.21 + parse-css-font: 4.0.0 + postcss: 8.4.45 + tinycolor2: 1.6.0 + "@dcloudio/uni-push@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/uni-shared@3.0.0-5000720260410001": + dependencies: + "@vue/shared": 3.4.21 + "@dcloudio/uni-stat@3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + debug: 4.3.7 + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@dcloudio/vite-plugin-uni@3.0.0-5000720260410001(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@babel/core": 7.25.2 + "@babel/plugin-syntax-import-meta": 7.10.4(@babel/core@7.25.2) + "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2) + "@dcloudio/uni-cli-shared": 3.0.0-5000720260410001(postcss@8.5.6)(vue@3.5.26(typescript@4.9.5)) + "@dcloudio/uni-nvue-styler": 3.0.0-5000720260410001 + "@dcloudio/uni-shared": 3.0.0-5000720260410001 + "@rollup/pluginutils": 5.1.0 + "@vitejs/plugin-legacy": 5.3.2(terser@5.46.0)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)) + "@vitejs/plugin-vue": 5.2.4(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5)) + "@vitejs/plugin-vue-jsx": 3.1.0(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5)) + "@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.46.0 + unplugin-auto-import: 19.1.0 + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + transitivePeerDependencies: + - "@nuxt/kit" + - "@vueuse/core" + - postcss + - rollup + - supports-color + - ts-node + - vue + "@esbuild/aix-ppc64@0.20.2": + optional: true + "@esbuild/android-arm64@0.20.2": + optional: true + "@esbuild/android-arm@0.20.2": + optional: true + "@esbuild/android-x64@0.20.2": + optional: true + "@esbuild/darwin-arm64@0.20.2": + optional: true + "@esbuild/darwin-x64@0.20.2": + optional: true + "@esbuild/freebsd-arm64@0.20.2": + optional: true + "@esbuild/freebsd-x64@0.20.2": + optional: true + "@esbuild/linux-arm64@0.20.2": + optional: true + "@esbuild/linux-arm@0.20.2": + optional: true + "@esbuild/linux-ia32@0.20.2": + optional: true + "@esbuild/linux-loong64@0.20.2": + optional: true + "@esbuild/linux-mips64el@0.20.2": + optional: true + "@esbuild/linux-ppc64@0.20.2": + optional: true + "@esbuild/linux-riscv64@0.20.2": + optional: true + "@esbuild/linux-s390x@0.20.2": + optional: true + "@esbuild/linux-x64@0.20.2": + optional: true + "@esbuild/netbsd-x64@0.20.2": + optional: true + "@esbuild/openbsd-x64@0.20.2": + optional: true + "@esbuild/sunos-x64@0.20.2": + optional: true + "@esbuild/win32-arm64@0.20.2": + optional: true + "@esbuild/win32-ia32@0.20.2": + optional: true + "@esbuild/win32-x64@0.20.2": + optional: true + "@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.3 + 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/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-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/vue-devtools@9.1.9": + dependencies: + "@intlify/message-resolver": 9.1.9 + "@intlify/runtime": 9.1.9 + "@intlify/shared": 9.1.9 + "@jridgewell/gen-mapping@0.3.13": + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/trace-mapping": 0.3.31 + "@jridgewell/remapping@2.3.5": + dependencies: + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + "@jridgewell/resolve-uri@3.1.2": {} + "@jridgewell/source-map@0.3.11": + dependencies: + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + "@jridgewell/sourcemap-codec@1.5.5": {} + "@jridgewell/trace-mapping@0.3.31": + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.5.5 + "@meoc/utils@0.2.10": + dependencies: + dayjs: 1.11.19 + "@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.20.1 + "@polka/url@1.0.0-next.29": {} + "@rollup/pluginutils@5.1.0": + dependencies: + "@types/estree": 1.0.8 + estree-walker: 2.0.2 + picomatch: 2.3.1 + "@rollup/pluginutils@5.3.0": + dependencies: + "@types/estree": 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + "@rollup/rollup-android-arm-eabi@4.55.1": + optional: true + "@rollup/rollup-android-arm64@4.55.1": + optional: true + "@rollup/rollup-darwin-arm64@4.55.1": + optional: true + "@rollup/rollup-darwin-x64@4.55.1": + optional: true + "@rollup/rollup-freebsd-arm64@4.55.1": + optional: true + "@rollup/rollup-freebsd-x64@4.55.1": + optional: true + "@rollup/rollup-linux-arm-gnueabihf@4.55.1": + optional: true + "@rollup/rollup-linux-arm-musleabihf@4.55.1": + optional: true + "@rollup/rollup-linux-arm64-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-arm64-musl@4.55.1": + optional: true + "@rollup/rollup-linux-loong64-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-loong64-musl@4.55.1": + optional: true + "@rollup/rollup-linux-ppc64-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-ppc64-musl@4.55.1": + optional: true + "@rollup/rollup-linux-riscv64-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-riscv64-musl@4.55.1": + optional: true + "@rollup/rollup-linux-s390x-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-x64-gnu@4.55.1": + optional: true + "@rollup/rollup-linux-x64-musl@4.55.1": + optional: true + "@rollup/rollup-openbsd-x64@4.55.1": + optional: true + "@rollup/rollup-openharmony-arm64@4.55.1": + optional: true + "@rollup/rollup-win32-arm64-msvc@4.55.1": + optional: true + "@rollup/rollup-win32-ia32-msvc@4.55.1": + optional: true + "@rollup/rollup-win32-x64-gnu@4.55.1": + optional: true + "@rollup/rollup-win32-x64-msvc@4.55.1": + optional: true + "@types/eslint-scope@3.7.7": + dependencies: + "@types/eslint": 9.6.1 + "@types/estree": 1.0.8 + "@types/eslint@9.6.1": + dependencies: + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 + "@types/estree@1.0.8": {} + "@types/json-schema@7.0.15": {} + "@types/node@20.19.30": + dependencies: + undici-types: 6.21.0 + "@unocss/astro@0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/reset": 0.58.9 + "@unocss/vite": 0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + transitivePeerDependencies: + - rollup + "@unocss/cli@0.58.9": + dependencies: + "@ampproject/remapping": 2.3.0 + "@rollup/pluginutils": 5.3.0 + "@unocss/config": 0.58.9 + "@unocss/core": 0.58.9 + "@unocss/preset-uno": 0.58.9 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.4.2 + fast-glob: 3.3.3 + magic-string: 0.30.21 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + "@unocss/config@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + unconfig: 0.3.13 + "@unocss/core@0.58.9": {} + "@unocss/extractor-arbitrary-variants@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/inspector@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/rule-utils": 0.58.9 + gzip-size: 6.0.0 + sirv: 2.0.4 + "@unocss/postcss@0.58.9(postcss@8.5.6)": + dependencies: + "@unocss/config": 0.58.9 + "@unocss/core": 0.58.9 + "@unocss/rule-utils": 0.58.9 + css-tree: 2.3.1 + fast-glob: 3.3.3 + magic-string: 0.30.21 + postcss: 8.5.6 + "@unocss/preset-attributify@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/preset-icons@0.58.9": + dependencies: + "@iconify/utils": 2.3.0 + "@unocss/core": 0.58.9 + ofetch: 1.5.1 + transitivePeerDependencies: + - supports-color + "@unocss/preset-mini@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/extractor-arbitrary-variants": 0.58.9 + "@unocss/rule-utils": 0.58.9 + "@unocss/preset-tagify@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/preset-typography@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/preset-mini": 0.58.9 + "@unocss/preset-uno@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/preset-mini": 0.58.9 + "@unocss/preset-wind": 0.58.9 + "@unocss/rule-utils": 0.58.9 + "@unocss/preset-web-fonts@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + ofetch: 1.5.1 + "@unocss/preset-wind@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/preset-mini": 0.58.9 + "@unocss/rule-utils": 0.58.9 + "@unocss/reset@0.58.9": {} + "@unocss/rule-utils@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + magic-string: 0.30.21 + "@unocss/scope@0.58.9": {} + "@unocss/transformer-attributify-jsx-babel@0.58.9": + dependencies: + "@babel/core": 7.25.2 + "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2) + "@babel/preset-typescript": 7.28.5(@babel/core@7.25.2) + "@unocss/core": 0.58.9 + transitivePeerDependencies: + - supports-color + "@unocss/transformer-attributify-jsx@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/transformer-compile-class@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/transformer-directives@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/rule-utils": 0.58.9 + css-tree: 2.3.1 + "@unocss/transformer-variant-group@0.58.9": + dependencies: + "@unocss/core": 0.58.9 + "@unocss/vite@0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))": + dependencies: + "@ampproject/remapping": 2.3.0 + "@rollup/pluginutils": 5.3.0 + "@unocss/config": 0.58.9 + "@unocss/core": 0.58.9 + "@unocss/inspector": 0.58.9 + "@unocss/scope": 0.58.9 + "@unocss/transformer-directives": 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.3 + magic-string: 0.30.21 + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + transitivePeerDependencies: + - rollup + "@vitejs/plugin-legacy@5.3.2(terser@5.46.0)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))": + dependencies: + "@babel/core": 7.25.2 + "@babel/preset-env": 7.28.6(@babel/core@7.25.2) + browserslist: 4.28.1 + browserslist-to-esbuild: 2.1.1(browserslist@4.28.1) + core-js: 3.47.0 + magic-string: 0.30.21 + regenerator-runtime: 0.14.1 + systemjs: 6.15.1 + terser: 5.46.0 + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + transitivePeerDependencies: + - supports-color + "@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@babel/core": 7.25.2 + "@babel/plugin-transform-typescript": 7.28.6(@babel/core@7.25.2) + "@vue/babel-plugin-jsx": 1.5.0(@babel/core@7.25.2) + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + vue: 3.5.26(typescript@4.9.5) + transitivePeerDependencies: + - supports-color + "@vitejs/plugin-vue@5.2.4(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(vue@3.5.26(typescript@4.9.5))": + dependencies: + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + vue: 3.5.26(typescript@4.9.5) + "@volar/language-core@1.11.1": + dependencies: + "@volar/source-map": 1.11.1 + "@volar/source-map@1.11.1": + dependencies: + muggle-string: 0.3.1 + "@volar/typescript@1.11.1": + dependencies: + "@volar/language-core": 1.11.1 + path-browserify: 1.0.1 + "@vue/babel-helper-vue-transform-on@1.5.0": {} + "@vue/babel-plugin-jsx@1.5.0(@babel/core@7.25.2)": + dependencies: + "@babel/helper-module-imports": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/plugin-syntax-jsx": 7.28.6(@babel/core@7.25.2) + "@babel/template": 7.28.6 + "@babel/traverse": 7.28.6 + "@babel/types": 7.28.6 + "@vue/babel-helper-vue-transform-on": 1.5.0 + "@vue/babel-plugin-resolve-type": 1.5.0(@babel/core@7.25.2) + "@vue/shared": 3.5.32 + optionalDependencies: + "@babel/core": 7.25.2 + transitivePeerDependencies: + - supports-color + "@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.25.2)": + dependencies: + "@babel/code-frame": 7.28.6 + "@babel/core": 7.25.2 + "@babel/helper-module-imports": 7.28.6 + "@babel/helper-plugin-utils": 7.28.6 + "@babel/parser": 7.28.6 + "@vue/compiler-sfc": 3.5.26 + transitivePeerDependencies: + - supports-color + "@vue/compiler-core@3.4.21": + dependencies: + "@babel/parser": 7.28.6 + "@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.26": + dependencies: + "@babel/parser": 7.28.6 + "@vue/shared": 3.5.26 + entities: 7.0.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.26": + dependencies: + "@vue/compiler-core": 3.5.26 + "@vue/shared": 3.5.26 + "@vue/compiler-sfc@3.4.21": + dependencies: + "@babel/parser": 7.28.6 + "@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.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + "@vue/compiler-sfc@3.5.26": + dependencies: + "@babel/parser": 7.28.6 + "@vue/compiler-core": 3.5.26 + "@vue/compiler-dom": 3.5.26 + "@vue/compiler-ssr": 3.5.26 + "@vue/shared": 3.5.26 + estree-walker: 2.0.2 + magic-string: 0.30.21 + 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.26": + dependencies: + "@vue/compiler-dom": 3.5.26 + "@vue/shared": 3.5.26 + "@vue/devtools-api@6.6.4": {} + "@vue/devtools-api@7.7.9": + dependencies: + "@vue/devtools-kit": 7.7.9 + "@vue/devtools-kit@7.7.9": + dependencies: + "@vue/devtools-shared": 7.7.9 + birpc: 2.9.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.6 + "@vue/devtools-shared@7.7.9": + dependencies: + rfdc: 1.4.1 + "@vue/language-core@1.8.27(typescript@4.9.5)": + dependencies: + "@volar/language-core": 1.11.1 + "@volar/source-map": 1.11.1 + "@vue/compiler-dom": 3.5.26 + "@vue/shared": 3.5.32 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 4.9.5 + "@vue/reactivity@3.5.26": + dependencies: + "@vue/shared": 3.5.26 + "@vue/runtime-core@3.5.26": + dependencies: + "@vue/reactivity": 3.5.26 + "@vue/shared": 3.5.26 + "@vue/runtime-dom@3.5.26": + dependencies: + "@vue/reactivity": 3.5.26 + "@vue/runtime-core": 3.5.26 + "@vue/shared": 3.5.26 + csstype: 3.2.3 + "@vue/server-renderer@3.4.21(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@vue/compiler-ssr": 3.4.21 + "@vue/shared": 3.4.21 + vue: 3.5.26(typescript@4.9.5) + "@vue/server-renderer@3.5.26(vue@3.5.26(typescript@4.9.5))": + dependencies: + "@vue/compiler-ssr": 3.5.26 + "@vue/shared": 3.5.26 + vue: 3.5.26(typescript@4.9.5) + "@vue/shared@3.4.21": {} + "@vue/shared@3.5.26": {} + "@vue/shared@3.5.32": {} + "@webassemblyjs/ast@1.14.1": + dependencies: + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/floating-point-hex-parser@1.13.2": {} + "@webassemblyjs/helper-api-error@1.13.2": {} + "@webassemblyjs/helper-buffer@1.14.1": {} + "@webassemblyjs/helper-numbers@1.13.2": + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 + "@xtuc/long": 4.2.2 + "@webassemblyjs/helper-wasm-bytecode@1.13.2": {} + "@webassemblyjs/helper-wasm-section@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/ieee754@1.13.2": + dependencies: + "@xtuc/ieee754": 1.2.0 + "@webassemblyjs/leb128@1.13.2": + dependencies: + "@xtuc/long": 4.2.2 + "@webassemblyjs/utf8@1.13.2": {} + "@webassemblyjs/wasm-edit@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + "@webassemblyjs/wasm-gen@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + "@webassemblyjs/wasm-opt@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wasm-parser@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + "@webassemblyjs/wast-printer@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@xtuc/long": 4.2.2 + "@xtuc/ieee754@1.2.0": {} + "@xtuc/long@4.2.2": {} + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn@8.15.0: {} + adm-zip@0.5.16: {} + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + array-flatten@1.1.1: {} + autoprefixer@10.4.20(postcss@8.5.6): + dependencies: + browserslist: 4.28.1 + caniuse-lite: 1.0.30001764 + 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-plugin-polyfill-corejs2@0.4.14(@babel/core@7.25.2): + dependencies: + "@babel/compat-data": 7.28.6 + "@babel/core": 7.25.2 + "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.25.2): + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2) + core-js-compat: 3.47.0 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.25.2): + dependencies: + "@babel/core": 7.25.2 + "@babel/helper-define-polyfill-provider": 0.6.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + balanced-match@1.0.2: {} + base64url@3.0.1: {} + baseline-browser-mapping@2.9.15: {} + binary-extensions@2.3.0: {} + birpc@2.9.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 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist-to-esbuild@2.1.1(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + meow: 13.2.0 + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.15 + caniuse-lite: 1.0.30001764 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + buffer-from@1.1.2: {} + bytes@3.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.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + caniuse-lite@1.0.30001764: {} + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + 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 + chrome-trace-event@1.0.4: {} + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-name@1.1.3: {} + colorette@2.0.20: {} + commander@2.20.3: {} + compare-versions@3.6.0: {} + computeds@0.0.1: {} + confbox@0.1.8: {} + confbox@0.2.2: {} + consola@3.4.2: {} + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + content-type@1.0.5: {} + convert-source-map@2.0.0: {} + cookie-signature@1.0.6: {} + cookie@0.6.0: {} + copy-anything@4.0.5: + dependencies: + is-what: 5.5.0 + core-js-compat@3.47.0: + dependencies: + browserslist: 4.28.1 + core-js-pure@3.49.0: {} + core-js@3.47.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@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + cssesc@3.0.0: {} + csstype@3.2.3: {} + dayjs@1.11.19: {} + de-indent@1.0.2: {} + debug@2.6.9: + dependencies: + ms: 2.0.0 + debug@4.3.7: + dependencies: + ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + defu@6.1.4: {} + depd@2.0.0: {} + destr@2.0.5: {} + destroy@1.2.0: {} + 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: {} + ee-first@1.1.1: {} + electron-to-chromium@1.5.267: {} + encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + enhanced-resolve@5.18.4: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + entities@4.5.0: {} + entities@7.0.0: {} + es-define-property@1.0.1: {} + es-errors@1.3.0: {} + es-module-lexer@1.5.4: {} + es-module-lexer@2.0.0: {} + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + 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 + escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@5.0.0: {} + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + estraverse@4.3.0: {} + estraverse@5.3.0: {} + estree-walker@2.0.2: {} + estree-walker@3.0.3: + dependencies: + "@types/estree": 1.0.8 + esutils@2.0.3: {} + etag@1.8.1: {} + events@3.3.0: {} + 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.8: {} + 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-uri@3.1.0: {} + fastq@1.20.1: + dependencies: + reusify: 1.1.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 + 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.2.0 + universalify: 2.0.1 + 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-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-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + glob-to-regexp@0.4.1: {} + globals@15.15.0: {} + gopd@1.2.0: {} + graceful-fs@4.2.11: {} + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + has-flag@3.0.0: {} + has-flag@4.0.0: {} + has-symbols@1.1.0: {} + hash-sum@2.0.0: {} + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + he@1.2.0: {} + hookable@5.5.3: {} + 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 + 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 + immutable@4.3.7: {} + inherits@2.0.4: {} + invert-kv@3.0.1: {} + ipaddr.js@1.9.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-extglob@2.1.1: {} + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + is-number@7.0.0: {} + is-what@5.5.0: {} + isbinaryfile@5.0.2: {} + jest-worker@27.5.1: + dependencies: + "@types/node": 20.19.30 + merge-stream: 2.0.0 + supports-color: 8.1.1 + jiti@1.21.7: {} + js-tokens@4.0.0: {} + js-tokens@9.0.1: {} + jsesc@3.1.0: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@1.0.0: {} + json5@2.2.3: {} + jsonc-parser@3.3.1: {} + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + kolorist@1.8.0: {} + lcid@3.1.1: + dependencies: + invert-kv: 3.0.1 + lilconfig@2.1.0: {} + lines-and-columns@2.0.4: {} + loader-runner@4.3.1: {} + loader-utils@3.3.1: {} + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + localstorage-polyfill@1.0.1: {} + lodash.camelcase@4.3.0: {} + lodash.debounce@4.0.8: {} + 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.21: + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + math-intrinsics@1.1.0: {} + mdn-data@2.0.30: {} + 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: {} + 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: {} + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + mitt@3.0.1: {} + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + module-alias@2.2.3: {} + mrmime@2.0.1: {} + ms@2.0.0: {} + ms@2.1.3: {} + muggle-string@0.3.1: {} + nanoid@3.3.11: {} + negotiator@0.6.3: {} + neo-async@2.6.2: {} + node-fetch-native@1.6.7: {} + node-releases@2.0.27: {} + normalize-path@3.0.0: {} + normalize-range@0.1.2: {} + object-inspect@1.13.4: {} + ofetch@1.5.1: + dependencies: + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.3 + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + os-locale-s-fix@1.0.8-fix-1: + dependencies: + lcid: 3.1.1 + package-manager-detector@1.6.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 + parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-parse@1.0.7: {} + path-to-regexp@0.1.10: {} + pathe@1.1.2: {} + pathe@2.0.3: {} + perfect-debounce@1.0.0: {} + picocolors@1.1.0: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@2.3.0: {} + pinia@3.0.4(typescript@4.9.5)(vue@3.5.26(typescript@4.9.5)): + dependencies: + "@vue/devtools-api": 7.7.9 + vue: 3.5.26(typescript@4.9.5) + optionalDependencies: + typescript: 4.9.5 + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.8 + pathe: 2.0.3 + 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.11 + 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.1.1 + 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.1.1 + 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.1.1: + 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 + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + qs@6.11.0: + dependencies: + side-channel: 1.1.0 + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + quansync@0.2.11: {} + queue-microtask@1.2.3: {} + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + 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 + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + regenerate@1.4.2: {} + regenerator-runtime@0.14.1: {} + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + regjsgen@0.8.0: {} + regjsparser@0.13.0: + dependencies: + jsesc: 3.1.0 + require-from-string@2.0.2: {} + resolve@1.22.11: + 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 + reusify@1.1.0: {} + rfdc@1.4.1: {} + rollup@4.55.1: + dependencies: + "@types/estree": 1.0.8 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.55.1 + "@rollup/rollup-android-arm64": 4.55.1 + "@rollup/rollup-darwin-arm64": 4.55.1 + "@rollup/rollup-darwin-x64": 4.55.1 + "@rollup/rollup-freebsd-arm64": 4.55.1 + "@rollup/rollup-freebsd-x64": 4.55.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.55.1 + "@rollup/rollup-linux-arm-musleabihf": 4.55.1 + "@rollup/rollup-linux-arm64-gnu": 4.55.1 + "@rollup/rollup-linux-arm64-musl": 4.55.1 + "@rollup/rollup-linux-loong64-gnu": 4.55.1 + "@rollup/rollup-linux-loong64-musl": 4.55.1 + "@rollup/rollup-linux-ppc64-gnu": 4.55.1 + "@rollup/rollup-linux-ppc64-musl": 4.55.1 + "@rollup/rollup-linux-riscv64-gnu": 4.55.1 + "@rollup/rollup-linux-riscv64-musl": 4.55.1 + "@rollup/rollup-linux-s390x-gnu": 4.55.1 + "@rollup/rollup-linux-x64-gnu": 4.55.1 + "@rollup/rollup-linux-x64-musl": 4.55.1 + "@rollup/rollup-openbsd-x64": 4.55.1 + "@rollup/rollup-openharmony-arm64": 4.55.1 + "@rollup/rollup-win32-arm64-msvc": 4.55.1 + "@rollup/rollup-win32-ia32-msvc": 4.55.1 + "@rollup/rollup-win32-x64-gnu": 4.55.1 + "@rollup/rollup-win32-x64-msvc": 4.55.1 + 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.71.1: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.7 + source-map-js: 1.2.1 + schema-utils@4.3.3: + dependencies: + "@types/json-schema": 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + scule@1.3.0: {} + semver@6.3.1: {} + semver@7.7.3: {} + 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 + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + 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 + setprototypeof@1.2.0: {} + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + sirv@2.0.4: + dependencies: + "@polka/url": 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + 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: {} + speakingurl@14.0.1: {} + statuses@2.0.1: {} + string-hash@1.1.3: {} + strip-literal@3.1.0: + dependencies: + js-tokens: 9.0.1 + superjson@2.2.6: + dependencies: + copy-anything: 4.0.5 + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + systemjs@6.15.1: {} + tapable@2.3.0: {} + terser-webpack-plugin@5.3.16(esbuild@0.20.2)(webpack@5.104.1(esbuild@0.20.2)): + dependencies: + "@jridgewell/trace-mapping": 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + terser: 5.46.0 + webpack: 5.104.1(esbuild@0.20.2) + optionalDependencies: + esbuild: 0.20.2 + terser@5.46.0: + dependencies: + "@jridgewell/source-map": 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + tinycolor2@1.6.0: {} + tinyexec@1.0.2: {} + to-fast-properties@2.0.0: {} + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + toidentifier@1.0.1: {} + totalist@3.0.1: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typescript@4.9.5: {} + ufo@1.6.3: {} + unconfig@0.3.13: + dependencies: + "@antfu/utils": 0.7.10 + defu: 6.1.4 + jiti: 1.21.7 + undici-types@6.21.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.2.0 + unicode-match-property-value-ecmascript@2.2.1: {} + unicode-property-aliases-ecmascript@2.2.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.21 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 1.3.1 + scule: 1.3.0 + strip-literal: 3.1.0 + unplugin: 2.3.11 + unplugin-utils: 0.2.5 + universalify@2.0.1: {} + unocss-preset-weapp@0.58.9(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)): + dependencies: + "@rollup/pluginutils": 5.3.0 + "@unocss/core": 0.58.9 + "@unocss/extractor-arbitrary-variants": 0.58.9 + "@unocss/rule-utils": 0.58.9 + unplugin-attributify-to-class: 0.2.5 + unplugin-transform-class: 0.6.0(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)) + transitivePeerDependencies: + - "@farmfe/core" + - "@nuxt/kit" + - "@nuxt/schema" + - esbuild + - rollup + - vite + - webpack + unocss@0.58.9(postcss@8.5.6)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)): + dependencies: + "@unocss/astro": 0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)) + "@unocss/cli": 0.58.9 + "@unocss/core": 0.58.9 + "@unocss/extractor-arbitrary-variants": 0.58.9 + "@unocss/postcss": 0.58.9(postcss@8.5.6) + "@unocss/preset-attributify": 0.58.9 + "@unocss/preset-icons": 0.58.9 + "@unocss/preset-mini": 0.58.9 + "@unocss/preset-tagify": 0.58.9 + "@unocss/preset-typography": 0.58.9 + "@unocss/preset-uno": 0.58.9 + "@unocss/preset-web-fonts": 0.58.9 + "@unocss/preset-wind": 0.58.9 + "@unocss/reset": 0.58.9 + "@unocss/transformer-attributify-jsx": 0.58.9 + "@unocss/transformer-attributify-jsx-babel": 0.58.9 + "@unocss/transformer-compile-class": 0.58.9 + "@unocss/transformer-directives": 0.58.9 + "@unocss/transformer-variant-group": 0.58.9 + "@unocss/vite": 0.58.9(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + unpipe@1.0.0: {} + unplugin-attributify-to-class@0.2.5: + dependencies: + "@rollup/pluginutils": 5.3.0 + unplugin: 1.16.1 + unplugin-transform-class: 0.5.3 + transitivePeerDependencies: + - rollup + unplugin-auto-import@19.1.0: + dependencies: + local-pkg: 1.1.2 + magic-string: 0.30.21 + picomatch: 4.0.3 + unimport: 4.1.1 + unplugin: 2.3.11 + unplugin-utils: 0.2.5 + unplugin-transform-class@0.5.3: + dependencies: + "@meoc/utils": 0.2.10 + "@rollup/pluginutils": 5.3.0 + unplugin: 1.7.1 + transitivePeerDependencies: + - rollup + unplugin-transform-class@0.6.0(esbuild@0.20.2)(vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0))(webpack@5.104.1(esbuild@0.20.2)): + dependencies: + "@meoc/utils": 0.2.10 + "@rollup/pluginutils": 5.3.0 + unplugin: 2.3.2 + optionalDependencies: + esbuild: 0.20.2 + vite: 5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0) + webpack: 5.104.1(esbuild@0.20.2) + unplugin-utils@0.2.5: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + unplugin@1.16.1: + dependencies: + acorn: 8.15.0 + webpack-virtual-modules: 0.6.2 + unplugin@1.7.1: + dependencies: + acorn: 8.15.0 + chokidar: 3.6.0 + webpack-sources: 3.3.3 + webpack-virtual-modules: 0.6.2 + unplugin@2.3.11: + dependencies: + "@jridgewell/remapping": 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + unplugin@2.3.2: + dependencies: + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + unquote@1.1.1: {} + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + util-deprecate@1.0.2: {} + utils-merge@1.0.1: {} + vary@1.1.2: {} + vite@5.2.8(@types/node@20.19.30)(sass@1.71.1)(terser@5.46.0): + dependencies: + esbuild: 0.20.2 + postcss: 8.5.6 + rollup: 4.55.1 + optionalDependencies: + "@types/node": 20.19.30 + fsevents: 2.3.3 + sass: 1.71.1 + terser: 5.46.0 + vue-router@4.4.4(vue@3.5.26(typescript@4.9.5)): + dependencies: + "@vue/devtools-api": 6.6.4 + vue: 3.5.26(typescript@4.9.5) + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + vue-tsc@1.8.27(typescript@4.9.5): + dependencies: + "@volar/typescript": 1.11.1 + "@vue/language-core": 1.8.27(typescript@4.9.5) + semver: 7.7.3 + typescript: 4.9.5 + vue@3.5.26(typescript@4.9.5): + dependencies: + "@vue/compiler-dom": 3.5.26 + "@vue/compiler-sfc": 3.5.26 + "@vue/runtime-dom": 3.5.26 + "@vue/server-renderer": 3.5.26(vue@3.5.26(typescript@4.9.5)) + "@vue/shared": 3.5.26 + optionalDependencies: + typescript: 4.9.5 + watchpack@2.5.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + webpack-sources@3.3.3: {} + webpack-virtual-modules@0.6.2: {} + webpack@5.104.1(esbuild@0.20.2): + dependencies: + "@types/eslint-scope": 3.7.7 + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/wasm-edit": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.4 + es-module-lexer: 2.0.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.16(esbuild@0.20.2)(webpack@5.104.1(esbuild@0.20.2)) + watchpack: 2.5.1 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - "@swc/core" + - esbuild + - uglify-js + xmlhttprequest@1.8.0: {} + xregexp@5.1.2: + dependencies: + "@babel/runtime-corejs3": 7.29.2 + yallist@3.1.1: {} + yaml@1.10.2: {} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..4307d98 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..e83eb4f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,12 @@ +/// +/// + +// tm-ui 的全局 TM 类型来自随库保留的原始声明,不在业务侧重复定义 +import "./uni_modules/tm-ui/interface" + +declare module "*.vue" { + import type { DefineComponent } from "vue" + /** uni-app 页面及 Easycom 组件的模块声明,具体模板类型由 vue-tsc 推导 */ + const component: DefineComponent, Record, any> + export default component +} diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..de4ad30 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,22 @@ +import { createSSRApp } from "vue" +import "uno.css" +import App from "./App.vue" +import tmUi from "./uni_modules/tm-ui" +import { colors } from "./uni_modules/tm-ui/libs/colors" +import { useTmConfig } from "./uni_modules/tm-ui/libs/config" +import pinia from "@@/stores" +import { themeColors } from "@@/config/theme" + +/** 创建 uni-app 应用,并在页面挂载前将 tm-ui 和 UnoCSS 对齐到参考项目的主题蓝 */ +export function createApp() { + /** 当前应用实例;每次框架创建应用时独立注册插件 */ + const app = createSSRApp(App) + app.use(pinia) + app.use(tmUi) + colors.set("primary", themeColors.primary) + /** tm-ui 的主题状态依赖 Pinia,必须在注册 Pinia 后访问 */ + const themeStore = useTmConfig(pinia) + themeStore.config.mode = "light" + themeStore.config.color = themeColors.primary + return { app, pinia } +} diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..ecbec77 --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "商户付款", + "appid": "", + "description": "商户信息展示与付款金额输入 H5", + "versionName": "0.1.0", + "versionCode": "100", + "transformPx": false, + "vueVersion": "3", + "h5": { + "title": "商户收款", + "router": { + "mode": "hash", + "base": "/" + } + }, + "uniStatistics": { "enable": false } +} diff --git a/src/pages.json b/src/pages.json new file mode 100644 index 0000000..d8de7a5 --- /dev/null +++ b/src/pages.json @@ -0,0 +1,23 @@ +{ + "easycom": { + "autoscan": true, + "custom": { + "^tm-(.*)": "@/uni_modules/tm-ui/components/tm-$1/tm-$1.vue" + } + }, + "pages": [ + { + "path": "pages/pay/index", + "style": { + "navigationBarTitleText": "商户收款", + "disableScroll": true + } + } + ], + "globalStyle": { + "navigationStyle": "custom", + "backgroundColor": "#ecf4f9", + "rpxCalcMaxDeviceWidth": 480, + "rpxCalcBaseDeviceWidth": 480 + } +} diff --git a/src/pages/pay/index.vue b/src/pages/pay/index.vue new file mode 100644 index 0000000..6e3723e --- /dev/null +++ b/src/pages/pay/index.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/src/sheep/api/payment.ts b/src/sheep/api/payment.ts new file mode 100644 index 0000000..950f382 --- /dev/null +++ b/src/sheep/api/payment.ts @@ -0,0 +1,93 @@ +import { request } from "@@/utils/request" + +/** 商户签名入口,长整数始终以字符串保存,由后端绑定商户和租户。 */ +export interface MerchantEntry { + /** 收款商户主键。 */ + id: string + /** 签名对应的租户主键。 */ + tenantId: string + /** 当前协议版本,仅支持 1。 */ + v: string + /** 绑定线下收款用途的服务端签名。 */ + sign: string +} + +/** 与后端渠道编码一致:10 微信、20 支付宝。 */ +export type PaymentPlatform = "10" | "20" + +/** 匿名可见的商户资料。 */ +export interface MerchantInfo { + /** 商户主键,使用字符串避免精度损失。 */ + id: string + /** 服务端返回的商户名称。 */ + name: string + /** 商户标识,缺省时显示统一店铺图形。 */ + logoPic?: string | null + /** 商户已启用的渠道,不包含商户号或配置;空列表表示暂无线上支付渠道。 */ + supportedPlatforms: PaymentPlatform[] +} + +/** OAuth 后的短期收银凭据,不是平台授权码。 */ +export interface CashierTicket { + /** 服务端租户唯一编码。 */ + tenantCode: string + /** 五分钟有效的不透明票据。 */ + ticket: string +} + +/** 聚合会话协议状态,沿用 Java 枚举的持久化编码。 */ +export type PaymentStatus = "10" | "15" | "20" | "30" | "40" | "50" | "60" + +/** 收银状态仅以服务端查单或验签回调确认。 */ +export interface PaymentResult { + /** 聚合会话协议状态。 */ + status: PaymentStatus + /** 已由服务端确认渠道付款成功。 */ + paySuccess: boolean + /** 现有第三方商户订单号。 */ + payNo?: string +} + +/** H5 票据上下文,金额和场景均不可由 URL 覆盖。 */ +export interface CashierContext extends PaymentResult { + /** ORDER 为已有订单,OFFLINE 为付款人输入金额的线下收款。 */ + aggregateScene: "ORDER" | "OFFLINE" + /** 最小公开商户信息。 */ + merchant: MerchantInfo + /** 以整数分保存的已锁定金额。 */ + amount: number + /** 10 为微信,20 为支付宝。 */ + selectedPlatform?: "10" | "20" | null + /** 尚可付款时提供的渠道签名参数,终态时缺省。 */ + launchParams?: Record +} + +/** 创建结果中的跳转地址由后端固定配置产生。 */ +export interface CreatedPayment { + /** 服务端聚合会话编号。 */ + aggregateNo: string + /** 带随机访问令牌的既有聚合 OAuth 入口。 */ + cashierUrl: string + /** 服务端支付截止时间,仅供提示,前端不能据此自行确认关单。 */ + expireTime: string +} + +/** 查询签名入口对应的最小商户信息。 */ +export function getMerchant(entry: MerchantEntry) { + return request("/third/aggregate-merchant-pay/merchant", "GET", { ...entry }, entry.tenantId) +} + +/** 创建或恢复同一次收款意图,重试必须复用 requestId 和整数分金额。 */ +export function createPayment(entry: MerchantEntry, amount: number, requestId: string) { + return request("/third/aggregate-merchant-pay/create", "POST", { ...entry, amount, requestId }, entry.tenantId) +} + +/** 读取票据绑定的商户、固定金额和渠道参数。 */ +export function getCashierContext(value: CashierTicket) { + return request(`/third/aggregate-order-pay/context/${encodeURIComponent(value.tenantCode)}/${encodeURIComponent(value.ticket)}`, "GET") +} + +/** 读取原聚合状态接口,不能通过前端事件把流水标记为成功。 */ +export function getPaymentStatus(value: CashierTicket) { + return request(`/third/aggregate-order-pay/status/${encodeURIComponent(value.tenantCode)}/${encodeURIComponent(value.ticket)}`, "GET") +} diff --git a/src/sheep/components/payment-keyboard.vue b/src/sheep/components/payment-keyboard.vue new file mode 100644 index 0000000..26c6ba6 --- /dev/null +++ b/src/sheep/components/payment-keyboard.vue @@ -0,0 +1,199 @@ + + + + + diff --git a/src/sheep/components/payment-unavailable.vue b/src/sheep/components/payment-unavailable.vue new file mode 100644 index 0000000..650b5a1 --- /dev/null +++ b/src/sheep/components/payment-unavailable.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/sheep/config/merchant.ts b/src/sheep/config/merchant.ts new file mode 100644 index 0000000..31ebb85 --- /dev/null +++ b/src/sheep/config/merchant.ts @@ -0,0 +1,12 @@ +/** 静态页商户展示数据;仅用于展示,不代表后续支付接口的字段契约 */ +export interface MerchantInfo { + /** 展示的商户名称,使用本地示例,可在此替换 */ + name: string + /** 可选的商户标识地址;缺省或加载失败时展示店铺占位图形 */ + logoUrl?: string +} + +/** 首版商户示例,后续接入接口时由页面统一替换数据来源 */ +export const mockMerchant: MerchantInfo = { + name: "资安信示例商户", +} diff --git a/src/sheep/config/theme.ts b/src/sheep/config/theme.ts new file mode 100644 index 0000000..a3fdca4 --- /dev/null +++ b/src/sheep/config/theme.ts @@ -0,0 +1,29 @@ +/** 付款页语义颜色;参考 App 的主题蓝与浅蓝背景作为视觉基线 */ +export const themeColors = { + /** 品牌主色,用于付款键、光标和商户标识 */ + primary: "#0094ff", + /** 同色系深蓝,用于浅色背景上的小字号文本 */ + strong: "#006ec9", + /** 页面底色,与参考项目 globalStyle 保持一致 */ + background: "#ecf4f9", + /** 页面上方的柔和蓝色渐变起点,仅承担背景装饰 */ + tint: "#deeffc", + /** 商户和金额卡片的白色表面 */ + surface: "#ffffff", + /** 商户名称、金额及数字按键的主要文字 */ + text: "#263446", + /** 标签及辅助说明,确保白色表面上的可读性 */ + secondary: "#536579", + /** 次要说明文字,避免参考页面的浅灰在小字号下对比不足 */ + muted: "#64748b", + /** 金额占位符使用大字号,区别于已经输入的金额 */ + placeholder: "#8192a6", + /** 卡片分隔线和按键边界 */ + border: "#e6edf4", + /** 商户标识与键盘按压反馈的浅蓝色 */ + soft: "#e6f3ff", + /** 数字键的浅灰表面,和白色键盘容器形成层次 */ + key: "#f3f6fa", + /** 无效金额时付款键的填充色 */ + disabled: "#d6e9f8", +} as const diff --git a/src/sheep/hooks/use-merchant-payment.ts b/src/sheep/hooks/use-merchant-payment.ts new file mode 100644 index 0000000..c43c496 --- /dev/null +++ b/src/sheep/hooks/use-merchant-payment.ts @@ -0,0 +1,309 @@ +import { computed, onMounted, onUnmounted, ref } from "vue" +import { createPayment, getCashierContext, getMerchant, getPaymentStatus } from "@@/api/payment" +import type { CashierContext, CashierTicket, MerchantEntry, MerchantInfo, PaymentResult } from "@@/api/payment" +import { amountToFen, formatFen, newPaymentRequestId, parsePaymentEntry } from "@@/utils/payment-entry" +import { invokePayment } from "@@/utils/payment-bridge" +import { paymentUnavailable, resolvePaymentPlatform } from "@@/utils/payment-platform" +import { usePaymentAmount } from "@@/hooks/use-payment-amount" + +/** 本标签页的一次线下付款意图,只保存公开入口和恢复信息,不保存平台授权身份。 */ +interface PendingPayment { + /** 用户扫描的签名商户入口。 */ + entry: MerchantEntry + /** 已确认的整数分,提交后不能就地修改。 */ + amount: number + /** 请求超时和刷新时复用的 UUID。 */ + requestId: string + /** 创建成功后可继续 OAuth 的固定服务端地址。 */ + cashierUrl?: string +} + +/** 标签页级恢复键,不跨浏览器账号共享,也不保存商户密钥。 */ +const PENDING_KEY = "merchant-pay:pending" +/** 串行轮询间隔为 4 秒,避免请求堆积及同 IP 多端触发限流。 */ +const POLL_INTERVAL_MS = 4000 +/** 渠道已确认终态,只有这些状态可以结束当前付款意图。 */ +const TERMINAL_STATUSES = ["30", "40", "50", "60"] + +/** 管理两种收银场景的授权、金额锁定、继续付款及服务端结果确认。 */ +export function useMerchantPayment() { + /** 手动输入的人民币元字符串,只在未提交线下收款时可修改。 */ + const input = usePaymentAmount() + /** 当前入口的真实商户,失败时不回退到示例数据。 */ + const merchant = ref() + /** 已通过格式校验的静态签名入口,真实有效性仍由后端判断。 */ + const entry = ref() + /** OAuth 回跳的短期收银票据。 */ + const ticket = ref() + /** 后端固定的金额、渠道和状态。 */ + const context = ref() + /** 标签页内待恢复的付款意图,金额在发请求之前即锁定。 */ + const pending = ref() + /** 页面首次查询或手动重试期间为 true。 */ + const loading = ref(false) + /** 支付创建或桥调用期间为 true,防止重复提交。 */ + const busy = ref(false) + /** 收银结果确认期间为 true,不允许重复调用支付组件。 */ + const confirming = ref(false) + /** 当前加载错误,屏幕阅读器与可视提示共享文案。 */ + const error = ref("") + /** 平台取消、查单和终态提示,不包含内部异常。 */ + const feedback = ref("") + /** 当前扫码客户端;不可用页面只引导用户重新扫码,不尝试跨 App 强制唤起。 */ + const clientPlatform = resolvePaymentPlatform(navigator.userAgent) + /** 在金额输入、会话创建及支付组件调起前统一拦截不受支持的客户端。 */ + const unavailable = computed(() => { + if (!merchant.value || success.value || terminal.value) return undefined + const notice = paymentUnavailable(merchant.value.supportedPlatforms, clientPlatform, context.value?.selectedPlatform) + if (notice) return notice + // 未开通渠道的订单扫码只签发只读票据;重新开通后需再扫码进入 OAuth,不能停在无调起参数的页面。 + if (context.value?.status === "10") return { title: "请重新扫码付款", description: "当前支付方式已可用,请重新扫码进入收银台。", instruction: "请使用当前 App 的“扫一扫”,重新扫描商户收款码。" } + return undefined + }) + /** 串行轮询计时器,页面隐藏或销毁时清除。 */ + let pollTimer: ReturnType | undefined + /** 取消过期查询结果,避免页面离开或重试后旧请求覆盖新状态。 */ + let revision = 0 + /** 防止轮询请求与页面恢复请求并行。 */ + let checking = false + /** 本页面是否已经销毁。 */ + let disposed = false + /** 仅未提交的签名商户入口允许数字输入。 */ + const editable = computed(() => !!entry.value && !!merchant.value && !context.value && !pending.value && !loading.value && !error.value && !unavailable.value) + /** 已提交或已有订单都显示服务端/冻结金额,不能使用 URL 金额。 */ + const amount = computed(() => context.value ? formatFen(context.value.amount) : pending.value ? formatFen(pending.value.amount) : input.amount.value) + /** 成功仅依据后端确认值。 */ + const success = computed(() => context.value?.paySuccess === true) + /** 当前会话已结束,不再提供支付入口。 */ + const terminal = computed(() => !!context.value && TERMINAL_STATUSES.includes(context.value.status)) + /** 金额校验、平台就绪及请求状态共同决定按钮是否可操作。 */ + const canPay = computed(() => !loading.value && !busy.value && !confirming.value && !error.value && !unavailable.value && !!merchant.value + && !terminal.value && (context.value ? context.value.status === "20" && !!context.value.launchParams : !!pending.value || amountToFen(input.amount.value) !== undefined)) + /** 已创建的线下付款和订单收银只保留底部操作区。 */ + const showKeyboard = computed(() => !!entry.value && !context.value && !pending.value && !unavailable.value) + /** 成功或已确认关闭后可以重新输入;创建失败仍须重新扫码核对,避免未知渠道结果下新建支付。 */ + const canRestart = computed(() => !!entry.value && !!context.value && ["30", "40", "50"].includes(context.value.status)) + + /** 保存付款意图失败时停止提交,避免跳转后丢失幂等请求号。 */ + function savePending(value: PendingPayment) { + sessionStorage.setItem(PENDING_KEY, JSON.stringify(value)) + pending.value = value + } + + /** 只恢复符合格式和金额约束的本标签页数据,付款状态仍需后端确认。 */ + function readPending(): PendingPayment | undefined { + try { + const stored = JSON.parse(sessionStorage.getItem(PENDING_KEY) || "null") as PendingPayment | null + if (!stored || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(stored.requestId) || amountToFen(formatFen(stored.amount)) !== stored.amount) return + const query = new URLSearchParams({ ...stored.entry }).toString() + if (parsePaymentEntry(`https://entry.invalid/#/pages/pay/index?${query}`).kind !== "merchant") return + if (stored.cashierUrl && new URL(stored.cashierUrl).protocol !== "https:") return + return stored + } catch { return } + } + + /** 停止下次轮询;已经发出的请求通过 revision 取消写入。 */ + function stopPolling() { + if (pollTimer) clearTimeout(pollTimer) + pollTimer = undefined + } + + /** 按服务端终态更新提示,不以本机时间或 JSBridge 回调自行判定付款成功。 */ + function applyStatus(result: PaymentResult) { + if (!context.value) return + context.value = { ...context.value, ...result } + if (result.paySuccess) feedback.value = "付款成功" + else if (result.status === "40") feedback.value = "交易已关闭,未完成付款" + else if (result.status === "50") feedback.value = "收款请求已过期" + else if (result.status === "60") feedback.value = "付款创建失败,请重新扫码核对" + if (TERMINAL_STATUSES.includes(result.status)) { + confirming.value = false + stopPolling() + } + } + + /** 排队下一次状态查询,前一个请求结束后才会启动。 */ + function queuePolling() { + stopPolling() + if (!disposed && ticket.value && !terminal.value && !document.hidden && !error.value && !unavailable.value) { + pollTimer = setTimeout(() => { void checkStatus() }, POLL_INTERVAL_MS) + } + } + + /** 失败时保留原请求与金额,用户可手动重试状态查询,不能直接再建一笔交易。 */ + async function checkStatus() { + if (!ticket.value || checking || disposed) return + checking = true + const current = revision + try { + const result = await getPaymentStatus(ticket.value) + if (current !== revision || disposed) return + applyStatus(result) + error.value = "" + } catch (cause) { + if (current === revision && !disposed) error.value = cause instanceof Error ? cause.message : "付款结果暂不可用,请稍后查询" + } finally { + checking = false + if (current === revision) queuePolling() + } + } + + /** 调起当前已绑定的平台订单;取消后保持原单号,继续付款仍复用本单。 */ + async function launch() { + const data = context.value + if (!data?.launchParams || !data.selectedPlatform || data.status !== "20" || busy.value || confirming.value || unavailable.value) return + busy.value = true + const current = revision + try { + const result = await invokePayment(data.selectedPlatform, data.launchParams) + if (disposed || current !== revision) return + confirming.value = result === "confirming" + feedback.value = result === "cancelled" ? "已取消付款,可继续付款" : result === "failed" ? "未完成付款,可继续付款" : "付款结果确认中,请勿重复付款" + await checkStatus() + } catch (cause) { + if (!disposed && current === revision) feedback.value = cause instanceof Error ? cause.message : "未能调起付款,请稍后重试" + } finally { + if (!disposed && current === revision) { busy.value = false; queuePolling() } + } + } + + /** 入口加载失败始终显示错误,只有真实商户加载成功后才开放输入或支付。 */ + async function load() { + const current = ++revision + stopPolling() + loading.value = true + error.value = "" + try { + const parsed = parsePaymentEntry(window.location.href) + if (parsed.kind === "merchant") { + entry.value = parsed.entry + const data = await getMerchant(parsed.entry) + if (disposed || current !== revision) return + merchant.value = data + const stored = readPending() + if (stored?.entry.id === parsed.entry.id && stored.entry.tenantId === parsed.entry.tenantId && stored.entry.sign === parsed.entry.sign) pending.value = stored + } else { + ticket.value = parsed.ticket + const data = await getCashierContext(parsed.ticket) + if (disposed || current !== revision) return + context.value = data + merchant.value = data.merchant + const stored = readPending() + if (data.aggregateScene === "OFFLINE" && stored?.entry.id === data.merchant.id) { + entry.value = stored.entry + pending.value = stored + } + applyStatus(data) + // 只在新的 OAuth 票据第一次到达时自动调起,刷新不会重复自动弹出收银台。 + const marker = `merchant-pay:launched:${parsed.ticket.ticket}` + if (!unavailable.value && !sessionStorage.getItem(marker) && data.status === "20" && data.launchParams) { + sessionStorage.setItem(marker, "1") + void launch() + } + queuePolling() + } + } catch (cause) { + if (!disposed && current === revision) error.value = cause instanceof Error ? cause.message : "收款信息暂不可用" + } finally { + if (current === revision) loading.value = false + } + } + + /** 先保存稳定请求号再创建会话,任何网络重试都保留原金额与 requestId。 */ + async function pay() { + if (!canPay.value) return + if (context.value) { await launch(); return } + if (!entry.value) return + busy.value = true + const current = revision + try { + if (!pending.value) { + const value = amountToFen(input.amount.value) + if (value === undefined) return + savePending({ entry: entry.value, amount: value, requestId: newPaymentRequestId() }) + } + const attempt = pending.value! + let url = attempt.cashierUrl + if (!url) { + const result = await createPayment(attempt.entry, attempt.amount, attempt.requestId) + if (disposed || current !== revision) return + url = result.cashierUrl + if (new URL(url).protocol !== "https:") throw new Error("付款入口不可用,请联系商户") + savePending({ ...attempt, cashierUrl: url }) + } + window.location.assign(url) + } catch (cause) { + if (!disposed && current === revision) { + feedback.value = cause instanceof Error ? cause.message : "付款暂未能发起,请稍后重试" + // 商户可能在页面停留期间停用渠道;重新读取开通情况,保留原金额和请求号。 + try { + const data = await getMerchant(entry.value!) + if (!disposed && current === revision) merchant.value = data + } catch { /* 查询失败时保留原请求与错误提示,不能据此释放未知支付意图。 */ } + } + } finally { if (!disposed && current === revision) busy.value = false } + } + + /** 渠道提示页重新读取商户/票据上下文;已有正常付款仅查询结果,避免重新创建会话。 */ + async function retry() { + if (loading.value || busy.value) return + if (ticket.value && context.value && !unavailable.value) await checkStatus() + else await load() + } + + /** 只有服务端已确认成功或关闭后,才释放旧意图并返回签名商户入口。 */ + function restart() { + if (!canRestart.value || !entry.value) return + sessionStorage.removeItem(PENDING_KEY) + const query = new URLSearchParams({ ...entry.value }).toString() + window.history.replaceState(null, "", `${window.location.pathname}${window.location.search}#/pages/pay/index?${query}`) + window.location.reload() + } + + /** 输入长度限制同时覆盖四位整数和两位小数,不改变冻结金额。 */ + function append(key: string) { + if (!editable.value) return + const next = input.amount.value + if (/^\d$/.test(key) && !next.includes(".") && next !== "0" && next.length >= 4) return + input.append(key) + } + + /** 只有未提交的线下金额允许删除。 */ + function remove() { if (editable.value) input.remove() } + + /** 后台恢复时先查真实状态,页面隐藏期间停止轮询。 */ + function handleVisibility() { + if (document.hidden) stopPolling() + else if (ticket.value && !terminal.value) void checkStatus() + } + + /** 单页 Hash 入口变化也重新校验,避免浏览器复用同一页面时沿用上一商户或金额。 */ + function handleHashChange() { + busy.value = false + context.value = undefined + ticket.value = undefined + entry.value = undefined + merchant.value = undefined + pending.value = undefined + feedback.value = "" + confirming.value = false + input.clear() + void load() + } + + /** 页面挂载后读取真实入口,不从示例商户配置加载任何收款对象。 */ + onMounted(() => { + document.addEventListener("visibilitychange", handleVisibility) + window.addEventListener("hashchange", handleHashChange) + void load() + }) + /** 释放轮询和监听,未返回的请求不能再修改页面状态。 */ + onUnmounted(() => { + disposed = true; revision++; stopPolling() + document.removeEventListener("visibilitychange", handleVisibility) + window.removeEventListener("hashchange", handleHashChange) + }) + + return { merchant, amount, loading, busy, error, feedback, editable, canPay, showKeyboard, canRestart, confirming, success, terminal, unavailable, + pay, restart, retry, append, remove } +} diff --git a/src/sheep/hooks/use-payment-amount.ts b/src/sheep/hooks/use-payment-amount.ts new file mode 100644 index 0000000..8d4cfd5 --- /dev/null +++ b/src/sheep/hooks/use-payment-amount.ts @@ -0,0 +1,38 @@ +import { computed, readonly, ref } from "vue" + +/** 人民币金额最多保留两位小数;输入过程使用字符串保留末尾的小数点与零 */ +const DECIMAL_PLACES = 2 + +/** + * 将一个数字或小数点追加到金额尾部,无效输入返回原值 + * 不进行浮点运算,也不将展示长度限制当作真实支付限额 + */ +export function appendAmount(current: string, key: string): string { + if (!/^[0-9.]$/.test(key)) return current + if (key === ".") return current.includes(".") ? current : `${current || "0"}.` + if (current.includes(".") && current.split(".")[1].length >= DECIMAL_PLACES) return current + return current === "0" ? key : current + key +} + +/** 页面金额状态的唯一写入入口,自定义键盘和物理键盘共享相同的输入规则 */ +export function usePaymentAmount() { + /** 当前输入的金额,单位为元;空字符串表示尚未输入,生命周期与页面一致 */ + const amount = ref("") + /** 输入由 appendAmount 保证格式,只需判断是否包含非零数字即可避免浮点精度问题 */ + const canPay = computed(() => /[1-9]/.test(amount.value)) + + /** 追加一个合法字符,保留正在输入的小数状态 */ + function append(key: string) { + amount.value = appendAmount(amount.value, key) + } + + /** 删除最后一个字符,空金额继续保持为空 */ + function remove() { + amount.value = amount.value.slice(0, -1) + } + + /** 切换到另一收款入口时清空未提交金额,不影响已持久化的付款请求 */ + function clear() { amount.value = "" } + + return { amount: readonly(amount), canPay, append, remove, clear } +} diff --git a/src/sheep/scss/global.scss b/src/sheep/scss/global.scss new file mode 100644 index 0000000..1f9be8d --- /dev/null +++ b/src/sheep/scss/global.scss @@ -0,0 +1,64 @@ +page { + height: 100%; + color: var(--pay-text); + background: var(--pay-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; + -webkit-font-smoothing: antialiased; +} + +view, +text, +button, +image { + box-sizing: border-box; +} + +button { + font: inherit; +} + +// #ifdef H5 +html, +body, +#app, +uni-app, +uni-page, +uni-page-wrapper, +uni-page-body { + height: 100%; + margin: 0; +} + +html, +body { + background: var(--pay-background); + overflow: hidden; + overscroll-behavior: none; +} + +// 整页锁在浏览器可视区域,极短屏只允许卡片所在区域内部滑动且不显示滚动条 +uni-app, +uni-page, +uni-page-wrapper, +uni-page-body { + overflow: hidden; +} + +body { + color-scheme: light; +} + +// 使用动态视口适应移动浏览器地址栏,旧浏览器保留 vh 回退 +.payment-shell { + height: 100vh; + height: 100dvh; + box-shadow: 0 0 80px rgba(44, 83, 118, 0.07); +} +// #endif + +// 仅对自绘输入光标关闭动画,按键状态反馈仍保留 +@media (prefers-reduced-motion: reduce) { + .payment-cursor { + animation: none !important; + } +} diff --git a/src/sheep/stores/index.ts b/src/sheep/stores/index.ts new file mode 100644 index 0000000..7dba6d7 --- /dev/null +++ b/src/sheep/stores/index.ts @@ -0,0 +1,6 @@ +import { createPinia } from "pinia" + +/** 仅承载 tm-ui 的主题状态,付款金额保留在当前页面内,不持久化 */ +const pinia = createPinia() + +export default pinia diff --git a/src/sheep/utils/payment-bridge.ts b/src/sheep/utils/payment-bridge.ts new file mode 100644 index 0000000..d318c81 --- /dev/null +++ b/src/sheep/utils/payment-bridge.ts @@ -0,0 +1,77 @@ +/** 客户端回调只代表调起结果,最终付款状态必须再查询后端。 */ +export type BridgeResult = "confirming" | "cancelled" | "failed" + +/** 两种客户端桥的最小接口,不引入 App SDK 或其他平台能力。 */ +interface PaymentBridge { + /** 支付宝 tradePay 接口。 */ + call?: (name: string, params: Record, callback: (result: Record) => void) => void + /** 微信 getBrandWCPayRequest 接口。 */ + invoke?: (name: string, params: Record, callback: (result: Record) => void) => void +} + +/** 当前客户端注入的全局桥对象,仅在 H5 运行期访问。 */ +type BridgeWindow = Window & { AlipayJSBridge?: PaymentBridge; WeixinJSBridge?: PaymentBridge } + +/** 把平台回调归一化;9000/ok 仍进入服务端结果确认,不直接展示支付成功。 */ +export function bridgeResult(platform: "10" | "20", result: Record): BridgeResult { + if (platform === "20") { + const code = String(result.resultCode || "") + if (["9000", "8000", "6004"].includes(code)) return "confirming" + return code === "6001" ? "cancelled" : "failed" + } + const message = String(result.err_msg || "").toLowerCase() + return message.endsWith(":ok") ? "confirming" : message.endsWith(":cancel") ? "cancelled" : "failed" +} + +/** 等待客户端桥就绪并调起一次;取消或失败不自动重复唤起。 */ +export function invokePayment(platform: "10" | "20", params: Record): Promise { + const client = navigator.userAgent.toLowerCase() + if ((platform === "10" && !client.includes("micromessenger")) || (platform === "20" && !client.includes("alipayclient"))) { + return Promise.reject(new Error("请在原微信或支付宝客户端中继续付款")) + } + return new Promise((resolve, reject) => { + /** 当前桥等待和回调仅属于本次用户调起操作。 */ + const readyEvent = platform === "20" ? "AlipayJSBridgeReady" : "WeixinJSBridgeReady" + let invoked = false + let settled = false + let timer: ReturnType + /** 释放就绪监听和超时,避免页面反复授权后残留调起。 */ + function finish(result?: BridgeResult, error?: Error) { + if (settled) return + settled = true + document.removeEventListener(readyEvent, launch) + clearTimeout(timer) + if (error) reject(error) + else resolve(result || "confirming") + } + /** 只接受当前平台的最小参数,不把后端提供的对象转换成可执行脚本。 */ + function launch() { + if (invoked || settled) return + const host = window as BridgeWindow + const bridge = platform === "20" ? host.AlipayJSBridge : host.WeixinJSBridge + if (!bridge || (platform === "20" ? !bridge.call : !bridge.invoke)) return + if ( + (platform === "20" && typeof params.tradeNO !== "string") || + (platform === "10" && + !["appId", "timeStamp", "nonceStr", "package", "signType", "paySign"].every((key) => typeof params[key] === "string")) + ) { + finish(undefined, new Error("付款参数不可用,请重新扫码")) + return + } + invoked = true + clearTimeout(timer) + // 用户在平台收银台停留较久时只转入查单,不据超时认定失败或再发起一笔支付。 + timer = setTimeout(() => finish("confirming"), 30000) + try { + const callback = (result: Record) => finish(bridgeResult(platform, result)) + if (platform === "20") bridge.call!("tradePay", { tradeNO: params.tradeNO }, callback) + else bridge.invoke!("getBrandWCPayRequest", params, callback) + } catch { + finish(undefined, new Error("支付组件调用失败,请稍后继续付款")) + } + } + timer = setTimeout(() => finish(undefined, new Error("支付组件尚未就绪,请点击继续付款")), 5000) + document.addEventListener(readyEvent, launch) + launch() + }) +} diff --git a/src/sheep/utils/payment-entry.ts b/src/sheep/utils/payment-entry.ts new file mode 100644 index 0000000..3be32a5 --- /dev/null +++ b/src/sheep/utils/payment-entry.ts @@ -0,0 +1,47 @@ +import type { CashierTicket, MerchantEntry } from "@@/api/payment" + +/** 初版单笔上限为 9,999.99 元,与后端配置同步,单位为分。 */ +export const MAX_OFFLINE_AMOUNT = 999999 + +/** 二维码只能是签名商户入口或短期收银票据两种形式。 */ +export type PaymentEntry = { kind: "merchant"; entry: MerchantEntry } | { kind: "cashier"; ticket: CashierTicket } + +/** 解析 Hash 路由参数;拒绝重复参数及混用入口,避免跳转时悄悄切换收款对象。 */ +export function parsePaymentEntry(href: string): PaymentEntry { + const url = new URL(href) + const params = new URLSearchParams(url.hash.includes("?") ? url.hash.slice(url.hash.indexOf("?") + 1) : url.search) + if (Array.from(params.keys()).some(key => params.getAll(key).length !== 1)) throw new Error("收款链接无效,请重新扫码") + if (params.has("ticket") || params.has("tenantCode")) { + if (params.has("id") || params.has("sign") || params.has("tenantId")) throw new Error("收银凭据无效,请重新扫码") + const ticket = params.get("ticket") || "" + const tenantCode = params.get("tenantCode") || "" + if (!/^[A-Za-z0-9_-]{32}$/.test(ticket) || !tenantCode || tenantCode.length > 128) throw new Error("收银凭据无效,请重新扫码") + return { kind: "cashier", ticket: { ticket, tenantCode } } + } + const entry = { id: params.get("id") || "", tenantId: params.get("tenantId") || "", v: params.get("v") || "", sign: params.get("sign") || "" } + if (!/^[1-9]\d{0,18}$/.test(entry.id) || !/^[1-9]\d{0,18}$/.test(entry.tenantId) + || entry.v !== "1" || !/^[0-9a-f]{64}$/.test(entry.sign)) throw new Error("收款链接无效,请重新扫码") + return { kind: "merchant", entry } +} + +/** 字符串元精确转换为整数分,拒绝零、科学计数、超过两位小数及超限输入。 */ +export function amountToFen(value: string): number | undefined { + if (!/^\d{1,4}(\.\d{0,2})?$/.test(value)) return undefined + const [whole, fraction = ""] = value.split(".") + const result = Number(whole) * 100 + Number(fraction.padEnd(2, "0")) + return Number.isSafeInteger(result) && result > 0 && result <= MAX_OFFLINE_AMOUNT ? result : undefined +} + +/** 固定金额从整数分格式化,不进行浮点金额运算。 */ +export function formatFen(value: number): string { + return `${Math.floor(value / 100)}.${String(value % 100).padStart(2, "0")}` +} + +/** 浏览器为一次付款意图生成 UUID;网络重试复用该值。 */ +export function newPaymentRequestId(): string { + const bytes = crypto.getRandomValues(new Uint8Array(16)) + bytes[6] = (bytes[6] & 15) | 64 + bytes[8] = (bytes[8] & 63) | 128 + const hex = Array.from(bytes, value => value.toString(16).padStart(2, "0")).join("") + return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}` +} diff --git a/src/sheep/utils/payment-platform.ts b/src/sheep/utils/payment-platform.ts new file mode 100644 index 0000000..461ae15 --- /dev/null +++ b/src/sheep/utils/payment-platform.ts @@ -0,0 +1,43 @@ +import type { PaymentPlatform } from "@@/api/payment" + +/** 渠道名称只用于展示,后端始终依据已启用的商户配置校验实际付款。 */ +const PLATFORM_NAMES: Record = { "10": "微信", "20": "支付宝" } + +/** 当前客户端无法付款时展示的原因和恢复指引。 */ +export interface PaymentUnavailable { + /** 说明商户未开通当前渠道,或当前浏览器无法调起支付。 */ + title: string + /** 已开通的替代方式或现有付款的绑定渠道。 */ + description: string + /** 用户可以实际完成的下一步操作。 */ + instruction: string +} + +/** 仅识别两种受支持的扫码客户端,与后端的识别顺序保持一致。 */ +export function resolvePaymentPlatform(userAgent: string): PaymentPlatform | undefined { + const client = userAgent.toLowerCase() + if (client.includes("micromessenger")) return "10" + if (client.includes("alipayclient")) return "20" + return undefined +} + +/** 进入输入框前检查渠道;已有子订单按原渠道恢复,避免商户配置变化掩盖待确认付款。 */ +export function paymentUnavailable(supportedPlatforms: PaymentPlatform[] | undefined, client: PaymentPlatform | undefined, selected?: PaymentPlatform | null): PaymentUnavailable | undefined { + if (selected) { + if (client === selected) return undefined + const name = PLATFORM_NAMES[selected] + return { title: `请使用${name}继续付款`, description: `本次付款已在${name}中发起,请继续原来的付款。`, instruction: `请回到${name}完成付款,避免重复支付。` } + } + const platforms = Array.isArray(supportedPlatforms) ? [...new Set(supportedPlatforms.filter(value => value === "10" || value === "20"))] : [] + if (!platforms.length) { + return { title: "商户暂未开通线上支付", description: "当前暂无可用的微信或支付宝支付方式。", instruction: "请联系商户确认其他收款方式。" } + } + const names = platforms.map(value => PLATFORM_NAMES[value]).join("或") + if (!client) { + return { title: `请使用${names}扫码`, description: `该商户支持${names}支付。`, instruction: `请打开${names},使用“扫一扫”扫描商户收款码。` } + } + if (!platforms.includes(client)) { + return { title: `商户暂不支持${PLATFORM_NAMES[client]}支付`, description: `该商户当前支持${names}支付。`, instruction: `请打开${names},使用“扫一扫”重新扫描商户收款码。` } + } + return undefined +} diff --git a/src/sheep/utils/request.ts b/src/sheep/utils/request.ts new file mode 100644 index 0000000..470de0c --- /dev/null +++ b/src/sheep/utils/request.ts @@ -0,0 +1,37 @@ +/** 后端统一响应,仅公开收银接口使用,不携带登录 Token 或商户密钥。 */ +interface ApiResponse { + /** 0 表示业务成功,非零表示业务失败。 */ + code: number | string + /** 经过后端处理的用户提示。 */ + msg?: string + /** 具体接口的最小公开响应。 */ + data: T +} + +/** 沿用参考项目变量:开发走 VITE_API_URL 本地代理,生产读取 VITE_APP_PROD_SERVICE。 */ +const apiBase = (import.meta.env.DEV ? import.meta.env.VITE_API_URL || "/api" : import.meta.env.VITE_APP_PROD_SERVICE || "").trim().replace(/\/+$/, "") + +/** 统一封装匿名请求与微服务/Boot 路径,不自动重试支付创建请求。 */ +export function request(path: string, method: "GET" | "POST", data?: Record, tenantId?: string): Promise { + /** Boot 聚合服务不使用网关 third 前缀,其他部署保留前缀。 */ + const endpoint = import.meta.env.VITE_IS_MICRO === "false" ? path.replace(/^\/third(?=\/)/, "") : path + return new Promise((resolve, reject) => { + uni.request({ + url: apiBase + endpoint, + method, + data, + timeout: 15000, + withCredentials: false, + header: { "Content-Type": "application/json", ...(tenantId ? { "TENANT-ID": tenantId } : {}) }, + success(response) { + const body = response.data as ApiResponse | undefined + if (response.statusCode >= 200 && response.statusCode < 300 && body && String(body.code) === "0") { + resolve(body.data) + } else { + reject(new Error(response.statusCode === 429 ? "请求较频繁,请稍后重试" : body?.msg || "服务暂不可用,请稍后重试")) + } + }, + fail() { reject(new Error("网络连接失败,请检查网络后重试")) }, + }) + }) +} diff --git a/src/uni.scss b/src/uni.scss new file mode 100644 index 0000000..aff5b46 --- /dev/null +++ b/src/uni.scss @@ -0,0 +1,6 @@ +// 与参考 App 的主题保持一致,供 uni-app 内置组件使用 +$uni-color-primary: #0094ff; +$uni-text-color: #263446; +$uni-text-color-grey: #64748b; +$uni-bg-color: #ecf4f9; +$uni-border-color: #e6edf4; diff --git a/src/uni_modules/tm-ui/changelog.md b/src/uni_modules/tm-ui/changelog.md new file mode 100644 index 0000000..a8f3000 --- /dev/null +++ b/src/uni_modules/tm-ui/changelog.md @@ -0,0 +1,13 @@ +## 3.2.0(2024-10-11) +* [注意]本版本不向下兼容,可以直接通过市场导入或者在插件目录右键升级到项目中 +* [3.2.x文档链接](https://tmui.design/) +* 1. 本版本不向下兼容!!!!! +* 2. 不再兼容nvue平台,请谨慎升级 +* 3. 本版本不是之前的3.1.x版本的升级版本,无法平移过度到本版本 +* 4. 本版本为全新的tmui4.0x版本的小程序版本,风格,标准,细节与其一样,属性也大多相同,但内部是本质的不同.不可以4.0x混用 +* 5. 本版本以webview app + 小程序为准兼容,并且不提供任何原生插件,如果需要原生请使用tmui4.0x来支持我. +* 6. 本版本一样是免费的,可以自由的使用,商用,任意修改不用担心版权问题.但请保留版权信息.但不得发布为公共的竞品版本,发现立即追究版权. +* 7. 本版本更新迭代比较慢,力求后续兼容鸿蒙系统及所有小程序,因此会逐步减少组件数量,但会保证组件质量,保留最基本的组件库功能. +* 8. 如果需要赞助或者捐赠,可以通过官网付款码赞助支持我的开发或者购买tmui4.0x以支持. +* 发布第一个3.2.0版本为公测版本 +* 如果有遇到问题请提交bug至[Gitee](https://gitee.com/LYTB/tm-vuetify-for-vue3) diff --git a/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue b/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue new file mode 100644 index 0000000..24b037a --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-icon/tm-icon.vue @@ -0,0 +1,171 @@ + + + + + + diff --git a/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue b/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue new file mode 100644 index 0000000..1ffb7df --- /dev/null +++ b/src/uni_modules/tm-ui/components/tm-sheet/tm-sheet.vue @@ -0,0 +1,289 @@ + + + + + + + diff --git a/src/uni_modules/tm-ui/css/remixicon.min.css b/src/uni_modules/tm-ui/css/remixicon.min.css new file mode 100644 index 0000000..3c02eba --- /dev/null +++ b/src/uni_modules/tm-ui/css/remixicon.min.css @@ -0,0 +1 @@ +@font-face{font-family:remixicon;src:url(data:application/font-woff2;base64,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) format("woff2");font-display:swap}.ri-arrow-right-line:before{content:"\ea6c"}.ri-arrow-down-line:before{content:"\ea4c"}.ri-arrow-left-line:before{content:"\ea60"}.ri-arrow-up-line:before{content:"\ea76"}.ri-arrow-up-s-line:before{content:"\ea78"}.ri-arrow-right-s-line:before{content:"\ea6e"}.ri-arrow-down-s-line:before{content:"\ea4e"}.ri-arrow-left-s-line:before{content:"\ea64"}.ri-arrow-up-s-fill:before{content:"\ea77"}.ri-arrow-right-s-fill:before{content:"\ea6d"}.ri-arrow-down-s-fill:before{content:"\ea4d"}.ri-arrow-left-s-fill:before{content:"\ea63"}.ri-skip-up-line:before{content:"\f367"}.ri-skip-right-line:before{content:"\f365"}.ri-skip-down-line:before{content:"\f361"}.ri-skip-left-line:before{content:"\f363"}.ri-skip-up-fill:before{content:"\f366"}.ri-skip-right-fill:before{content:"\f364"}.ri-skip-down-fill:before{content:"\f360"}.ri-skip-left-fill:before{content:"\f362"}.ri-arrow-up-down-line:before{content:"\ea74"}.ri-arrow-left-right-line:before{content:"\ea62"}.ri-arrow-up-wide-line:before{content:"\f498"}.ri-arrow-down-wide-line:before{content:"\f492"}.ri-corner-up-left-double-line:before{content:"\f313"}.ri-corner-up-right-double-line:before{content:"\f317"}.ri-arrow-left-double-line:before{content:"\f2e3"}.ri-arrow-right-double-fill:before{content:"\f2e4"}.ri-expand-up-down-line:before{content:"\f327"}.ri-expand-up-down-fill:before{content:"\f326"}.ri-expand-left-right-line:before{content:"\f323"}.ri-expand-left-right-fill:before{content:"\f322"}.ri-arrow-go-forward-line:before{content:"\ea5a"}.ri-arrow-turn-back-line:before{content:"\f2e7"}.ri-arrow-turn-forward-line:before{content:"\f2e9"}.ri-arrow-go-back-line:before{content:"\ea58"}.ri-home-line:before{content:"\ee2b"}.ri-home-fill:before{content:"\ee26"}.ri-home-4-line:before{content:"\ee1d"}.ri-home-4-fill:before{content:"\ee1c"}.ri-home-smile-2-line:before{content:"\ee2d"}.ri-home-smile-2-fill:before{content:"\ee2c"}.ri-building-2-line:before{content:"\eb09"}.ri-building-2-fill:before{content:"\eb08"}.ri-ancient-gate-line:before{content:"\ea32"}.ri-ancient-gate-fill:before{content:"\ea31"}.ri-store-2-line:before{content:"\f1a5"}.ri-store-2-fill:before{content:"\f1a4"}.ri-mail-unread-line:before{content:"\ef02"}.ri-mail-check-line:before{content:"\eeee"}.ri-mail-send-line:before{content:"\eefc"}.ri-mail-open-line:before{content:"\eefa"}.ri-mail-open-fill:before{content:"\eef9"}.ri-mail-send-fill:before{content:"\eefb"}.ri-mail-unread-fill:before{content:"\ef01"}.ri-mail-check-fill:before{content:"\eeed"}.ri-mail-add-line:before{content:"\eeec"}.ri-mail-add-fill:before{content:"\eeeb"}.ri-mail-close-line:before{content:"\eef0"}.ri-mail-close-fill:before{content:"\eeef"}.ri-inbox-archive-line:before{content:"\ee4d"}.ri-inbox-archive-fill:before{content:"\ee4c"}.ri-cloud-off-line:before{content:"\eb9f"}.ri-cloud-off-fill:before{content:"\eb9e"}.ri-cloud-fill:before{content:"\eb9c"}.ri-cloud-line:before{content:"\eb9d"}.ri-inbox-unarchive-line:before{content:"\ee51"}.ri-inbox-unarchive-fill:before{content:"\ee50"}.ri-attachment-line:before{content:"\ea86"}.ri-attachment-fill:before{content:"\ea85"}.ri-profile-line:before{content:"\f02d"}.ri-profile-fill:before{content:"\f02c"}.ri-archive-2-line:before{content:"\f3a7"}.ri-archive-2-fill:before{content:"\f3a6"}.ri-at-line:before{content:"\ea83"}.ri-award-fill:before{content:"\ea89"}.ri-medal-fill:before{content:"\ef27"}.ri-medal-2-fill:before{content:"\ef25"}.ri-verified-badge-fill:before{content:"\f3e8"}.ri-verified-badge-line:before{content:"\f3e9"}.ri-archive-stack-line:before{content:"\f428"}.ri-archive-stack-fill:before{content:"\f427"}.ri-bar-chart-grouped-line:before{content:"\ea9b"}.ri-bar-chart-grouped-fill:before{content:"\ea9a"}.ri-bar-chart-2-line:before{content:"\ea96"}.ri-bar-chart-2-fill:before{content:"\ea95"}.ri-bar-chart-line:before{content:"\ea9e"}.ri-bar-chart-fill:before{content:"\ea99"}.ri-bookmark-line:before{content:"\eae5"}.ri-bookmark-fill:before{content:"\eae4"}.ri-calendar-check-line:before{content:"\eb23"}.ri-calendar-close-line:before{content:"\f38e"}.ri-calendar-event-line:before{content:"\eb25"}.ri-calendar-2-line:before{content:"\eb21"}.ri-flag-2-line:before{content:"\ed39"}.ri-triangular-flag-line:before{content:"\f54a"}.ri-triangular-flag-fill:before{content:"\f549"}.ri-flag-2-fill:before{content:"\ed38"}.ri-global-line:before{content:"\edcf"}.ri-global-fill:before{content:"\edce"}.ri-honour-line:before{content:"\ee35"}.ri-honour-fill:before{content:"\ee34"}.ri-customer-service-line:before{content:"\ec0e"}.ri-customer-service-fill:before{content:"\ec0d"}.ri-calendar-schedule-line:before{content:"\f3f3"}.ri-calendar-schedule-fill:before{content:"\f3f2"}.ri-links-line:before{content:"\eeb8"}.ri-printer-line:before{content:"\f029"}.ri-printer-fill:before{content:"\f028"}.ri-reply-line:before{content:"\f07a"}.ri-reply-fill:before{content:"\f079"}.ri-send-plane-line:before{content:"\f0da"}.ri-send-plane-fill:before{content:"\f0d9"}.ri-stack-line:before{content:"\f181"}.ri-stack-fill:before{content:"\f180"}.ri-shake-hands-line:before{content:"\f3ab"}.ri-shake-hands-fill:before{content:"\f3aa"}.ri-copyright-line:before{content:"\ebe2"}.ri-copyright-fill:before{content:"\ebe1"}.ri-megaphone-line:before{content:"\f385"}.ri-megaphone-fill:before{content:"\f384"}.ri-pass-valid-line:before{content:"\f38b"}.ri-pass-valid-fill:before{content:"\f38a"}.ri-pass-pending-line:before{content:"\f389"}.ri-pass-pending-fill:before{content:"\f388"}.ri-pass-expired-line:before{content:"\f387"}.ri-pass-expired-fill:before{content:"\f386"}.ri-id-card-line:before{content:"\f4e9"}.ri-id-card-fill:before{content:"\f4e8"}.ri-chat-3-line:before{content:"\eb51"}.ri-chat-3-fill:before{content:"\eb50"}.ri-chat-2-line:before{content:"\eb4f"}.ri-chat-2-fill:before{content:"\eb4e"}.ri-message-3-line:before{content:"\ef46"}.ri-message-3-fill:before{content:"\ef45"}.ri-message-2-line:before{content:"\ef44"}.ri-message-2-fill:before{content:"\ef43"}.ri-chat-unread-line:before{content:"\f52a"}.ri-chat-unread-fill:before{content:"\f529"}.ri-chat-smile-2-line:before{content:"\eb6f"}.ri-chat-smile-2-fill:before{content:"\eb6e"}.ri-chat-smile-line:before{content:"\eb73"}.ri-chat-smile-fill:before{content:"\eb72"}.ri-discuss-fill:before{content:"\ec39"}.ri-discuss-line:before{content:"\ec3a"}.ri-chat-history-line:before{content:"\eb61"}.ri-chat-history-fill:before{content:"\eb60"}.ri-video-chat-line:before{content:"\f27e"}.ri-video-chat-fill:before{content:"\f27d"}.ri-chat-voice-fill:before{content:"\eb76"}.ri-chat-voice-line:before{content:"\eb77"}.ri-speak-fill:before{content:"\f36e"}.ri-speak-line:before{content:"\f36f"}.ri-edit-2-line:before{content:"\ec80"}.ri-edit-2-fill:before{content:"\ec7f"}.ri-quill-pen-line:before{content:"\f04a"}.ri-quill-pen-fill:before{content:"\f049"}.ri-sip-line:before{content:"\f13e"}.ri-sip-fill:before{content:"\f13d"}.ri-markup-line:before{content:"\ef20"}.ri-markup-fill:before{content:"\ef1f"}.ri-edit-box-line:before{content:"\ec82"}.ri-edit-box-fill:before{content:"\ec81"}.ri-brush-line:before{content:"\eb01"}.ri-brush-fill:before{content:"\eb00"}.ri-brush-2-fill:before{content:"\eafa"}.ri-brush-2-line:before{content:"\eafb"}.ri-paint-brush-line:before{content:"\efc1"}.ri-paint-brush-fill:before{content:"\efc0"}.ri-drop-line:before{content:"\ec6a"}.ri-drop-fill:before{content:"\ec69"}.ri-blur-off-line:before{content:"\eace"}.ri-blur-off-fill:before{content:"\eacd"}.ri-color-filter-line:before{content:"\f42f"}.ri-color-filter-fill:before{content:"\f42e"}.ri-crop-line:before{content:"\ec02"}.ri-artboard-2-line:before{content:"\ea7a"}.ri-paint-line:before{content:"\efc3"}.ri-paint-fill:before{content:"\efc2"}.ri-palette-line:before{content:"\efc5"}.ri-palette-fill:before{content:"\efc4"}.ri-pantone-line:before{content:"\efc7"}.ri-pantone-fill:before{content:"\efc6"}.ri-magic-line:before{content:"\eeea"}.ri-magic-fill:before{content:"\eee9"}.ri-anticlockwise-line:before{content:"\ea3c"}.ri-anticlockwise-fill:before{content:"\ea3b"}.ri-tools-line:before{content:"\f21b"}.ri-tools-fill:before{content:"\f21a"}.ri-clockwise-line:before{content:"\eb95"}.ri-clockwise-fill:before{content:"\eb94"}.ri-drag-drop-line:before{content:"\ec5e"}.ri-drag-drop-fill:before{content:"\ec5d"}.ri-hammer-fill:before{content:"\edee"}.ri-hammer-line:before{content:"\edef"}.ri-circle-line:before{content:"\f3c2"}.ri-circle-fill:before{content:"\f3c1"}.ri-code-line:before{content:"\eba9"}.ri-code-fill:before{content:"\eba8"}.ri-terminal-line:before{content:"\f1f8"}.ri-terminal-fill:before{content:"\f1f7"}.ri-cursor-line:before{content:"\ec0a"}.ri-cursor-fill:before{content:"\ec09"}.ri-smartphone-line:before{content:"\f15a"}.ri-computer-line:before{content:"\ebca"}.ri-mac-line:before{content:"\eee6"}.ri-macbook-line:before{content:"\eee8"}.ri-phone-line:before{content:"\efec"}.ri-phone-fill:before{content:"\efe9"}.ri-device-line:before{content:"\ec2e"}.ri-tablet-line:before{content:"\f1e0"}.ri-database-2-line:before{content:"\ec16"}.ri-database-2-fill:before{content:"\ec15"}.ri-server-line:before{content:"\f0e0"}.ri-server-fill:before{content:"\f0df"}.ri-hard-drive-fill:before{content:"\edfa"}.ri-hard-drive-line:before{content:"\edfb"}.ri-qr-scan-2-line:before{content:"\f03f"}.ri-qr-scan-line:before{content:"\f041"}.ri-qr-code-line:before{content:"\f03d"}.ri-barcode-line:before{content:"\eaa2"}.ri-shut-down-line:before{content:"\f126"}.ri-fingerprint-line:before{content:"\ed31"}.ri-bluetooth-line:before{content:"\eacc"}.ri-wifi-line:before{content:"\f2c0"}.ri-wifi-off-line:before{content:"\f2c2"}.ri-rss-line:before{content:"\f09f"}.ri-rss-fill:before{content:"\f09e"}.ri-gps-line:before{content:"\eddb"}.ri-gps-fill:before{content:"\edda"}.ri-dashboard-3-line:before{content:"\ec12"}.ri-dashboard-3-fill:before{content:"\ec11"}.ri-file-2-line:before{content:"\ecc3"}.ri-file-2-fill:before{content:"\ecc2"}.ri-sticky-note-add-line:before{content:"\f466"}.ri-sticky-note-add-fill:before{content:"\f465"}.ri-file-list-line:before{content:"\ecf1"}.ri-file-list-fill:before{content:"\ecf0"}.ri-file-text-line:before{content:"\ed0f"}.ri-file-text-fill:before{content:"\ed0e"}.ri-file-list-3-line:before{content:"\ecef"}.ri-file-list-3-fill:before{content:"\ecee"}.ri-file-copy-line:before{content:"\ecd5"}.ri-file-copy-fill:before{content:"\ecd4"}.ri-clipboard-line:before{content:"\eb91"}.ri-clipboard-fill:before{content:"\eb90"}.ri-survey-line:before{content:"\f1c7"}.ri-survey-fill:before{content:"\f1c6"}.ri-article-line:before{content:"\ea7e"}.ri-article-fill:before{content:"\ea7d"}.ri-book-marked-line:before{content:"\ead9"}.ri-book-marked-fill:before{content:"\ead8"}.ri-todo-line:before{content:"\f217"}.ri-todo-fill:before{content:"\f216"}.ri-file-marked-line:before{content:"\ecf5"}.ri-file-marked-fill:before{content:"\ecf4"}.ri-book-3-line:before{content:"\ead5"}.ri-book-3-fill:before{content:"\ead4"}.ri-book-open-line:before{content:"\eadb"}.ri-book-open-fill:before{content:"\eada"}.ri-folder-add-line:before{content:"\ed5a"}.ri-folder-add-fill:before{content:"\ed59"}.ri-folder-check-line:before{content:"\f43e"}.ri-folder-check-fill:before{content:"\f43d"}.ri-folder-open-line:before{content:"\ed70"}.ri-folder-open-fill:before{content:"\ed6f"}.ri-folder-line:before{content:"\ed6a"}.ri-folder-fill:before{content:"\ed61"}.ri-align-center:before{content:"\ea25"}.ri-list-check:before{content:"\eeba"}.ri-indent-decrease:before{content:"\ee54"}.ri-indent-increase:before{content:"\ee55"}.ri-list-indefinite:before{content:"\f399"}.ri-attachment-2:before{content:"\ea84"}.ri-link:before{content:"\eeb2"}.ri-hashtag:before{content:"\edfc"}.ri-sketching:before{content:"\f35f"}.ri-wallet-line:before{content:"\f2ae"}.ri-wallet-fill:before{content:"\f2ad"}.ri-bank-card-line:before{content:"\ea92"}.ri-bank-card-fill:before{content:"\ea91"}.ri-price-tag-3-line:before{content:"\f023"}.ri-price-tag-3-fill:before{content:"\f022"}.ri-coupon-line:before{content:"\ebee"}.ri-coupon-fill:before{content:"\ebed"}.ri-price-tag-line:before{content:"\f025"}.ri-price-tag-fill:before{content:"\f024"}.ri-shopping-bag-line:before{content:"\f118"}.ri-shopping-bag-fill:before{content:"\f117"}.ri-shopping-basket-line:before{content:"\f11c"}.ri-shopping-basket-fill:before{content:"\f11b"}.ri-shopping-cart-line:before{content:"\f120"}.ri-shopping-cart-fill:before{content:"\f11f"}.ri-trophy-line:before{content:"\f22f"}.ri-trophy-fill:before{content:"\f22e"}.ri-vip-diamond-fill:before{content:"\f28f"}.ri-vip-diamond-line:before{content:"\f290"}.ri-vip-crown-2-line:before{content:"\f28c"}.ri-vip-crown-2-fill:before{content:"\f28b"}.ri-vip-crown-line:before{content:"\f28e"}.ri-vip-crown-fill:before{content:"\f28d"}.ri-vip-line:before{content:"\f292"}.ri-vip-fill:before{content:"\f291"}.ri-exchange-line:before{content:"\ecad"}.ri-exchange-fill:before{content:"\ecaa"}.ri-exchange-dollar-line:before{content:"\eca9"}.ri-exchange-dollar-fill:before{content:"\eca8"}.ri-money-cny-circle-line:before{content:"\ef61"}.ri-money-cny-circle-fill:before{content:"\ef60"}.ri-copper-coin-line:before{content:"\ebdc"}.ri-copper-coin-fill:before{content:"\ebdb"}.ri-exchange-cny-line:before{content:"\eca7"}.ri-exchange-cny-fill:before{content:"\eca6"}.ri-money-euro-circle-line:before{content:"\ef69"}.ri-money-euro-circle-fill:before{content:"\ef68"}.ri-red-packet-line:before{content:"\f060"}.ri-red-packet-fill:before{content:"\f05f"}.ri-water-flash-line:before{content:"\f2b0"}.ri-water-flash-fill:before{content:"\f2af"}.ri-coin-line:before{content:"\ebb2"}.ri-coin-fill:before{content:"\ebb1"}.ri-stock-line:before{content:"\f19d"}.ri-stock-fill:before{content:"\f19c"}.ri-gift-line:before{content:"\edbb"}.ri-gift-fill:before{content:"\edba"}.ri-24-hours-line:before{content:"\ea02"}.ri-24-hours-fill:before{content:"\ea01"}.ri-shopping-bag-4-line:before{content:"\f511"}.ri-shopping-bag-4-fill:before{content:"\f510"}.ri-bowl-line:before{content:"\f42a"}.ri-bowl-fill:before{content:"\f429"}.ri-heart-3-line:before{content:"\ee0b"}.ri-heart-3-fill:before{content:"\ee0a"}.ri-dislike-line:before{content:"\ec3c"}.ri-dislike-fill:before{content:"\ec3b"}.ri-heart-pulse-line:before{content:"\ee11"}.ri-heart-pulse-fill:before{content:"\ee10"}.ri-alipay-line:before{content:"\ea2c"}.ri-android-line:before{content:"\ea36"}.ri-alibaba-cloud-line:before{content:"\f4b8"}.ri-app-store-line:before{content:"\ea3e"}.ri-apple-line:before{content:"\ea40"}.ri-baidu-line:before{content:"\ea8c"}.ri-bilibili-line:before{content:"\eac0"}.ri-chrome-line:before{content:"\eb8d"}.ri-dingding-line:before{content:"\ec32"}.ri-drive-line:before{content:"\ec66"}.ri-dribbble-line:before{content:"\ec64"}.ri-evernote-line:before{content:"\eca3"}.ri-facebook-circle-line:before{content:"\ecbb"}.ri-firebase-line:before{content:"\f4d4"}.ri-flutter-line:before{content:"\ed48"}.ri-github-line:before{content:"\edcb"}.ri-google-line:before{content:"\edd5"}.ri-google-play-line:before{content:"\edd7"}.ri-instagram-line:before{content:"\ee66"}.ri-invision-line:before{content:"\ee6a"}.ri-meta-line:before{content:"\f343"}.ri-qq-line:before{content:"\f03b"}.ri-snapchat-line:before{content:"\f15c"}.ri-tiktok-line:before{content:"\f373"}.ri-twitter-line:before{content:"\f23b"}.ri-wechat-line:before{content:"\f2b6"}.ri-wechat-2-line:before{content:"\f2b4"}.ri-weibo-line:before{content:"\f2ba"}.ri-wechat-pay-line:before{content:"\f2b8"}.ri-whatsapp-line:before{content:"\f2bc"}.ri-zhihu-line:before{content:"\f2d9"}.ri-youtube-line:before{content:"\f2d5"}.ri-map-pin-2-line:before{content:"\ef0a"}.ri-map-pin-2-fill:before{content:"\ef09"}.ri-map-pin-time-line:before{content:"\ef18"}.ri-map-pin-time-fill:before{content:"\ef17"}.ri-pushpin-line:before{content:"\f039"}.ri-pushpin-fill:before{content:"\f038"}.ri-map-pin-user-line:before{content:"\ef1a"}.ri-map-pin-user-fill:before{content:"\ef19"}.ri-rocket-line:before{content:"\f096"}.ri-rocket-fill:before{content:"\f095"}.ri-planet-line:before{content:"\f39f"}.ri-planet-fill:before{content:"\f39e"}.ri-parking-line:before{content:"\efd0"}.ri-parking-fill:before{content:"\efcf"}.ri-road-map-line:before{content:"\f08e"}.ri-road-map-fill:before{content:"\f08d"}.ri-earth-line:before{content:"\ec7a"}.ri-earth-fill:before{content:"\ec79"}.ri-car-line:before{content:"\eb39"}.ri-car-fill:before{content:"\eb38"}.ri-plane-line:before{content:"\f005"}.ri-image-line:before{content:"\ee4b"}.ri-image-fill:before{content:"\ee4a"}.ri-image-circle-line:before{content:"\f413"}.ri-image-circle-fill:before{content:"\f412"}.ri-landscape-line:before{content:"\ee7d"}.ri-landscape-fill:before{content:"\ee7c"}.ri-video-on-line:before{content:"\f51e"}.ri-video-on-fill:before{content:"\f51d"}.ri-video-line:before{content:"\f282"}.ri-video-fill:before{content:"\f281"}.ri-live-line:before{content:"\eec0"}.ri-live-fill:before{content:"\eebf"}.ri-camera-line:before{content:"\eb31"}.ri-camera-fill:before{content:"\eb2e"}.ri-camera-off-line:before{content:"\eb33"}.ri-camera-off-fill:before{content:"\eb32"}.ri-headphone-line:before{content:"\ee05"}.ri-headphone-fill:before{content:"\ee04"}.ri-mic-off-line:before{content:"\ef52"}.ri-mic-off-fill:before{content:"\ef51"}.ri-mic-2-fill:before{content:"\ef4d"}.ri-mic-2-line:before{content:"\ef4e"}.ri-volume-down-line:before{content:"\f29c"}.ri-volume-down-fill:before{content:"\f29b"}.ri-volume-mute-line:before{content:"\f29e"}.ri-volume-mute-fill:before{content:"\f29d"}.ri-volume-up-line:before{content:"\f2a2"}.ri-volume-up-fill:before{content:"\f2a1"}.ri-notification-line:before{content:"\ef9a"}.ri-notification-fill:before{content:"\ef99"}.ri-notification-off-line:before{content:"\ef9c"}.ri-notification-off-fill:before{content:"\ef9b"}.ri-play-circle-line:before{content:"\f009"}.ri-play-circle-fill:before{content:"\f008"}.ri-pause-circle-line:before{content:"\efd6"}.ri-pause-circle-fill:before{content:"\efd5"}.ri-stop-circle-line:before{content:"\f19f"}.ri-stop-circle-fill:before{content:"\f19e"}.ri-equalizer-line:before{content:"\ec9d"}.ri-equalizer-fill:before{content:"\ec9c"}.ri-menu-line:before{content:"\ef3e"}.ri-menu-fill:before{content:"\ef3b"}.ri-apps-line:before{content:"\ea44"}.ri-apps-fill:before{content:"\ea43"}.ri-more-line:before{content:"\ef79"}.ri-more-fill:before{content:"\ef78"}.ri-more-2-line:before{content:"\ef77"}.ri-more-2-fill:before{content:"\ef76"}.ri-star-line:before{content:"\f18b"}.ri-star-fill:before{content:"\f186"}.ri-settings-2-line:before{content:"\f0e4"}.ri-settings-2-fill:before{content:"\f0e3"}.ri-forbid-line:before{content:"\ed95"}.ri-forbid-fill:before{content:"\ed94"}.ri-information-line:before{content:"\ee59"}.ri-information-fill:before{content:"\ee58"}.ri-checkbox-blank-circle-line:before{content:"\eb7d"}.ri-checkbox-blank-circle-fill:before{content:"\eb7c"}.ri-checkbox-line:before{content:"\eb85"}.ri-checkbox-fill:before{content:"\eb82"}.ri-checkbox-indeterminate-line:before{content:"\eb84"}.ri-checkbox-indeterminate-fill:before{content:"\eb83"}.ri-add-box-line:before{content:"\ea0f"}.ri-add-box-fill:before{content:"\ea0e"}.ri-checkbox-circle-line:before{content:"\eb81"}.ri-checkbox-circle-fill:before{content:"\eb80"}.ri-indeterminate-circle-line:before{content:"\ee57"}.ri-indeterminate-circle-fill:before{content:"\ee56"}.ri-add-circle-fill:before{content:"\ea10"}.ri-add-circle-line:before{content:"\ea11"}.ri-close-circle-line:before{content:"\eb97"}.ri-close-circle-fill:before{content:"\eb96"}.ri-radio-button-line:before{content:"\f050"}.ri-radio-button-fill:before{content:"\f04f"}.ri-check-line:before{content:"\eb7b"}.ri-check-double-line:before{content:"\eb79"}.ri-close-line:before{content:"\eb99"}.ri-add-line:before{content:"\ea13"}.ri-checkbox-multiple-line:before{content:"\eb89"}.ri-checkbox-multiple-fill:before{content:"\eb88"}.ri-subtract-line:before{content:"\f1af"}.ri-equal-line:before{content:"\f31f"}.ri-upload-line:before{content:"\f250"}.ri-download-line:before{content:"\ec5a"}.ri-download-cloud-line:before{content:"\ec58"}.ri-upload-cloud-line:before{content:"\f24e"}.ri-login-box-line:before{content:"\eed4"}.ri-logout-circle-line:before{content:"\eedc"}.ri-logout-circle-r-line:before{content:"\eede"}.ri-shield-line:before{content:"\f108"}.ri-shield-fill:before{content:"\f103"}.ri-shield-cross-line:before{content:"\f102"}.ri-shield-cross-fill:before{content:"\f101"}.ri-shield-check-line:before{content:"\f100"}.ri-shield-check-fill:before{content:"\f0ff"}.ri-shield-user-fill:before{content:"\f10b"}.ri-shield-user-line:before{content:"\f10c"}.ri-delete-bin-2-line:before{content:"\ec1e"}.ri-delete-bin-2-fill:before{content:"\ec1d"}.ri-delete-bin-fill:before{content:"\ec29"}.ri-delete-bin-line:before{content:"\ec2a"}.ri-delete-back-2-line:before{content:"\ec1a"}.ri-delete-back-2-fill:before{content:"\ec19"}.ri-lock-password-line:before{content:"\eed0"}.ri-lock-password-fill:before{content:"\eecf"}.ri-lock-2-line:before{content:"\eecc"}.ri-lock-2-fill:before{content:"\eecb"}.ri-lock-unlock-line:before{content:"\eed2"}.ri-lock-unlock-fill:before{content:"\eed1"}.ri-eye-off-line:before{content:"\ecb7"}.ri-eye-line:before{content:"\ecb5"}.ri-eye-fill:before{content:"\ecb4"}.ri-eye-close-line:before{content:"\ecb3"}.ri-eye-close-fill:before{content:"\ecb2"}.ri-eye-off-fill:before{content:"\ecb6"}.ri-search-2-line:before{content:"\f0cd"}.ri-search-2-fill:before{content:"\f0cc"}.ri-zoom-out-line:before{content:"\f2dd"}.ri-zoom-in-line:before{content:"\f2db"}.ri-zoom-in-fill:before{content:"\f2da"}.ri-zoom-out-fill:before{content:"\f2dc"}.ri-share-line:before{content:"\f0fe"}.ri-share-fill:before{content:"\f0f7"}.ri-share-circle-line:before{content:"\f0f6"}.ri-share-circle-fill:before{content:"\f0f5"}.ri-alarm-line:before{content:"\ea1b"}.ri-alarm-fill:before{content:"\ea1a"}.ri-thumb-up-line:before{content:"\f207"}.ri-thumb-up-fill:before{content:"\f206"}.ri-thumb-down-line:before{content:"\f205"}.ri-thumb-down-fill:before{content:"\f204"}.ri-alarm-warning-line:before{content:"\ea1d"}.ri-alarm-warning-fill:before{content:"\ea1c"}.ri-filter-2-line:before{content:"\ed23"}.ri-filter-2-fill:before{content:"\ed22"}.ri-loader-line:before{content:"\eeca"}.ri-loader-fill:before{content:"\eec9"}.ri-loop-right-line:before{content:"\f33f"}.ri-loop-right-fill:before{content:"\f33e"}.ri-loader-4-line:before{content:"\eec6"}.ri-loader-4-fill:before{content:"\eec5"}.ri-reset-right-line:before{content:"\f544"}.ri-user-line:before{content:"\f264"}.ri-user-fill:before{content:"\f25f"}.ri-account-box-line:before{content:"\ea07"}.ri-account-box-fill:before{content:"\ea06"}.ri-user-add-line:before{content:"\f25e"}.ri-user-add-fill:before{content:"\f25d"}.ri-user-minus-fill:before{content:"\f54b"}.ri-user-follow-fill:before{content:"\f260"}.ri-user-follow-line:before{content:"\f261"}.ri-user-minus-line:before{content:"\f54c"}.ri-user-unfollow-line:before{content:"\f278"}.ri-user-unfollow-fill:before{content:"\f277"}.ri-user-shared-fill:before{content:"\f271"}.ri-user-shared-line:before{content:"\f272"}.ri-account-pin-circle-line:before{content:"\ea0d"}.ri-account-pin-circle-fill:before{content:"\ea0c"}.ri-group-line:before{content:"\ede3"}.ri-group-fill:before{content:"\ede2"}.ri-emotion-happy-line:before{content:"\ec8d"}.ri-emotion-happy-fill:before{content:"\ec8c"}.ri-emotion-normal-fill:before{content:"\ec91"}.ri-emotion-normal-line:before{content:"\ec92"}.ri-emotion-unhappy-line:before{content:"\ec96"}.ri-emotion-unhappy-fill:before{content:"\ec95"}.ri-emotion-sad-line:before{content:"\ec94"}.ri-emotion-sad-fill:before{content:"\ec93"}.ri-women-line:before{content:"\f2ce"}.ri-men-line:before{content:"\ef2e"}.ri-star-smile-line:before{content:"\f18f"}.ri-star-smile-fill:before{content:"\f18e"}.ri-sun-line:before{content:"\f1bf"}.ri-sun-fill:before{content:"\f1bc"}.ri-moon-fill:before{content:"\ef72"}.ri-moon-line:before{content:"\ef75"}.ri-lightbulb-line:before{content:"\eea9"}.ri-key-2-line:before{content:"\ee6f"}.ri-key-line:before{content:"\ee71"}.ri-outlet-line:before{content:"\efbc"}.ri-lightbulb-flash-line:before{content:"\eea8"}.ri-t-shirt-line:before{content:"\f1d9"}.ri-t-shirt-fill:before{content:"\f1d8"}.ri-seedling-fill:before{content:"\f0d4"}.ri-seedling-line:before{content:"\f0d5"}.ri-leaf-line:before{content:"\eea3"}.ri-leaf-fill:before{content:"\eea2"}.ri-character-recognition-line:before{content:"\eb47"}.ri-character-recognition-fill:before{content:"\eb46"}.ri-recycle-line:before{content:"\f05e"}.ri-recycle-fill:before{content:"\f05d"}.ri-door-line:before{content:"\ec46"}.ri-door-fill:before{content:"\ec45"}.ri-graduation-cap-line:before{content:"\f333"}.ri-graduation-cap-fill:before{content:"\f332"}.ri-sofa-line:before{content:"\f41e"}.ri-sofa-fill:before{content:"\f41d"}.ri-error-warning-line:before{content:"\eca1"}.ri-error-warning-fill:before{content:"\eca0"}.ri-question-line:before{content:"\f045"}.ri-question-fill:before{content:"\f044"}.ri-spam-3-line:before{content:"\f16b"}.ri-spam-3-fill:before{content:"\f16a"}.ri-prohibited-line:before{content:"\f3a1"}.ri-prohibited-fill:before{content:"\f3a0"}.ri-information-off-line:before{content:"\f4eb"}.ri-information-off-fill:before{content:"\f4ea"}.ri-star-half-line:before{content:"\f188"}.ri-star-half-fill:before{content:"\f187"}.ri-settings-line:before{content:"\f0ee"}.ri-settings-fill:before{content:"\f0ed"}.ri-checkbox-multiple-blank-line:before{content:"\eb87"}.ri-alert-line:before{content:"\ea21"}.ri-alert-fill:before{content:"\ea20"} \ No newline at end of file diff --git a/src/uni_modules/tm-ui/css/tmui.css b/src/uni_modules/tm-ui/css/tmui.css new file mode 100644 index 0000000..2781972 --- /dev/null +++ b/src/uni_modules/tm-ui/css/tmui.css @@ -0,0 +1,8401 @@ +.uni-input-input[type=password]::-ms-reveal { + display: none; +} + +.tableHeader .uni-scroll-view::-webkit-scrollbar, +.tableHeader .uni-scroll-view::-webkit-scrollbar { + display: none; +} + +.safe-height { + height: var(--window-bottom); +} + +.safe-top { + height: var(--window-top); +} + +.safe-statusbar { + height: var(--status-bar-height); +} + +.blur { + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + background-color: rgba(0, 0, 0, 0.3); +} + +.pointer { + cursor: pointer; +} + +.pointer:hover { + opacity: 0.7; +} + +.overflow { + overflow: hidden; +} + +.overflow-x { + overflow-x: hidden; + overflow-y: auto; +} + +.overflow-y { + overflow-x: auto; + overflow-y: hidden; +} + +.relative { + position: relative !important; +} + +.absolute { + position: absolute !important; +} + +.fixed { + position: fixed !important; +} + +.sticky { + position: sticky !important; +} + +.fulled-height { + display: flex; + align-items: stretch; +} + +.clear { + clear: both; +} + +.fulled { + width: 100%; + display: block; +} + +.fulled-height { + height: 100%; + display: block; +} + +.gray-100 { + filter: grayscale(100%); +} + +.gray { + filter: grayscale(25%); +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block; +} + +.vertical-align-top { + vertical-align: top; +} + +.vertical-align-middle { + vertical-align: middle; +} + +.vertical-align-bottom { + vertical-align: bottom; +} + +.wrap { + white-space: pre-wrap; + word-break: break-all; +} + +.nowrap { + white-space: nowrap; +} + +.vertical-align-top { + vertical-align: top; +} + +.vertical-align-middle { + vertical-align: middle; +} + +.vertical-align-bottom { + vertical-align: bottom; +} + +.zIndex-0 { + z-index: 0; +} + +.zIndex-n0 { + z-index: 0; +} + +.zIndex-1 { + z-index: 1; +} + +.zIndex-n1 { + z-index: 4; +} + +.zIndex-2 { + z-index: 2; +} + +.zIndex-n2 { + z-index: 8; +} + +.zIndex-3 { + z-index: 3; +} + +.zIndex-n3 { + z-index: 12; +} + +.zIndex-4 { + z-index: 4; +} + +.zIndex-n4 { + z-index: 16; +} + +.zIndex-5 { + z-index: 5; +} + +.zIndex-n5 { + z-index: 20; +} + +.zIndex-6 { + z-index: 6; +} + +.zIndex-n6 { + z-index: 24; +} + +.zIndex-7 { + z-index: 7; +} + +.zIndex-n7 { + z-index: 28; +} + +.zIndex-8 { + z-index: 8; +} + +.zIndex-n8 { + z-index: 32; +} + +.zIndex-9 { + z-index: 9; +} + +.zIndex-n9 { + z-index: 36; +} + +.zIndex-10 { + z-index: 10; +} + +.zIndex-n10 { + z-index: 40; +} + +.zIndex-11 { + z-index: 11; +} + +.zIndex-n11 { + z-index: 44; +} + +.zIndex-12 { + z-index: 12; +} + +.zIndex-n12 { + z-index: 48; +} + +.zIndex-13 { + z-index: 13; +} + +.zIndex-n13 { + z-index: 52; +} + +.zIndex-14 { + z-index: 14; +} + +.zIndex-n14 { + z-index: 56; +} + +.zIndex-15 { + z-index: 15; +} + +.zIndex-n15 { + z-index: 60; +} + +.zIndex-16 { + z-index: 16; +} + +.zIndex-n16 { + z-index: 64; +} + +.zIndex-17 { + z-index: 17; +} + +.zIndex-n17 { + z-index: 68; +} + +.zIndex-18 { + z-index: 18; +} + +.zIndex-n18 { + z-index: 72; +} + +.zIndex-19 { + z-index: 19; +} + +.zIndex-n19 { + z-index: 76; +} + +.zIndex-20 { + z-index: 20; +} + +.zIndex-n20 { + z-index: 80; +} + +.zIndex-21 { + z-index: 21; +} + +.zIndex-n21 { + z-index: 84; +} + +.zIndex-22 { + z-index: 22; +} + +.zIndex-n22 { + z-index: 88; +} + +.zIndex-23 { + z-index: 23; +} + +.zIndex-n23 { + z-index: 92; +} + +.zIndex-24 { + z-index: 24; +} + +.zIndex-n24 { + z-index: 96; +} + +.zIndex-25 { + z-index: 25; +} + +.zIndex-n25 { + z-index: 100; +} + +.zIndex-26 { + z-index: 26; +} + +.zIndex-n26 { + z-index: 104; +} + +.text-overflow { + width: 100%; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.text-overflow-1 { + width: 100%; + display: -webkit-box; + white-space: inherit; + overflow: hidden; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + text-overflow: ellipsis; +} + +.text-overflow-2 { + width: 100%; + display: -webkit-box; + white-space: inherit; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + text-overflow: ellipsis; +} + +.text-overflow-3 { + width: 100%; + display: -webkit-box; + white-space: inherit; + overflow: hidden; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + text-overflow: ellipsis; +} + +.text-overflow-4 { + width: 100%; + display: -webkit-box; + white-space: inherit; + overflow: hidden; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + text-overflow: ellipsis; +} + +.text-delete { + text-decoration: line-through; +} + +.text-underline { + text-decoration: underline; +} + +.text-size-xxs { + font-size: 20rpx; +} + +.text-size-xs { + font-size: 22rpx; +} + +.text-size-s { + font-size: 24rpx; +} + +.text-size-m { + font-size: 28rpx; +} + +.text-size-n { + font-size: 30rpx; +} + +.text-size-g { + font-size: 34rpx; +} + +.text-size-lg { + font-size: 36rpx; +} + +.text-size-xl { + font-size: 40rpx; +} + +.text-weight-s { + font-weight: 100; +} + +.text-weight-n { + font-weight: 400; +} + +.text-weight-b { + font-weight: 700; +} + +.text-align-left { + text-align: left; +} + +.text-align-right { + text-align: right; +} + +.text-align-center { + text-align: center; +} + +.round-tl-0 { + border-top-left-radius: 0rpx !important; +} + +.round-tl-1 { + border-top-left-radius: 4rpx !important; +} + +.round-tl-2 { + border-top-left-radius: 8rpx !important; +} + +.round-tl-3 { + border-top-left-radius: 12rpx !important; +} + +.round-tl-4 { + border-top-left-radius: 16rpx !important; +} + +.round-tl-5 { + border-top-left-radius: 20rpx !important; +} + +.round-tl-6 { + border-top-left-radius: 24rpx !important; +} + +.round-tl-7 { + border-top-left-radius: 28rpx !important; +} + +.round-tl-8 { + border-top-left-radius: 32rpx !important; +} + +.round-tl-9 { + border-top-left-radius: 36rpx !important; +} + +.round-tl-10 { + border-top-left-radius: 40rpx !important; +} + +.round-tl-11 { + border-top-left-radius: 44rpx !important; +} + +.round-tl-12 { + border-top-left-radius: 48rpx !important; +} + +.round-tl-13 { + border-top-left-radius: 52rpx !important; +} + +.round-tl-14 { + border-top-left-radius: 56rpx !important; +} + +.round-tl-15 { + border-top-left-radius: 60rpx !important; +} + +.round-tl-16 { + border-top-left-radius: 64rpx !important; +} + +.round-tl-17 { + border-top-left-radius: 68rpx !important; +} + +.round-tl-18 { + border-top-left-radius: 72rpx !important; +} + +.round-tl-19 { + border-top-left-radius: 76rpx !important; +} + +.round-tl-20 { + border-top-left-radius: 80rpx !important; +} + +.round-tl-21 { + border-top-left-radius: 84rpx !important; +} + +.round-tl-22 { + border-top-left-radius: 88rpx !important; +} + +.round-tl-23 { + border-top-left-radius: 92rpx !important; +} + +.round-tl-24 { + border-top-left-radius: 96rpx !important; +} + +.round-tl-25 { + border-top-left-radius: 100rpx !important; +} + +.round-tr-0 { + border-top-right-radius: 0rpx !important; +} + +.round-tr-1 { + border-top-right-radius: 4rpx !important; +} + +.round-tr-2 { + border-top-right-radius: 8rpx !important; +} + +.round-tr-3 { + border-top-right-radius: 12rpx !important; +} + +.round-tr-4 { + border-top-right-radius: 16rpx !important; +} + +.round-tr-5 { + border-top-right-radius: 20rpx !important; +} + +.round-tr-6 { + border-top-right-radius: 24rpx !important; +} + +.round-tr-7 { + border-top-right-radius: 28rpx !important; +} + +.round-tr-8 { + border-top-right-radius: 32rpx !important; +} + +.round-tr-9 { + border-top-right-radius: 36rpx !important; +} + +.round-tr-10 { + border-top-right-radius: 40rpx !important; +} + +.round-tr-11 { + border-top-right-radius: 44rpx !important; +} + +.round-tr-12 { + border-top-right-radius: 48rpx !important; +} + +.round-tr-13 { + border-top-right-radius: 52rpx !important; +} + +.round-tr-14 { + border-top-right-radius: 56rpx !important; +} + +.round-tr-15 { + border-top-right-radius: 60rpx !important; +} + +.round-tr-16 { + border-top-right-radius: 64rpx !important; +} + +.round-tr-17 { + border-top-right-radius: 68rpx !important; +} + +.round-tr-18 { + border-top-right-radius: 72rpx !important; +} + +.round-tr-19 { + border-top-right-radius: 76rpx !important; +} + +.round-tr-20 { + border-top-right-radius: 80rpx !important; +} + +.round-tr-21 { + border-top-right-radius: 84rpx !important; +} + +.round-tr-22 { + border-top-right-radius: 88rpx !important; +} + +.round-tr-23 { + border-top-right-radius: 92rpx !important; +} + +.round-tr-24 { + border-top-right-radius: 96rpx !important; +} + +.round-tr-25 { + border-top-right-radius: 100rpx !important; +} + +.round-bl-0 { + border-bottom-left-radius: 0rpx !important; +} + +.round-bl-1 { + border-bottom-left-radius: 4rpx !important; +} + +.round-bl-2 { + border-bottom-left-radius: 8rpx !important; +} + +.round-bl-3 { + border-bottom-left-radius: 12rpx !important; +} + +.round-bl-4 { + border-bottom-left-radius: 16rpx !important; +} + +.round-bl-5 { + border-bottom-left-radius: 20rpx !important; +} + +.round-bl-6 { + border-bottom-left-radius: 24rpx !important; +} + +.round-bl-7 { + border-bottom-left-radius: 28rpx !important; +} + +.round-bl-8 { + border-bottom-left-radius: 32rpx !important; +} + +.round-bl-9 { + border-bottom-left-radius: 36rpx !important; +} + +.round-bl-10 { + border-bottom-left-radius: 40rpx !important; +} + +.round-bl-11 { + border-bottom-left-radius: 44rpx !important; +} + +.round-bl-12 { + border-bottom-left-radius: 48rpx !important; +} + +.round-bl-13 { + border-bottom-left-radius: 52rpx !important; +} + +.round-bl-14 { + border-bottom-left-radius: 56rpx !important; +} + +.round-bl-15 { + border-bottom-left-radius: 60rpx !important; +} + +.round-bl-16 { + border-bottom-left-radius: 64rpx !important; +} + +.round-bl-17 { + border-bottom-left-radius: 68rpx !important; +} + +.round-bl-18 { + border-bottom-left-radius: 72rpx !important; +} + +.round-bl-19 { + border-bottom-left-radius: 76rpx !important; +} + +.round-bl-20 { + border-bottom-left-radius: 80rpx !important; +} + +.round-bl-21 { + border-bottom-left-radius: 84rpx !important; +} + +.round-bl-22 { + border-bottom-left-radius: 88rpx !important; +} + +.round-bl-23 { + border-bottom-left-radius: 92rpx !important; +} + +.round-bl-24 { + border-bottom-left-radius: 96rpx !important; +} + +.round-bl-25 { + border-bottom-left-radius: 100rpx !important; +} + +.round-br-0 { + border-bottom-right-radius: 0rpx !important; +} + +.round-br-1 { + border-bottom-right-radius: 4rpx !important; +} + +.round-br-2 { + border-bottom-right-radius: 8rpx !important; +} + +.round-br-3 { + border-bottom-right-radius: 12rpx !important; +} + +.round-br-4 { + border-bottom-right-radius: 16rpx !important; +} + +.round-br-5 { + border-bottom-right-radius: 20rpx !important; +} + +.round-br-6 { + border-bottom-right-radius: 24rpx !important; +} + +.round-br-7 { + border-bottom-right-radius: 28rpx !important; +} + +.round-br-8 { + border-bottom-right-radius: 32rpx !important; +} + +.round-br-9 { + border-bottom-right-radius: 36rpx !important; +} + +.round-br-10 { + border-bottom-right-radius: 40rpx !important; +} + +.round-br-11 { + border-bottom-right-radius: 44rpx !important; +} + +.round-br-12 { + border-bottom-right-radius: 48rpx !important; +} + +.round-br-13 { + border-bottom-right-radius: 52rpx !important; +} + +.round-br-14 { + border-bottom-right-radius: 56rpx !important; +} + +.round-br-15 { + border-bottom-right-radius: 60rpx !important; +} + +.round-br-16 { + border-bottom-right-radius: 64rpx !important; +} + +.round-br-17 { + border-bottom-right-radius: 68rpx !important; +} + +.round-br-18 { + border-bottom-right-radius: 72rpx !important; +} + +.round-br-19 { + border-bottom-right-radius: 76rpx !important; +} + +.round-br-20 { + border-bottom-right-radius: 80rpx !important; +} + +.round-br-21 { + border-bottom-right-radius: 84rpx !important; +} + +.round-br-22 { + border-bottom-right-radius: 88rpx !important; +} + +.round-br-23 { + border-bottom-right-radius: 92rpx !important; +} + +.round-br-24 { + border-bottom-right-radius: 96rpx !important; +} + +.round-br-25 { + border-bottom-right-radius: 100rpx !important; +} + +.round-a-0 { + border-radius: 0rpx !important; +} + +.round-a-1 { + border-radius: 4rpx !important; +} + +.round-a-2 { + border-radius: 8rpx !important; +} + +.round-a-3 { + border-radius: 12rpx !important; +} + +.round-a-4 { + border-radius: 16rpx !important; +} + +.round-a-5 { + border-radius: 20rpx !important; +} + +.round-a-6 { + border-radius: 24rpx !important; +} + +.round-a-7 { + border-radius: 28rpx !important; +} + +.round-a-8 { + border-radius: 32rpx !important; +} + +.round-a-9 { + border-radius: 36rpx !important; +} + +.round-a-10 { + border-radius: 40rpx !important; +} + +.round-a-11 { + border-radius: 44rpx !important; +} + +.round-a-12 { + border-radius: 48rpx !important; +} + +.round-a-13 { + border-radius: 52rpx !important; +} + +.round-a-14 { + border-radius: 56rpx !important; +} + +.round-a-15 { + border-radius: 60rpx !important; +} + +.round-a-16 { + border-radius: 64rpx !important; +} + +.round-a-17 { + border-radius: 68rpx !important; +} + +.round-a-18 { + border-radius: 72rpx !important; +} + +.round-a-19 { + border-radius: 76rpx !important; +} + +.round-a-20 { + border-radius: 80rpx !important; +} + +.round-a-21 { + border-radius: 84rpx !important; +} + +.round-a-22 { + border-radius: 88rpx !important; +} + +.round-a-23 { + border-radius: 92rpx !important; +} + +.round-a-24 { + border-radius: 96rpx !important; +} + +.round-a-25 { + border-radius: 100rpx !important; +} + +.round-t-0 { + border-top-left-radius: 0rpx !important; + border-top-right-radius: 0rpx !important; +} + +.round-t-1 { + border-top-left-radius: 4rpx !important; + border-top-right-radius: 4rpx !important; +} + +.round-t-2 { + border-top-left-radius: 8rpx !important; + border-top-right-radius: 8rpx !important; +} + +.round-t-3 { + border-top-left-radius: 12rpx !important; + border-top-right-radius: 12rpx !important; +} + +.round-t-4 { + border-top-left-radius: 16rpx !important; + border-top-right-radius: 16rpx !important; +} + +.round-t-5 { + border-top-left-radius: 20rpx !important; + border-top-right-radius: 20rpx !important; +} + +.round-t-6 { + border-top-left-radius: 24rpx !important; + border-top-right-radius: 24rpx !important; +} + +.round-t-7 { + border-top-left-radius: 28rpx !important; + border-top-right-radius: 28rpx !important; +} + +.round-t-8 { + border-top-left-radius: 32rpx !important; + border-top-right-radius: 32rpx !important; +} + +.round-t-9 { + border-top-left-radius: 36rpx !important; + border-top-right-radius: 36rpx !important; +} + +.round-t-10 { + border-top-left-radius: 40rpx !important; + border-top-right-radius: 40rpx !important; +} + +.round-t-11 { + border-top-left-radius: 44rpx !important; + border-top-right-radius: 44rpx !important; +} + +.round-t-12 { + border-top-left-radius: 48rpx !important; + border-top-right-radius: 48rpx !important; +} + +.round-t-13 { + border-top-left-radius: 52rpx !important; + border-top-right-radius: 52rpx !important; +} + +.round-t-14 { + border-top-left-radius: 56rpx !important; + border-top-right-radius: 56rpx !important; +} + +.round-t-15 { + border-top-left-radius: 60rpx !important; + border-top-right-radius: 60rpx !important; +} + +.round-t-16 { + border-top-left-radius: 64rpx !important; + border-top-right-radius: 64rpx !important; +} + +.round-t-17 { + border-top-left-radius: 68rpx !important; + border-top-right-radius: 68rpx !important; +} + +.round-t-18 { + border-top-left-radius: 72rpx !important; + border-top-right-radius: 72rpx !important; +} + +.round-t-19 { + border-top-left-radius: 76rpx !important; + border-top-right-radius: 76rpx !important; +} + +.round-t-20 { + border-top-left-radius: 80rpx !important; + border-top-right-radius: 80rpx !important; +} + +.round-t-21 { + border-top-left-radius: 84rpx !important; + border-top-right-radius: 84rpx !important; +} + +.round-t-22 { + border-top-left-radius: 88rpx !important; + border-top-right-radius: 88rpx !important; +} + +.round-t-23 { + border-top-left-radius: 92rpx !important; + border-top-right-radius: 92rpx !important; +} + +.round-t-24 { + border-top-left-radius: 96rpx !important; + border-top-right-radius: 96rpx !important; +} + +.round-t-25 { + border-top-left-radius: 100rpx !important; + border-top-right-radius: 100rpx !important; +} + +.round-b-0 { + border-bottom-left-radius: 0rpx !important; + border-bottom-right-radius: 0rpx !important; +} + +.round-b-1 { + border-bottom-left-radius: 4rpx !important; + border-bottom-right-radius: 4rpx !important; +} + +.round-b-2 { + border-bottom-left-radius: 8rpx !important; + border-bottom-right-radius: 8rpx !important; +} + +.round-b-3 { + border-bottom-left-radius: 12rpx !important; + border-bottom-right-radius: 12rpx !important; +} + +.round-b-4 { + border-bottom-left-radius: 16rpx !important; + border-bottom-right-radius: 16rpx !important; +} + +.round-b-5 { + border-bottom-left-radius: 20rpx !important; + border-bottom-right-radius: 20rpx !important; +} + +.round-b-6 { + border-bottom-left-radius: 24rpx !important; + border-bottom-right-radius: 24rpx !important; +} + +.round-b-7 { + border-bottom-left-radius: 28rpx !important; + border-bottom-right-radius: 28rpx !important; +} + +.round-b-8 { + border-bottom-left-radius: 32rpx !important; + border-bottom-right-radius: 32rpx !important; +} + +.round-b-9 { + border-bottom-left-radius: 36rpx !important; + border-bottom-right-radius: 36rpx !important; +} + +.round-b-10 { + border-bottom-left-radius: 40rpx !important; + border-bottom-right-radius: 40rpx !important; +} + +.round-b-11 { + border-bottom-left-radius: 44rpx !important; + border-bottom-right-radius: 44rpx !important; +} + +.round-b-12 { + border-bottom-left-radius: 48rpx !important; + border-bottom-right-radius: 48rpx !important; +} + +.round-b-13 { + border-bottom-left-radius: 52rpx !important; + border-bottom-right-radius: 52rpx !important; +} + +.round-b-14 { + border-bottom-left-radius: 56rpx !important; + border-bottom-right-radius: 56rpx !important; +} + +.round-b-15 { + border-bottom-left-radius: 60rpx !important; + border-bottom-right-radius: 60rpx !important; +} + +.round-b-16 { + border-bottom-left-radius: 64rpx !important; + border-bottom-right-radius: 64rpx !important; +} + +.round-b-17 { + border-bottom-left-radius: 68rpx !important; + border-bottom-right-radius: 68rpx !important; +} + +.round-b-18 { + border-bottom-left-radius: 72rpx !important; + border-bottom-right-radius: 72rpx !important; +} + +.round-b-19 { + border-bottom-left-radius: 76rpx !important; + border-bottom-right-radius: 76rpx !important; +} + +.round-b-20 { + border-bottom-left-radius: 80rpx !important; + border-bottom-right-radius: 80rpx !important; +} + +.round-b-21 { + border-bottom-left-radius: 84rpx !important; + border-bottom-right-radius: 84rpx !important; +} + +.round-b-22 { + border-bottom-left-radius: 88rpx !important; + border-bottom-right-radius: 88rpx !important; +} + +.round-b-23 { + border-bottom-left-radius: 92rpx !important; + border-bottom-right-radius: 92rpx !important; +} + +.round-b-24 { + border-bottom-left-radius: 96rpx !important; + border-bottom-right-radius: 96rpx !important; +} + +.round-b-25 { + border-bottom-left-radius: 100rpx !important; + border-bottom-right-radius: 100rpx !important; +} + +.round-l-0 { + border-top-left-radius: 0rpx !important; + border-bottom-left-radius: 0rpx !important; +} + +.round-l-1 { + border-top-left-radius: 4rpx !important; + border-bottom-left-radius: 4rpx !important; +} + +.round-l-2 { + border-top-left-radius: 8rpx !important; + border-bottom-left-radius: 8rpx !important; +} + +.round-l-3 { + border-top-left-radius: 12rpx !important; + border-bottom-left-radius: 12rpx !important; +} + +.round-l-4 { + border-top-left-radius: 16rpx !important; + border-bottom-left-radius: 16rpx !important; +} + +.round-l-5 { + border-top-left-radius: 20rpx !important; + border-bottom-left-radius: 20rpx !important; +} + +.round-l-6 { + border-top-left-radius: 24rpx !important; + border-bottom-left-radius: 24rpx !important; +} + +.round-l-7 { + border-top-left-radius: 28rpx !important; + border-bottom-left-radius: 28rpx !important; +} + +.round-l-8 { + border-top-left-radius: 32rpx !important; + border-bottom-left-radius: 32rpx !important; +} + +.round-l-9 { + border-top-left-radius: 36rpx !important; + border-bottom-left-radius: 36rpx !important; +} + +.round-l-10 { + border-top-left-radius: 40rpx !important; + border-bottom-left-radius: 40rpx !important; +} + +.round-l-11 { + border-top-left-radius: 44rpx !important; + border-bottom-left-radius: 44rpx !important; +} + +.round-l-12 { + border-top-left-radius: 48rpx !important; + border-bottom-left-radius: 48rpx !important; +} + +.round-l-13 { + border-top-left-radius: 52rpx !important; + border-bottom-left-radius: 52rpx !important; +} + +.round-l-14 { + border-top-left-radius: 56rpx !important; + border-bottom-left-radius: 56rpx !important; +} + +.round-l-15 { + border-top-left-radius: 60rpx !important; + border-bottom-left-radius: 60rpx !important; +} + +.round-l-16 { + border-top-left-radius: 64rpx !important; + border-bottom-left-radius: 64rpx !important; +} + +.round-l-17 { + border-top-left-radius: 68rpx !important; + border-bottom-left-radius: 68rpx !important; +} + +.round-l-18 { + border-top-left-radius: 72rpx !important; + border-bottom-left-radius: 72rpx !important; +} + +.round-l-19 { + border-top-left-radius: 76rpx !important; + border-bottom-left-radius: 76rpx !important; +} + +.round-l-20 { + border-top-left-radius: 80rpx !important; + border-bottom-left-radius: 80rpx !important; +} + +.round-l-21 { + border-top-left-radius: 84rpx !important; + border-bottom-left-radius: 84rpx !important; +} + +.round-l-22 { + border-top-left-radius: 88rpx !important; + border-bottom-left-radius: 88rpx !important; +} + +.round-l-23 { + border-top-left-radius: 92rpx !important; + border-bottom-left-radius: 92rpx !important; +} + +.round-l-24 { + border-top-left-radius: 96rpx !important; + border-bottom-left-radius: 96rpx !important; +} + +.round-l-25 { + border-top-left-radius: 100rpx !important; + border-bottom-left-radius: 100rpx !important; +} + +.round-r-0 { + border-top-right-radius: 0rpx !important; + border-bottom-right-radius: 0rpx !important; +} + +.round-r-1 { + border-top-right-radius: 4rpx !important; + border-bottom-right-radius: 4rpx !important; +} + +.round-r-2 { + border-top-right-radius: 8rpx !important; + border-bottom-right-radius: 8rpx !important; +} + +.round-r-3 { + border-top-right-radius: 12rpx !important; + border-bottom-right-radius: 12rpx !important; +} + +.round-r-4 { + border-top-right-radius: 16rpx !important; + border-bottom-right-radius: 16rpx !important; +} + +.round-r-5 { + border-top-right-radius: 20rpx !important; + border-bottom-right-radius: 20rpx !important; +} + +.round-r-6 { + border-top-right-radius: 24rpx !important; + border-bottom-right-radius: 24rpx !important; +} + +.round-r-7 { + border-top-right-radius: 28rpx !important; + border-bottom-right-radius: 28rpx !important; +} + +.round-r-8 { + border-top-right-radius: 32rpx !important; + border-bottom-right-radius: 32rpx !important; +} + +.round-r-9 { + border-top-right-radius: 36rpx !important; + border-bottom-right-radius: 36rpx !important; +} + +.round-r-10 { + border-top-right-radius: 40rpx !important; + border-bottom-right-radius: 40rpx !important; +} + +.round-r-11 { + border-top-right-radius: 44rpx !important; + border-bottom-right-radius: 44rpx !important; +} + +.round-r-12 { + border-top-right-radius: 48rpx !important; + border-bottom-right-radius: 48rpx !important; +} + +.round-r-13 { + border-top-right-radius: 52rpx !important; + border-bottom-right-radius: 52rpx !important; +} + +.round-r-14 { + border-top-right-radius: 56rpx !important; + border-bottom-right-radius: 56rpx !important; +} + +.round-r-15 { + border-top-right-radius: 60rpx !important; + border-bottom-right-radius: 60rpx !important; +} + +.round-r-16 { + border-top-right-radius: 64rpx !important; + border-bottom-right-radius: 64rpx !important; +} + +.round-r-17 { + border-top-right-radius: 68rpx !important; + border-bottom-right-radius: 68rpx !important; +} + +.round-r-18 { + border-top-right-radius: 72rpx !important; + border-bottom-right-radius: 72rpx !important; +} + +.round-r-19 { + border-top-right-radius: 76rpx !important; + border-bottom-right-radius: 76rpx !important; +} + +.round-r-20 { + border-top-right-radius: 80rpx !important; + border-bottom-right-radius: 80rpx !important; +} + +.round-r-21 { + border-top-right-radius: 84rpx !important; + border-bottom-right-radius: 84rpx !important; +} + +.round-r-22 { + border-top-right-radius: 88rpx !important; + border-bottom-right-radius: 88rpx !important; +} + +.round-r-23 { + border-top-right-radius: 92rpx !important; + border-bottom-right-radius: 92rpx !important; +} + +.round-r-24 { + border-top-right-radius: 96rpx !important; + border-bottom-right-radius: 96rpx !important; +} + +.round-r-25 { + border-top-right-radius: 100rpx !important; + border-bottom-right-radius: 100rpx !important; +} + +.round-0 { + border-radius: 0rpx; +} + +.round-1 { + border-radius: 4rpx; +} + +.round-2 { + border-radius: 8rpx; +} + +.round-3 { + border-radius: 12rpx; +} + +.round-4 { + border-radius: 16rpx; +} + +.round-5 { + border-radius: 20rpx; +} + +.round-6 { + border-radius: 24rpx; +} + +.round-7 { + border-radius: 28rpx; +} + +.round-8 { + border-radius: 32rpx; +} + +.round-9 { + border-radius: 36rpx; +} + +.round-10 { + border-radius: 40rpx; +} + +.round-11 { + border-radius: 44rpx; +} + +.round-12 { + border-radius: 48rpx; +} + +.round-13 { + border-radius: 52rpx; +} + +.round-14 { + border-radius: 56rpx; +} + +.round-15 { + border-radius: 60rpx; +} + +.round-16 { + border-radius: 64rpx; +} + +.round-17 { + border-radius: 68rpx; +} + +.round-18 { + border-radius: 72rpx; +} + +.round-19 { + border-radius: 76rpx; +} + +.round-20 { + border-radius: 80rpx; +} + +.round-21 { + border-radius: 84rpx; +} + +.round-22 { + border-radius: 88rpx; +} + +.round-23 { + border-radius: 92rpx; +} + +.round-24 { + border-radius: 96rpx; +} + +.round-25 { + border-radius: 100rpx; +} + +.round-26 { + border-radius: 104rpx; +} + +.rounded { + border-radius: 50% !important; +} + +.opacity-0 { + opacity: 0; +} + +.opacity-1 { + opacity: 0.1; +} + +.opacity-2 { + opacity: 0.2; +} + +.opacity-3 { + opacity: 0.3; +} + +.opacity-4 { + opacity: 0.4; +} + +.opacity-5 { + opacity: 0.5; +} + +.opacity-6 { + opacity: 0.6; +} + +.opacity-7 { + opacity: 0.7; +} + +.opacity-8 { + opacity: 0.8; +} + +.opacity-9 { + opacity: 0.9; +} + +.opacity-10 { + opacity: 1; +} + +.shadow { + box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08); +} + +.shadow-0 { + box-shadow: 0 0rpx 10rpx rgba(0, 0, 0, 0.08); +} + +.shadow-1 { + box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08); +} + +.shadow-2 { + box-shadow: 0 4rpx 14rpx rgba(0, 0, 0, 0.08); +} + +.shadow-3 { + box-shadow: 0 6rpx 16rpx rgba(0, 0, 0, 0.08); +} + +.shadow-4 { + box-shadow: 0 8rpx 18rpx rgba(0, 0, 0, 0.08); +} + +.shadow-5 { + box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.08); +} + +.shadow-6 { + box-shadow: 0 12rpx 22rpx rgba(0, 0, 0, 0.08); +} + +.shadow-7 { + box-shadow: 0 14rpx 24rpx rgba(0, 0, 0, 0.08); +} + +.shadow-8 { + box-shadow: 0 16rpx 26rpx rgba(0, 0, 0, 0.08); +} + +.shadow-9 { + box-shadow: 0 18rpx 28rpx rgba(0, 0, 0, 0.08); +} + +.shadow-10 { + box-shadow: 0 20rpx 30rpx rgba(0, 0, 0, 0.08); +} + +.shadow-11 { + box-shadow: 0 22rpx 32rpx rgba(0, 0, 0, 0.08); +} + +.shadow-12 { + box-shadow: 0 24rpx 34rpx rgba(0, 0, 0, 0.08); +} + +.shadow-13 { + box-shadow: 0 26rpx 36rpx rgba(0, 0, 0, 0.08); +} + +.shadow-14 { + box-shadow: 0 28rpx 38rpx rgba(0, 0, 0, 0.08); +} + +.shadow-15 { + box-shadow: 0 30rpx 40rpx rgba(0, 0, 0, 0.08); +} + +.shadow-16 { + box-shadow: 0 32rpx 42rpx rgba(0, 0, 0, 0.08); +} + +.shadow-17 { + box-shadow: 0 34rpx 44rpx rgba(0, 0, 0, 0.08); +} + +.shadow-18 { + box-shadow: 0 36rpx 46rpx rgba(0, 0, 0, 0.08); +} + +.shadow-19 { + box-shadow: 0 38rpx 48rpx rgba(0, 0, 0, 0.08); +} + +.shadow-20 { + box-shadow: 0 40rpx 50rpx rgba(0, 0, 0, 0.08); +} + +.shadow-21 { + box-shadow: 0 42rpx 52rpx rgba(0, 0, 0, 0.08); +} + +.shadow-22 { + box-shadow: 0 44rpx 54rpx rgba(0, 0, 0, 0.08); +} + +.shadow-23 { + box-shadow: 0 46rpx 56rpx rgba(0, 0, 0, 0.08); +} + +.shadow-24 { + box-shadow: 0 48rpx 58rpx rgba(0, 0, 0, 0.08); +} + +.shadow-25 { + box-shadow: 0 50rpx 60rpx rgba(0, 0, 0, 0.08); +} + +.border-0 { + border: solid 0rpx #f5f5f5 !important; +} + +.border-0-bk { + border: solid 0rpx #282828 !important; +} + +.border { + border: solid 2rpx #f5f5f5 !important; +} + +.border-bk { + border: solid 2rpx #282828 !important; +} + +.border-1 { + border: solid 2px #f5f5f5 !important; +} + +.border-1-bk { + border: solid 2px #f5f5f5 !important; +} + +.border-2 { + border: solid 4px #f5f5f5 !important; +} + +.border-2-bk { + border: solid 4px #f5f5f5 !important; +} + +.border-3 { + border: solid 6px #f5f5f5 !important; +} + +.border-3-bk { + border: solid 6px #f5f5f5 !important; +} + +.border-4 { + border: solid 8px #f5f5f5 !important; +} + +.border-4-bk { + border: solid 8px #f5f5f5 !important; +} + +.border-5 { + border: solid 10px #f5f5f5 !important; +} + +.border-5-bk { + border: solid 10px #f5f5f5 !important; +} + +.border-l-1 { + border-left: solid 2rpx whitesmoke !important; +} + +.border-l-1-bk { + border-left: solid 2rpx #282828 !important; +} + +.border-l-2 { + border-left: solid 4rpx whitesmoke !important; +} + +.border-l-2-bk { + border-left: solid 4rpx #282828 !important; +} + +.border-l-3 { + border-left: solid 6rpx whitesmoke !important; +} + +.border-l-3-bk { + border-left: solid 6rpx #282828 !important; +} + +.border-l-4 { + border-left: solid 8rpx whitesmoke !important; +} + +.border-l-4-bk { + border-left: solid 8rpx #282828 !important; +} + +.border-l-5 { + border-left: solid 10rpx whitesmoke !important; +} + +.border-l-5-bk { + border-left: solid 10rpx #282828 !important; +} + +.border-r-1 { + border-right: solid 2rpx whitesmoke !important; +} + +.border-r-1-bk { + border-right: solid 2rpx #282828 !important; +} + +.border-r-2 { + border-right: solid 4rpx whitesmoke !important; +} + +.border-r-2-bk { + border-right: solid 4rpx #282828 !important; +} + +.border-r-3 { + border-right: solid 6rpx whitesmoke !important; +} + +.border-r-3-bk { + border-right: solid 6rpx #282828 !important; +} + +.border-r-4 { + border-right: solid 8rpx whitesmoke !important; +} + +.border-r-4-bk { + border-right: solid 8rpx #282828 !important; +} + +.border-r-5 { + border-right: solid 10rpx whitesmoke !important; +} + +.border-r-5-bk { + border-right: solid 10rpx #282828 !important; +} + +.border-t-1 { + border-top: solid 2rpx whitesmoke !important; +} + +.border-t-1-bk { + border-top: solid 2rpx #282828 !important; +} + +.border-t-2 { + border-top: solid 4rpx whitesmoke !important; +} + +.border-t-2-bk { + border-top: solid 4rpx #282828 !important; +} + +.border-t-3 { + border-top: solid 6rpx whitesmoke !important; +} + +.border-t-3-bk { + border-top: solid 6rpx #282828 !important; +} + +.border-t-4 { + border-top: solid 8rpx whitesmoke !important; +} + +.border-t-4-bk { + border-top: solid 8rpx #282828 !important; +} + +.border-t-5 { + border-top: solid 10rpx whitesmoke !important; +} + +.border-t-5-bk { + border-top: solid 10rpx #282828 !important; +} + +.border-b-1 { + border-bottom: solid 2rpx whitesmoke !important; +} + +.border-b-1-bk { + border-bottom: solid 2rpx #282828 !important; +} + +.border-b-2 { + border-bottom: solid 4rpx whitesmoke !important; +} + +.border-b-2-bk { + border-bottom: solid 4rpx #282828 !important; +} + +.border-b-3 { + border-bottom: solid 6rpx whitesmoke !important; +} + +.border-b-3-bk { + border-bottom: solid 6rpx #282828 !important; +} + +.border-b-4 { + border-bottom: solid 8rpx whitesmoke !important; +} + +.border-b-4-bk { + border-bottom: solid 8rpx #282828 !important; +} + +.border-b-5 { + border-bottom: solid 10rpx whitesmoke !important; +} + +.border-b-5-bk { + border-bottom: solid 10rpx #282828 !important; +} + +.border-a-1 { + border: solid 2rpx whitesmoke !important; +} + +.border-a-1-bk { + border: solid 2rpx #282828 !important; +} + +.border-a-2 { + border: solid 4rpx whitesmoke !important; +} + +.border-a-2-bk { + border: solid 4rpx #282828 !important; +} + +.border-a-3 { + border: solid 6rpx whitesmoke !important; +} + +.border-a-3-bk { + border: solid 6rpx #282828 !important; +} + +.border-a-4 { + border: solid 8rpx whitesmoke !important; +} + +.border-a-4-bk { + border: solid 8rpx #282828 !important; +} + +.border-a-5 { + border: solid 10rpx whitesmoke !important; +} + +.border-a-5-bk { + border: solid 10rpx #282828 !important; +} + +.pa-0 { + padding: 0rpx; +} + +.pa-1 { + padding: 1rpx; +} + +.pa-2 { + padding: 2rpx; +} + +.pa-3 { + padding: 3rpx; +} + +.pa-4 { + padding: 4rpx; +} + +.pa-5 { + padding: 5rpx; +} + +.pa-6 { + padding: 6rpx; +} + +.pa-7 { + padding: 7rpx; +} + +.pa-8 { + padding: 8rpx; +} + +.pa-9 { + padding: 9rpx; +} + +.pa-10 { + padding: 10rpx; +} + +.pa-11 { + padding: 11rpx; +} + +.pa-12 { + padding: 12rpx; +} + +.pa-13 { + padding: 13rpx; +} + +.pa-14 { + padding: 14rpx; +} + +.pa-15 { + padding: 15rpx; +} + +.pa-16 { + padding: 16rpx; +} + +.pa-17 { + padding: 17rpx; +} + +.pa-18 { + padding: 18rpx; +} + +.pa-19 { + padding: 19rpx; +} + +.pa-20 { + padding: 20rpx; +} + +.pa-21 { + padding: 21rpx; +} + +.pa-22 { + padding: 22rpx; +} + +.pa-23 { + padding: 23rpx; +} + +.pa-24 { + padding: 24rpx; +} + +.pa-25 { + padding: 25rpx; +} + +.pa-n1 { + padding: 4rpx; +} + +.pa-n2 { + padding: 8rpx; +} + +.pa-n3 { + padding: 12rpx; +} + +.pa-n4 { + padding: 16rpx; +} + +.pa-n5 { + padding: 20rpx; +} + +.pa-n6 { + padding: 24rpx; +} + +.pa-n7 { + padding: 28rpx; +} + +.pa-n8 { + padding: 32rpx; +} + +.pa-n9 { + padding: 36rpx; +} + +.pa-n10 { + padding: 40rpx; +} + +.pa-n11 { + padding: 44rpx; +} + +.pa-n12 { + padding: 48rpx; +} + +.pa-n13 { + padding: 52rpx; +} + +.pa-n14 { + padding: 56rpx; +} + +.pa-n15 { + padding: 60rpx; +} + +.pa-n16 { + padding: 64rpx; +} + +.pa-n17 { + padding: 68rpx; +} + +.pa-n18 { + padding: 72rpx; +} + +.pa-n19 { + padding: 76rpx; +} + +.pa-n20 { + padding: 80rpx; +} + +.pa-n21 { + padding: 84rpx; +} + +.pa-n22 { + padding: 88rpx; +} + +.pa-n23 { + padding: 92rpx; +} + +.pa-n24 { + padding: 96rpx; +} + +.pa-n25 { + padding: 100rpx; +} + +.pt-0 { + padding-top: 0rpx; +} + +.pt-1 { + padding-top: 1rpx; +} + +.pt-2 { + padding-top: 2rpx; +} + +.pt-3 { + padding-top: 3rpx; +} + +.pt-4 { + padding-top: 4rpx; +} + +.pt-5 { + padding-top: 5rpx; +} + +.pt-6 { + padding-top: 6rpx; +} + +.pt-7 { + padding-top: 7rpx; +} + +.pt-8 { + padding-top: 8rpx; +} + +.pt-9 { + padding-top: 9rpx; +} + +.pt-10 { + padding-top: 10rpx; +} + +.pt-11 { + padding-top: 11rpx; +} + +.pt-12 { + padding-top: 12rpx; +} + +.pt-13 { + padding-top: 13rpx; +} + +.pt-14 { + padding-top: 14rpx; +} + +.pt-15 { + padding-top: 15rpx; +} + +.pt-16 { + padding-top: 16rpx; +} + +.pt-17 { + padding-top: 17rpx; +} + +.pt-18 { + padding-top: 18rpx; +} + +.pt-19 { + padding-top: 19rpx; +} + +.pt-20 { + padding-top: 20rpx; +} + +.pt-21 { + padding-top: 21rpx; +} + +.pt-22 { + padding-top: 22rpx; +} + +.pt-23 { + padding-top: 23rpx; +} + +.pt-24 { + padding-top: 24rpx; +} + +.pt-25 { + padding-top: 25rpx; +} + +.pt-n1 { + padding-top: 4rpx; +} + +.pt-n2 { + padding-top: 8rpx; +} + +.pt-n3 { + padding-top: 12rpx; +} + +.pt-n4 { + padding-top: 16rpx; +} + +.pt-n5 { + padding-top: 20rpx; +} + +.pt-n6 { + padding-top: 24rpx; +} + +.pt-n7 { + padding-top: 28rpx; +} + +.pt-n8 { + padding-top: 32rpx; +} + +.pt-n9 { + padding-top: 36rpx; +} + +.pt-n10 { + padding-top: 40rpx; +} + +.pt-n11 { + padding-top: 44rpx; +} + +.pt-n12 { + padding-top: 48rpx; +} + +.pt-n13 { + padding-top: 52rpx; +} + +.pt-n14 { + padding-top: 56rpx; +} + +.pt-n15 { + padding-top: 60rpx; +} + +.pt-n16 { + padding-top: 64rpx; +} + +.pt-n17 { + padding-top: 68rpx; +} + +.pt-n18 { + padding-top: 72rpx; +} + +.pt-n19 { + padding-top: 76rpx; +} + +.pt-n20 { + padding-top: 80rpx; +} + +.pt-n21 { + padding-top: 84rpx; +} + +.pt-n22 { + padding-top: 88rpx; +} + +.pt-n23 { + padding-top: 92rpx; +} + +.pt-n24 { + padding-top: 96rpx; +} + +.pt-n25 { + padding-top: 100rpx; +} + +.pr-0 { + padding-right: 0rpx; +} + +.pr-1 { + padding-right: 1rpx; +} + +.pr-2 { + padding-right: 2rpx; +} + +.pr-3 { + padding-right: 3rpx; +} + +.pr-4 { + padding-right: 4rpx; +} + +.pr-5 { + padding-right: 5rpx; +} + +.pr-6 { + padding-right: 6rpx; +} + +.pr-7 { + padding-right: 7rpx; +} + +.pr-8 { + padding-right: 8rpx; +} + +.pr-9 { + padding-right: 9rpx; +} + +.pr-10 { + padding-right: 10rpx; +} + +.pr-11 { + padding-right: 11rpx; +} + +.pr-12 { + padding-right: 12rpx; +} + +.pr-13 { + padding-right: 13rpx; +} + +.pr-14 { + padding-right: 14rpx; +} + +.pr-15 { + padding-right: 15rpx; +} + +.pr-16 { + padding-right: 16rpx; +} + +.pr-17 { + padding-right: 17rpx; +} + +.pr-18 { + padding-right: 18rpx; +} + +.pr-19 { + padding-right: 19rpx; +} + +.pr-20 { + padding-right: 20rpx; +} + +.pr-21 { + padding-right: 21rpx; +} + +.pr-22 { + padding-right: 22rpx; +} + +.pr-23 { + padding-right: 23rpx; +} + +.pr-24 { + padding-right: 24rpx; +} + +.pr-25 { + padding-right: 25rpx; +} + +.pr-n1 { + padding-right: 4rpx; +} + +.pr-n2 { + padding-right: 8rpx; +} + +.pr-n3 { + padding-right: 12rpx; +} + +.pr-n4 { + padding-right: 16rpx; +} + +.pr-n5 { + padding-right: 20rpx; +} + +.pr-n6 { + padding-right: 24rpx; +} + +.pr-n7 { + padding-right: 28rpx; +} + +.pr-n8 { + padding-right: 32rpx; +} + +.pr-n9 { + padding-right: 36rpx; +} + +.pr-n10 { + padding-right: 40rpx; +} + +.pr-n11 { + padding-right: 44rpx; +} + +.pr-n12 { + padding-right: 48rpx; +} + +.pr-n13 { + padding-right: 52rpx; +} + +.pr-n14 { + padding-right: 56rpx; +} + +.pr-n15 { + padding-right: 60rpx; +} + +.pr-n16 { + padding-right: 64rpx; +} + +.pr-n17 { + padding-right: 68rpx; +} + +.pr-n18 { + padding-right: 72rpx; +} + +.pr-n19 { + padding-right: 76rpx; +} + +.pr-n20 { + padding-right: 80rpx; +} + +.pr-n21 { + padding-right: 84rpx; +} + +.pr-n22 { + padding-right: 88rpx; +} + +.pr-n23 { + padding-right: 92rpx; +} + +.pr-n24 { + padding-right: 96rpx; +} + +.pr-n25 { + padding-right: 100rpx; +} + +.pb-0 { + padding-bottom: 0rpx; +} + +.pb-1 { + padding-bottom: 1rpx; +} + +.pb-2 { + padding-bottom: 2rpx; +} + +.pb-3 { + padding-bottom: 3rpx; +} + +.pb-4 { + padding-bottom: 4rpx; +} + +.pb-5 { + padding-bottom: 5rpx; +} + +.pb-6 { + padding-bottom: 6rpx; +} + +.pb-7 { + padding-bottom: 7rpx; +} + +.pb-8 { + padding-bottom: 8rpx; +} + +.pb-9 { + padding-bottom: 9rpx; +} + +.pb-10 { + padding-bottom: 10rpx; +} + +.pb-11 { + padding-bottom: 11rpx; +} + +.pb-12 { + padding-bottom: 12rpx; +} + +.pb-13 { + padding-bottom: 13rpx; +} + +.pb-14 { + padding-bottom: 14rpx; +} + +.pb-15 { + padding-bottom: 15rpx; +} + +.pb-16 { + padding-bottom: 16rpx; +} + +.pb-17 { + padding-bottom: 17rpx; +} + +.pb-18 { + padding-bottom: 18rpx; +} + +.pb-19 { + padding-bottom: 19rpx; +} + +.pb-20 { + padding-bottom: 20rpx; +} + +.pb-21 { + padding-bottom: 21rpx; +} + +.pb-22 { + padding-bottom: 22rpx; +} + +.pb-23 { + padding-bottom: 23rpx; +} + +.pb-24 { + padding-bottom: 24rpx; +} + +.pb-25 { + padding-bottom: 25rpx; +} + +.pb-n1 { + padding-bottom: 4rpx; +} + +.pb-n2 { + padding-bottom: 8rpx; +} + +.pb-n3 { + padding-bottom: 12rpx; +} + +.pb-n4 { + padding-bottom: 16rpx; +} + +.pb-n5 { + padding-bottom: 20rpx; +} + +.pb-n6 { + padding-bottom: 24rpx; +} + +.pb-n7 { + padding-bottom: 28rpx; +} + +.pb-n8 { + padding-bottom: 32rpx; +} + +.pb-n9 { + padding-bottom: 36rpx; +} + +.pb-n10 { + padding-bottom: 40rpx; +} + +.pb-n11 { + padding-bottom: 44rpx; +} + +.pb-n12 { + padding-bottom: 48rpx; +} + +.pb-n13 { + padding-bottom: 52rpx; +} + +.pb-n14 { + padding-bottom: 56rpx; +} + +.pb-n15 { + padding-bottom: 60rpx; +} + +.pb-n16 { + padding-bottom: 64rpx; +} + +.pb-n17 { + padding-bottom: 68rpx; +} + +.pb-n18 { + padding-bottom: 72rpx; +} + +.pb-n19 { + padding-bottom: 76rpx; +} + +.pb-n20 { + padding-bottom: 80rpx; +} + +.pb-n21 { + padding-bottom: 84rpx; +} + +.pb-n22 { + padding-bottom: 88rpx; +} + +.pb-n23 { + padding-bottom: 92rpx; +} + +.pb-n24 { + padding-bottom: 96rpx; +} + +.pb-n25 { + padding-bottom: 100rpx; +} + +.pl-0 { + padding-left: 0rpx; +} + +.pl-1 { + padding-left: 1rpx; +} + +.pl-2 { + padding-left: 2rpx; +} + +.pl-3 { + padding-left: 3rpx; +} + +.pl-4 { + padding-left: 4rpx; +} + +.pl-5 { + padding-left: 5rpx; +} + +.pl-6 { + padding-left: 6rpx; +} + +.pl-7 { + padding-left: 7rpx; +} + +.pl-8 { + padding-left: 8rpx; +} + +.pl-9 { + padding-left: 9rpx; +} + +.pl-10 { + padding-left: 10rpx; +} + +.pl-11 { + padding-left: 11rpx; +} + +.pl-12 { + padding-left: 12rpx; +} + +.pl-13 { + padding-left: 13rpx; +} + +.pl-14 { + padding-left: 14rpx; +} + +.pl-15 { + padding-left: 15rpx; +} + +.pl-16 { + padding-left: 16rpx; +} + +.pl-17 { + padding-left: 17rpx; +} + +.pl-18 { + padding-left: 18rpx; +} + +.pl-19 { + padding-left: 19rpx; +} + +.pl-20 { + padding-left: 20rpx; +} + +.pl-21 { + padding-left: 21rpx; +} + +.pl-22 { + padding-left: 22rpx; +} + +.pl-23 { + padding-left: 23rpx; +} + +.pl-24 { + padding-left: 24rpx; +} + +.pl-25 { + padding-left: 25rpx; +} + +.pl-n1 { + padding-left: 4rpx; +} + +.pl-n2 { + padding-left: 8rpx; +} + +.pl-n3 { + padding-left: 12rpx; +} + +.pl-n4 { + padding-left: 16rpx; +} + +.pl-n5 { + padding-left: 20rpx; +} + +.pl-n6 { + padding-left: 24rpx; +} + +.pl-n7 { + padding-left: 28rpx; +} + +.pl-n8 { + padding-left: 32rpx; +} + +.pl-n9 { + padding-left: 36rpx; +} + +.pl-n10 { + padding-left: 40rpx; +} + +.pl-n11 { + padding-left: 44rpx; +} + +.pl-n12 { + padding-left: 48rpx; +} + +.pl-n13 { + padding-left: 52rpx; +} + +.pl-n14 { + padding-left: 56rpx; +} + +.pl-n15 { + padding-left: 60rpx; +} + +.pl-n16 { + padding-left: 64rpx; +} + +.pl-n17 { + padding-left: 68rpx; +} + +.pl-n18 { + padding-left: 72rpx; +} + +.pl-n19 { + padding-left: 76rpx; +} + +.pl-n20 { + padding-left: 80rpx; +} + +.pl-n21 { + padding-left: 84rpx; +} + +.pl-n22 { + padding-left: 88rpx; +} + +.pl-n23 { + padding-left: 92rpx; +} + +.pl-n24 { + padding-left: 96rpx; +} + +.pl-n25 { + padding-left: 100rpx; +} + +.px-0 { + padding-left: 0rpx; + padding-right: 0rpx; +} + +.px-1 { + padding-left: 1rpx; + padding-right: 1rpx; +} + +.px-2 { + padding-left: 2rpx; + padding-right: 2rpx; +} + +.px-3 { + padding-left: 3rpx; + padding-right: 3rpx; +} + +.px-4 { + padding-left: 4rpx; + padding-right: 4rpx; +} + +.px-5 { + padding-left: 5rpx; + padding-right: 5rpx; +} + +.px-6 { + padding-left: 6rpx; + padding-right: 6rpx; +} + +.px-7 { + padding-left: 7rpx; + padding-right: 7rpx; +} + +.px-8 { + padding-left: 8rpx; + padding-right: 8rpx; +} + +.px-9 { + padding-left: 9rpx; + padding-right: 9rpx; +} + +.px-10 { + padding-left: 10rpx; + padding-right: 10rpx; +} + +.px-11 { + padding-left: 11rpx; + padding-right: 11rpx; +} + +.px-12 { + padding-left: 12rpx; + padding-right: 12rpx; +} + +.px-13 { + padding-left: 13rpx; + padding-right: 13rpx; +} + +.px-14 { + padding-left: 14rpx; + padding-right: 14rpx; +} + +.px-15 { + padding-left: 15rpx; + padding-right: 15rpx; +} + +.px-16 { + padding-left: 16rpx; + padding-right: 16rpx; +} + +.px-17 { + padding-left: 17rpx; + padding-right: 17rpx; +} + +.px-18 { + padding-left: 18rpx; + padding-right: 18rpx; +} + +.px-19 { + padding-left: 19rpx; + padding-right: 19rpx; +} + +.px-20 { + padding-left: 20rpx; + padding-right: 20rpx; +} + +.px-21 { + padding-left: 21rpx; + padding-right: 21rpx; +} + +.px-22 { + padding-left: 22rpx; + padding-right: 22rpx; +} + +.px-23 { + padding-left: 23rpx; + padding-right: 23rpx; +} + +.px-24 { + padding-left: 24rpx; + padding-right: 24rpx; +} + +.px-25 { + padding-left: 25rpx; + padding-right: 25rpx; +} + +.px-n1 { + padding-left: 4rpx; + padding-right: 4rpx; +} + +.px-n2 { + padding-left: 8rpx; + padding-right: 8rpx; +} + +.px-n3 { + padding-left: 12rpx; + padding-right: 12rpx; +} + +.px-n4 { + padding-left: 16rpx; + padding-right: 16rpx; +} + +.px-n5 { + padding-left: 20rpx; + padding-right: 20rpx; +} + +.px-n6 { + padding-left: 24rpx; + padding-right: 24rpx; +} + +.px-n7 { + padding-left: 28rpx; + padding-right: 28rpx; +} + +.px-n8 { + padding-left: 32rpx; + padding-right: 32rpx; +} + +.px-n9 { + padding-left: 36rpx; + padding-right: 36rpx; +} + +.px-n10 { + padding-left: 40rpx; + padding-right: 40rpx; +} + +.px-n11 { + padding-left: 44rpx; + padding-right: 44rpx; +} + +.px-n12 { + padding-left: 48rpx; + padding-right: 48rpx; +} + +.px-n13 { + padding-left: 52rpx; + padding-right: 52rpx; +} + +.px-n14 { + padding-left: 56rpx; + padding-right: 56rpx; +} + +.px-n15 { + padding-left: 60rpx; + padding-right: 60rpx; +} + +.px-n16 { + padding-left: 64rpx; + padding-right: 64rpx; +} + +.px-n17 { + padding-left: 68rpx; + padding-right: 68rpx; +} + +.px-n18 { + padding-left: 72rpx; + padding-right: 72rpx; +} + +.px-n19 { + padding-left: 76rpx; + padding-right: 76rpx; +} + +.px-n20 { + padding-left: 80rpx; + padding-right: 80rpx; +} + +.px-n21 { + padding-left: 84rpx; + padding-right: 84rpx; +} + +.px-n22 { + padding-left: 88rpx; + padding-right: 88rpx; +} + +.px-n23 { + padding-left: 92rpx; + padding-right: 92rpx; +} + +.px-n24 { + padding-left: 96rpx; + padding-right: 96rpx; +} + +.px-n25 { + padding-left: 100rpx; + padding-right: 100rpx; +} + +.py-0 { + padding-top: 0rpx; + padding-bottom: 0rpx; +} + +.py-1 { + padding-top: 1rpx; + padding-bottom: 1rpx; +} + +.py-2 { + padding-top: 2rpx; + padding-bottom: 2rpx; +} + +.py-3 { + padding-top: 3rpx; + padding-bottom: 3rpx; +} + +.py-4 { + padding-top: 4rpx; + padding-bottom: 4rpx; +} + +.py-5 { + padding-top: 5rpx; + padding-bottom: 5rpx; +} + +.py-6 { + padding-top: 6rpx; + padding-bottom: 6rpx; +} + +.py-7 { + padding-top: 7rpx; + padding-bottom: 7rpx; +} + +.py-8 { + padding-top: 8rpx; + padding-bottom: 8rpx; +} + +.py-9 { + padding-top: 9rpx; + padding-bottom: 9rpx; +} + +.py-10 { + padding-top: 10rpx; + padding-bottom: 10rpx; +} + +.py-11 { + padding-top: 11rpx; + padding-bottom: 11rpx; +} + +.py-12 { + padding-top: 12rpx; + padding-bottom: 12rpx; +} + +.py-13 { + padding-top: 13rpx; + padding-bottom: 13rpx; +} + +.py-14 { + padding-top: 14rpx; + padding-bottom: 14rpx; +} + +.py-15 { + padding-top: 15rpx; + padding-bottom: 15rpx; +} + +.py-16 { + padding-top: 16rpx; + padding-bottom: 16rpx; +} + +.py-17 { + padding-top: 17rpx; + padding-bottom: 17rpx; +} + +.py-18 { + padding-top: 18rpx; + padding-bottom: 18rpx; +} + +.py-19 { + padding-top: 19rpx; + padding-bottom: 19rpx; +} + +.py-20 { + padding-top: 20rpx; + padding-bottom: 20rpx; +} + +.py-21 { + padding-top: 21rpx; + padding-bottom: 21rpx; +} + +.py-22 { + padding-top: 22rpx; + padding-bottom: 22rpx; +} + +.py-23 { + padding-top: 23rpx; + padding-bottom: 23rpx; +} + +.py-24 { + padding-top: 24rpx; + padding-bottom: 24rpx; +} + +.py-25 { + padding-top: 25rpx; + padding-bottom: 25rpx; +} + +.py-n1 { + padding-top: 4rpx; + padding-bottom: 4rpx; +} + +.py-n2 { + padding-top: 8rpx; + padding-bottom: 8rpx; +} + +.py-n3 { + padding-top: 12rpx; + padding-bottom: 12rpx; +} + +.py-n4 { + padding-top: 16rpx; + padding-bottom: 16rpx; +} + +.py-n5 { + padding-top: 20rpx; + padding-bottom: 20rpx; +} + +.py-n6 { + padding-top: 24rpx; + padding-bottom: 24rpx; +} + +.py-n7 { + padding-top: 28rpx; + padding-bottom: 28rpx; +} + +.py-n8 { + padding-top: 32rpx; + padding-bottom: 32rpx; +} + +.py-n9 { + padding-top: 36rpx; + padding-bottom: 36rpx; +} + +.py-n10 { + padding-top: 40rpx; + padding-bottom: 40rpx; +} + +.py-n11 { + padding-top: 44rpx; + padding-bottom: 44rpx; +} + +.py-n12 { + padding-top: 48rpx; + padding-bottom: 48rpx; +} + +.py-n13 { + padding-top: 52rpx; + padding-bottom: 52rpx; +} + +.py-n14 { + padding-top: 56rpx; + padding-bottom: 56rpx; +} + +.py-n15 { + padding-top: 60rpx; + padding-bottom: 60rpx; +} + +.py-n16 { + padding-top: 64rpx; + padding-bottom: 64rpx; +} + +.py-n17 { + padding-top: 68rpx; + padding-bottom: 68rpx; +} + +.py-n18 { + padding-top: 72rpx; + padding-bottom: 72rpx; +} + +.py-n19 { + padding-top: 76rpx; + padding-bottom: 76rpx; +} + +.py-n20 { + padding-top: 80rpx; + padding-bottom: 80rpx; +} + +.py-n21 { + padding-top: 84rpx; + padding-bottom: 84rpx; +} + +.py-n22 { + padding-top: 88rpx; + padding-bottom: 88rpx; +} + +.py-n23 { + padding-top: 92rpx; + padding-bottom: 92rpx; +} + +.py-n24 { + padding-top: 96rpx; + padding-bottom: 96rpx; +} + +.py-n25 { + padding-top: 100rpx; + padding-bottom: 100rpx; +} + +.ma-0 { + margin: 0rpx; +} + +.ma-1 { + margin: 1rpx; +} + +.ma-2 { + margin: 2rpx; +} + +.ma-3 { + margin: 3rpx; +} + +.ma-4 { + margin: 4rpx; +} + +.ma-5 { + margin: 5rpx; +} + +.ma-6 { + margin: 6rpx; +} + +.ma-7 { + margin: 7rpx; +} + +.ma-8 { + margin: 8rpx; +} + +.ma-9 { + margin: 9rpx; +} + +.ma-10 { + margin: 10rpx; +} + +.ma-11 { + margin: 11rpx; +} + +.ma-12 { + margin: 12rpx; +} + +.ma-13 { + margin: 13rpx; +} + +.ma-14 { + margin: 14rpx; +} + +.ma-15 { + margin: 15rpx; +} + +.ma-16 { + margin: 16rpx; +} + +.ma-17 { + margin: 17rpx; +} + +.ma-18 { + margin: 18rpx; +} + +.ma-19 { + margin: 19rpx; +} + +.ma-20 { + margin: 20rpx; +} + +.ma-21 { + margin: 21rpx; +} + +.ma-22 { + margin: 22rpx; +} + +.ma-23 { + margin: 23rpx; +} + +.ma-24 { + margin: 24rpx; +} + +.ma-25 { + margin: 25rpx; +} + +.ma-n1 { + margin: 4rpx; +} + +.ma-n2 { + margin: 8rpx; +} + +.ma-n3 { + margin: 12rpx; +} + +.ma-n4 { + margin: 16rpx; +} + +.ma-n5 { + margin: 20rpx; +} + +.ma-n6 { + margin: 24rpx; +} + +.ma-n7 { + margin: 28rpx; +} + +.ma-n8 { + margin: 32rpx; +} + +.ma-n9 { + margin: 36rpx; +} + +.ma-n10 { + margin: 40rpx; +} + +.ma-n11 { + margin: 44rpx; +} + +.ma-n12 { + margin: 48rpx; +} + +.ma-n13 { + margin: 52rpx; +} + +.ma-n14 { + margin: 56rpx; +} + +.ma-n15 { + margin: 60rpx; +} + +.ma-n16 { + margin: 64rpx; +} + +.ma-n17 { + margin: 68rpx; +} + +.ma-n18 { + margin: 72rpx; +} + +.ma-n19 { + margin: 76rpx; +} + +.ma-n20 { + margin: 80rpx; +} + +.ma-n21 { + margin: 84rpx; +} + +.ma-n22 { + margin: 88rpx; +} + +.ma-n23 { + margin: 92rpx; +} + +.ma-n24 { + margin: 96rpx; +} + +.ma-n25 { + margin: 100rpx; +} + +.mt-0 { + margin-top: 0rpx; +} + +.mt--0 { + margin-top: -0rpx; +} + +.mt-1 { + margin-top: 1rpx; +} + +.mt--1 { + margin-top: -1rpx; +} + +.mt-2 { + margin-top: 2rpx; +} + +.mt--2 { + margin-top: -2rpx; +} + +.mt-3 { + margin-top: 3rpx; +} + +.mt--3 { + margin-top: -3rpx; +} + +.mt-4 { + margin-top: 4rpx; +} + +.mt--4 { + margin-top: -4rpx; +} + +.mt-5 { + margin-top: 5rpx; +} + +.mt--5 { + margin-top: -5rpx; +} + +.mt-6 { + margin-top: 6rpx; +} + +.mt--6 { + margin-top: -6rpx; +} + +.mt-7 { + margin-top: 7rpx; +} + +.mt--7 { + margin-top: -7rpx; +} + +.mt-8 { + margin-top: 8rpx; +} + +.mt--8 { + margin-top: -8rpx; +} + +.mt-9 { + margin-top: 9rpx; +} + +.mt--9 { + margin-top: -9rpx; +} + +.mt-10 { + margin-top: 10rpx; +} + +.mt--10 { + margin-top: -10rpx; +} + +.mt-11 { + margin-top: 11rpx; +} + +.mt--11 { + margin-top: -11rpx; +} + +.mt-12 { + margin-top: 12rpx; +} + +.mt--12 { + margin-top: -12rpx; +} + +.mt-13 { + margin-top: 13rpx; +} + +.mt--13 { + margin-top: -13rpx; +} + +.mt-14 { + margin-top: 14rpx; +} + +.mt--14 { + margin-top: -14rpx; +} + +.mt-15 { + margin-top: 15rpx; +} + +.mt--15 { + margin-top: -15rpx; +} + +.mt-16 { + margin-top: 16rpx; +} + +.mt--16 { + margin-top: -16rpx; +} + +.mt-17 { + margin-top: 17rpx; +} + +.mt--17 { + margin-top: -17rpx; +} + +.mt-18 { + margin-top: 18rpx; +} + +.mt--18 { + margin-top: -18rpx; +} + +.mt-19 { + margin-top: 19rpx; +} + +.mt--19 { + margin-top: -19rpx; +} + +.mt-20 { + margin-top: 20rpx; +} + +.mt--20 { + margin-top: -20rpx; +} + +.mt-21 { + margin-top: 21rpx; +} + +.mt--21 { + margin-top: -21rpx; +} + +.mt-22 { + margin-top: 22rpx; +} + +.mt--22 { + margin-top: -22rpx; +} + +.mt-23 { + margin-top: 23rpx; +} + +.mt--23 { + margin-top: -23rpx; +} + +.mt-24 { + margin-top: 24rpx; +} + +.mt--24 { + margin-top: -24rpx; +} + +.mt-25 { + margin-top: 25rpx; +} + +.mt--25 { + margin-top: -25rpx; +} + +.mt-n1 { + margin-top: 4rpx; +} + +.mt--n1 { + margin-top: -4rpx; +} + +.mt-n2 { + margin-top: 8rpx; +} + +.mt--n2 { + margin-top: -8rpx; +} + +.mt-n3 { + margin-top: 12rpx; +} + +.mt--n3 { + margin-top: -12rpx; +} + +.mt-n4 { + margin-top: 16rpx; +} + +.mt--n4 { + margin-top: -16rpx; +} + +.mt-n5 { + margin-top: 20rpx; +} + +.mt--n5 { + margin-top: -20rpx; +} + +.mt-n6 { + margin-top: 24rpx; +} + +.mt--n6 { + margin-top: -24rpx; +} + +.mt-n7 { + margin-top: 28rpx; +} + +.mt--n7 { + margin-top: -28rpx; +} + +.mt-n8 { + margin-top: 32rpx; +} + +.mt--n8 { + margin-top: -32rpx; +} + +.mt-n9 { + margin-top: 36rpx; +} + +.mt--n9 { + margin-top: -36rpx; +} + +.mt-n10 { + margin-top: 40rpx; +} + +.mt--n10 { + margin-top: -40rpx; +} + +.mt-n11 { + margin-top: 44rpx; +} + +.mt--n11 { + margin-top: -44rpx; +} + +.mt-n12 { + margin-top: 48rpx; +} + +.mt--n12 { + margin-top: -48rpx; +} + +.mt-n13 { + margin-top: 52rpx; +} + +.mt--n13 { + margin-top: -52rpx; +} + +.mt-n14 { + margin-top: 56rpx; +} + +.mt--n14 { + margin-top: -56rpx; +} + +.mt-n15 { + margin-top: 60rpx; +} + +.mt--n15 { + margin-top: -60rpx; +} + +.mt-n16 { + margin-top: 64rpx; +} + +.mt--n16 { + margin-top: -64rpx; +} + +.mt-n17 { + margin-top: 68rpx; +} + +.mt--n17 { + margin-top: -68rpx; +} + +.mt-n18 { + margin-top: 72rpx; +} + +.mt--n18 { + margin-top: -72rpx; +} + +.mt-n19 { + margin-top: 76rpx; +} + +.mt--n19 { + margin-top: -76rpx; +} + +.mt-n20 { + margin-top: 80rpx; +} + +.mt--n20 { + margin-top: -80rpx; +} + +.mt-n21 { + margin-top: 84rpx; +} + +.mt--n21 { + margin-top: -84rpx; +} + +.mt-n22 { + margin-top: 88rpx; +} + +.mt--n22 { + margin-top: -88rpx; +} + +.mt-n23 { + margin-top: 92rpx; +} + +.mt--n23 { + margin-top: -92rpx; +} + +.mt-n24 { + margin-top: 96rpx; +} + +.mt--n24 { + margin-top: -96rpx; +} + +.mt-n25 { + margin-top: 100rpx; +} + +.mt--n25 { + margin-top: -100rpx; +} + +.mr-0 { + margin-right: 0rpx; +} + +.mr--0 { + margin-right: -0rpx; +} + +.mr-1 { + margin-right: 1rpx; +} + +.mr--1 { + margin-right: -1rpx; +} + +.mr-2 { + margin-right: 2rpx; +} + +.mr--2 { + margin-right: -2rpx; +} + +.mr-3 { + margin-right: 3rpx; +} + +.mr--3 { + margin-right: -3rpx; +} + +.mr-4 { + margin-right: 4rpx; +} + +.mr--4 { + margin-right: -4rpx; +} + +.mr-5 { + margin-right: 5rpx; +} + +.mr--5 { + margin-right: -5rpx; +} + +.mr-6 { + margin-right: 6rpx; +} + +.mr--6 { + margin-right: -6rpx; +} + +.mr-7 { + margin-right: 7rpx; +} + +.mr--7 { + margin-right: -7rpx; +} + +.mr-8 { + margin-right: 8rpx; +} + +.mr--8 { + margin-right: -8rpx; +} + +.mr-9 { + margin-right: 9rpx; +} + +.mr--9 { + margin-right: -9rpx; +} + +.mr-10 { + margin-right: 10rpx; +} + +.mr--10 { + margin-right: -10rpx; +} + +.mr-11 { + margin-right: 11rpx; +} + +.mr--11 { + margin-right: -11rpx; +} + +.mr-12 { + margin-right: 12rpx; +} + +.mr--12 { + margin-right: -12rpx; +} + +.mr-13 { + margin-right: 13rpx; +} + +.mr--13 { + margin-right: -13rpx; +} + +.mr-14 { + margin-right: 14rpx; +} + +.mr--14 { + margin-right: -14rpx; +} + +.mr-15 { + margin-right: 15rpx; +} + +.mr--15 { + margin-right: -15rpx; +} + +.mr-16 { + margin-right: 16rpx; +} + +.mr--16 { + margin-right: -16rpx; +} + +.mr-17 { + margin-right: 17rpx; +} + +.mr--17 { + margin-right: -17rpx; +} + +.mr-18 { + margin-right: 18rpx; +} + +.mr--18 { + margin-right: -18rpx; +} + +.mr-19 { + margin-right: 19rpx; +} + +.mr--19 { + margin-right: -19rpx; +} + +.mr-20 { + margin-right: 20rpx; +} + +.mr--20 { + margin-right: -20rpx; +} + +.mr-21 { + margin-right: 21rpx; +} + +.mr--21 { + margin-right: -21rpx; +} + +.mr-22 { + margin-right: 22rpx; +} + +.mr--22 { + margin-right: -22rpx; +} + +.mr-23 { + margin-right: 23rpx; +} + +.mr--23 { + margin-right: -23rpx; +} + +.mr-24 { + margin-right: 24rpx; +} + +.mr--24 { + margin-right: -24rpx; +} + +.mr-25 { + margin-right: 25rpx; +} + +.mr--25 { + margin-right: -25rpx; +} + +.mr-n1 { + margin-right: 4rpx; +} + +.mr--n1 { + margin-right: -4rpx; +} + +.mr-n2 { + margin-right: 8rpx; +} + +.mr--n2 { + margin-right: -8rpx; +} + +.mr-n3 { + margin-right: 12rpx; +} + +.mr--n3 { + margin-right: -12rpx; +} + +.mr-n4 { + margin-right: 16rpx; +} + +.mr--n4 { + margin-right: -16rpx; +} + +.mr-n5 { + margin-right: 20rpx; +} + +.mr--n5 { + margin-right: -20rpx; +} + +.mr-n6 { + margin-right: 24rpx; +} + +.mr--n6 { + margin-right: -24rpx; +} + +.mr-n7 { + margin-right: 28rpx; +} + +.mr--n7 { + margin-right: -28rpx; +} + +.mr-n8 { + margin-right: 32rpx; +} + +.mr--n8 { + margin-right: -32rpx; +} + +.mr-n9 { + margin-right: 36rpx; +} + +.mr--n9 { + margin-right: -36rpx; +} + +.mr-n10 { + margin-right: 40rpx; +} + +.mr--n10 { + margin-right: -40rpx; +} + +.mr-n11 { + margin-right: 44rpx; +} + +.mr--n11 { + margin-right: -44rpx; +} + +.mr-n12 { + margin-right: 48rpx; +} + +.mr--n12 { + margin-right: -48rpx; +} + +.mr-n13 { + margin-right: 52rpx; +} + +.mr--n13 { + margin-right: -52rpx; +} + +.mr-n14 { + margin-right: 56rpx; +} + +.mr--n14 { + margin-right: -56rpx; +} + +.mr-n15 { + margin-right: 60rpx; +} + +.mr--n15 { + margin-right: -60rpx; +} + +.mr-n16 { + margin-right: 64rpx; +} + +.mr--n16 { + margin-right: -64rpx; +} + +.mr-n17 { + margin-right: 68rpx; +} + +.mr--n17 { + margin-right: -68rpx; +} + +.mr-n18 { + margin-right: 72rpx; +} + +.mr--n18 { + margin-right: -72rpx; +} + +.mr-n19 { + margin-right: 76rpx; +} + +.mr--n19 { + margin-right: -76rpx; +} + +.mr-n20 { + margin-right: 80rpx; +} + +.mr--n20 { + margin-right: -80rpx; +} + +.mr-n21 { + margin-right: 84rpx; +} + +.mr--n21 { + margin-right: -84rpx; +} + +.mr-n22 { + margin-right: 88rpx; +} + +.mr--n22 { + margin-right: -88rpx; +} + +.mr-n23 { + margin-right: 92rpx; +} + +.mr--n23 { + margin-right: -92rpx; +} + +.mr-n24 { + margin-right: 96rpx; +} + +.mr--n24 { + margin-right: -96rpx; +} + +.mr-n25 { + margin-right: 100rpx; +} + +.mr--n25 { + margin-right: -100rpx; +} + +.mb-0 { + margin-bottom: 0rpx; +} + +.mb--0 { + margin-bottom: -0rpx; +} + +.mb-1 { + margin-bottom: 1rpx; +} + +.mb--1 { + margin-bottom: -1rpx; +} + +.mb-2 { + margin-bottom: 2rpx; +} + +.mb--2 { + margin-bottom: -2rpx; +} + +.mb-3 { + margin-bottom: 3rpx; +} + +.mb--3 { + margin-bottom: -3rpx; +} + +.mb-4 { + margin-bottom: 4rpx; +} + +.mb--4 { + margin-bottom: -4rpx; +} + +.mb-5 { + margin-bottom: 5rpx; +} + +.mb--5 { + margin-bottom: -5rpx; +} + +.mb-6 { + margin-bottom: 6rpx; +} + +.mb--6 { + margin-bottom: -6rpx; +} + +.mb-7 { + margin-bottom: 7rpx; +} + +.mb--7 { + margin-bottom: -7rpx; +} + +.mb-8 { + margin-bottom: 8rpx; +} + +.mb--8 { + margin-bottom: -8rpx; +} + +.mb-9 { + margin-bottom: 9rpx; +} + +.mb--9 { + margin-bottom: -9rpx; +} + +.mb-10 { + margin-bottom: 10rpx; +} + +.mb--10 { + margin-bottom: -10rpx; +} + +.mb-11 { + margin-bottom: 11rpx; +} + +.mb--11 { + margin-bottom: -11rpx; +} + +.mb-12 { + margin-bottom: 12rpx; +} + +.mb--12 { + margin-bottom: -12rpx; +} + +.mb-13 { + margin-bottom: 13rpx; +} + +.mb--13 { + margin-bottom: -13rpx; +} + +.mb-14 { + margin-bottom: 14rpx; +} + +.mb--14 { + margin-bottom: -14rpx; +} + +.mb-15 { + margin-bottom: 15rpx; +} + +.mb--15 { + margin-bottom: -15rpx; +} + +.mb-16 { + margin-bottom: 16rpx; +} + +.mb--16 { + margin-bottom: -16rpx; +} + +.mb-17 { + margin-bottom: 17rpx; +} + +.mb--17 { + margin-bottom: -17rpx; +} + +.mb-18 { + margin-bottom: 18rpx; +} + +.mb--18 { + margin-bottom: -18rpx; +} + +.mb-19 { + margin-bottom: 19rpx; +} + +.mb--19 { + margin-bottom: -19rpx; +} + +.mb-20 { + margin-bottom: 20rpx; +} + +.mb--20 { + margin-bottom: -20rpx; +} + +.mb-21 { + margin-bottom: 21rpx; +} + +.mb--21 { + margin-bottom: -21rpx; +} + +.mb-22 { + margin-bottom: 22rpx; +} + +.mb--22 { + margin-bottom: -22rpx; +} + +.mb-23 { + margin-bottom: 23rpx; +} + +.mb--23 { + margin-bottom: -23rpx; +} + +.mb-24 { + margin-bottom: 24rpx; +} + +.mb--24 { + margin-bottom: -24rpx; +} + +.mb-25 { + margin-bottom: 25rpx; +} + +.mb--25 { + margin-bottom: -25rpx; +} + +.mb-n1 { + margin-bottom: 4rpx; +} + +.mb--n1 { + margin-bottom: -4rpx; +} + +.mb-n2 { + margin-bottom: 8rpx; +} + +.mb--n2 { + margin-bottom: -8rpx; +} + +.mb-n3 { + margin-bottom: 12rpx; +} + +.mb--n3 { + margin-bottom: -12rpx; +} + +.mb-n4 { + margin-bottom: 16rpx; +} + +.mb--n4 { + margin-bottom: -16rpx; +} + +.mb-n5 { + margin-bottom: 20rpx; +} + +.mb--n5 { + margin-bottom: -20rpx; +} + +.mb-n6 { + margin-bottom: 24rpx; +} + +.mb--n6 { + margin-bottom: -24rpx; +} + +.mb-n7 { + margin-bottom: 28rpx; +} + +.mb--n7 { + margin-bottom: -28rpx; +} + +.mb-n8 { + margin-bottom: 32rpx; +} + +.mb--n8 { + margin-bottom: -32rpx; +} + +.mb-n9 { + margin-bottom: 36rpx; +} + +.mb--n9 { + margin-bottom: -36rpx; +} + +.mb-n10 { + margin-bottom: 40rpx; +} + +.mb--n10 { + margin-bottom: -40rpx; +} + +.mb-n11 { + margin-bottom: 44rpx; +} + +.mb--n11 { + margin-bottom: -44rpx; +} + +.mb-n12 { + margin-bottom: 48rpx; +} + +.mb--n12 { + margin-bottom: -48rpx; +} + +.mb-n13 { + margin-bottom: 52rpx; +} + +.mb--n13 { + margin-bottom: -52rpx; +} + +.mb-n14 { + margin-bottom: 56rpx; +} + +.mb--n14 { + margin-bottom: -56rpx; +} + +.mb-n15 { + margin-bottom: 60rpx; +} + +.mb--n15 { + margin-bottom: -60rpx; +} + +.mb-n16 { + margin-bottom: 64rpx; +} + +.mb--n16 { + margin-bottom: -64rpx; +} + +.mb-n17 { + margin-bottom: 68rpx; +} + +.mb--n17 { + margin-bottom: -68rpx; +} + +.mb-n18 { + margin-bottom: 72rpx; +} + +.mb--n18 { + margin-bottom: -72rpx; +} + +.mb-n19 { + margin-bottom: 76rpx; +} + +.mb--n19 { + margin-bottom: -76rpx; +} + +.mb-n20 { + margin-bottom: 80rpx; +} + +.mb--n20 { + margin-bottom: -80rpx; +} + +.mb-n21 { + margin-bottom: 84rpx; +} + +.mb--n21 { + margin-bottom: -84rpx; +} + +.mb-n22 { + margin-bottom: 88rpx; +} + +.mb--n22 { + margin-bottom: -88rpx; +} + +.mb-n23 { + margin-bottom: 92rpx; +} + +.mb--n23 { + margin-bottom: -92rpx; +} + +.mb-n24 { + margin-bottom: 96rpx; +} + +.mb--n24 { + margin-bottom: -96rpx; +} + +.mb-n25 { + margin-bottom: 100rpx; +} + +.mb--n25 { + margin-bottom: -100rpx; +} + +.ml-0 { + margin-left: 0rpx; +} + +.ml--0 { + margin-left: -0rpx; +} + +.ml-1 { + margin-left: 1rpx; +} + +.ml--1 { + margin-left: -1rpx; +} + +.ml-2 { + margin-left: 2rpx; +} + +.ml--2 { + margin-left: -2rpx; +} + +.ml-3 { + margin-left: 3rpx; +} + +.ml--3 { + margin-left: -3rpx; +} + +.ml-4 { + margin-left: 4rpx; +} + +.ml--4 { + margin-left: -4rpx; +} + +.ml-5 { + margin-left: 5rpx; +} + +.ml--5 { + margin-left: -5rpx; +} + +.ml-6 { + margin-left: 6rpx; +} + +.ml--6 { + margin-left: -6rpx; +} + +.ml-7 { + margin-left: 7rpx; +} + +.ml--7 { + margin-left: -7rpx; +} + +.ml-8 { + margin-left: 8rpx; +} + +.ml--8 { + margin-left: -8rpx; +} + +.ml-9 { + margin-left: 9rpx; +} + +.ml--9 { + margin-left: -9rpx; +} + +.ml-10 { + margin-left: 10rpx; +} + +.ml--10 { + margin-left: -10rpx; +} + +.ml-11 { + margin-left: 11rpx; +} + +.ml--11 { + margin-left: -11rpx; +} + +.ml-12 { + margin-left: 12rpx; +} + +.ml--12 { + margin-left: -12rpx; +} + +.ml-13 { + margin-left: 13rpx; +} + +.ml--13 { + margin-left: -13rpx; +} + +.ml-14 { + margin-left: 14rpx; +} + +.ml--14 { + margin-left: -14rpx; +} + +.ml-15 { + margin-left: 15rpx; +} + +.ml--15 { + margin-left: -15rpx; +} + +.ml-16 { + margin-left: 16rpx; +} + +.ml--16 { + margin-left: -16rpx; +} + +.ml-17 { + margin-left: 17rpx; +} + +.ml--17 { + margin-left: -17rpx; +} + +.ml-18 { + margin-left: 18rpx; +} + +.ml--18 { + margin-left: -18rpx; +} + +.ml-19 { + margin-left: 19rpx; +} + +.ml--19 { + margin-left: -19rpx; +} + +.ml-20 { + margin-left: 20rpx; +} + +.ml--20 { + margin-left: -20rpx; +} + +.ml-21 { + margin-left: 21rpx; +} + +.ml--21 { + margin-left: -21rpx; +} + +.ml-22 { + margin-left: 22rpx; +} + +.ml--22 { + margin-left: -22rpx; +} + +.ml-23 { + margin-left: 23rpx; +} + +.ml--23 { + margin-left: -23rpx; +} + +.ml-24 { + margin-left: 24rpx; +} + +.ml--24 { + margin-left: -24rpx; +} + +.ml-25 { + margin-left: 25rpx; +} + +.ml--25 { + margin-left: -25rpx; +} + +.ml-n1 { + margin-left: 4rpx; +} + +.ml--n1 { + margin-left: -4rpx; +} + +.ml-n2 { + margin-left: 8rpx; +} + +.ml--n2 { + margin-left: -8rpx; +} + +.ml-n3 { + margin-left: 12rpx; +} + +.ml--n3 { + margin-left: -12rpx; +} + +.ml-n4 { + margin-left: 16rpx; +} + +.ml--n4 { + margin-left: -16rpx; +} + +.ml-n5 { + margin-left: 20rpx; +} + +.ml--n5 { + margin-left: -20rpx; +} + +.ml-n6 { + margin-left: 24rpx; +} + +.ml--n6 { + margin-left: -24rpx; +} + +.ml-n7 { + margin-left: 28rpx; +} + +.ml--n7 { + margin-left: -28rpx; +} + +.ml-n8 { + margin-left: 32rpx; +} + +.ml--n8 { + margin-left: -32rpx; +} + +.ml-n9 { + margin-left: 36rpx; +} + +.ml--n9 { + margin-left: -36rpx; +} + +.ml-n10 { + margin-left: 40rpx; +} + +.ml--n10 { + margin-left: -40rpx; +} + +.ml-n11 { + margin-left: 44rpx; +} + +.ml--n11 { + margin-left: -44rpx; +} + +.ml-n12 { + margin-left: 48rpx; +} + +.ml--n12 { + margin-left: -48rpx; +} + +.ml-n13 { + margin-left: 52rpx; +} + +.ml--n13 { + margin-left: -52rpx; +} + +.ml-n14 { + margin-left: 56rpx; +} + +.ml--n14 { + margin-left: -56rpx; +} + +.ml-n15 { + margin-left: 60rpx; +} + +.ml--n15 { + margin-left: -60rpx; +} + +.ml-n16 { + margin-left: 64rpx; +} + +.ml--n16 { + margin-left: -64rpx; +} + +.ml-n17 { + margin-left: 68rpx; +} + +.ml--n17 { + margin-left: -68rpx; +} + +.ml-n18 { + margin-left: 72rpx; +} + +.ml--n18 { + margin-left: -72rpx; +} + +.ml-n19 { + margin-left: 76rpx; +} + +.ml--n19 { + margin-left: -76rpx; +} + +.ml-n20 { + margin-left: 80rpx; +} + +.ml--n20 { + margin-left: -80rpx; +} + +.ml-n21 { + margin-left: 84rpx; +} + +.ml--n21 { + margin-left: -84rpx; +} + +.ml-n22 { + margin-left: 88rpx; +} + +.ml--n22 { + margin-left: -88rpx; +} + +.ml-n23 { + margin-left: 92rpx; +} + +.ml--n23 { + margin-left: -92rpx; +} + +.ml-n24 { + margin-left: 96rpx; +} + +.ml--n24 { + margin-left: -96rpx; +} + +.ml-n25 { + margin-left: 100rpx; +} + +.ml--n25 { + margin-left: -100rpx; +} + +.mx-0 { + margin-left: 0rpx; + margin-right: 0rpx; +} + +.mx-1 { + margin-left: 1rpx; + margin-right: 1rpx; +} + +.mx-2 { + margin-left: 2rpx; + margin-right: 2rpx; +} + +.mx-3 { + margin-left: 3rpx; + margin-right: 3rpx; +} + +.mx-4 { + margin-left: 4rpx; + margin-right: 4rpx; +} + +.mx-5 { + margin-left: 5rpx; + margin-right: 5rpx; +} + +.mx-6 { + margin-left: 6rpx; + margin-right: 6rpx; +} + +.mx-7 { + margin-left: 7rpx; + margin-right: 7rpx; +} + +.mx-8 { + margin-left: 8rpx; + margin-right: 8rpx; +} + +.mx-9 { + margin-left: 9rpx; + margin-right: 9rpx; +} + +.mx-10 { + margin-left: 10rpx; + margin-right: 10rpx; +} + +.mx-11 { + margin-left: 11rpx; + margin-right: 11rpx; +} + +.mx-12 { + margin-left: 12rpx; + margin-right: 12rpx; +} + +.mx-13 { + margin-left: 13rpx; + margin-right: 13rpx; +} + +.mx-14 { + margin-left: 14rpx; + margin-right: 14rpx; +} + +.mx-15 { + margin-left: 15rpx; + margin-right: 15rpx; +} + +.mx-16 { + margin-left: 16rpx; + margin-right: 16rpx; +} + +.mx-17 { + margin-left: 17rpx; + margin-right: 17rpx; +} + +.mx-18 { + margin-left: 18rpx; + margin-right: 18rpx; +} + +.mx-19 { + margin-left: 19rpx; + margin-right: 19rpx; +} + +.mx-20 { + margin-left: 20rpx; + margin-right: 20rpx; +} + +.mx-21 { + margin-left: 21rpx; + margin-right: 21rpx; +} + +.mx-22 { + margin-left: 22rpx; + margin-right: 22rpx; +} + +.mx-23 { + margin-left: 23rpx; + margin-right: 23rpx; +} + +.mx-24 { + margin-left: 24rpx; + margin-right: 24rpx; +} + +.mx-25 { + margin-left: 25rpx; + margin-right: 25rpx; +} + +.mx-n1 { + margin-left: 4rpx; + margin-right: 4rpx; +} + +.mx-n2 { + margin-left: 8rpx; + margin-right: 8rpx; +} + +.mx-n3 { + margin-left: 12rpx; + margin-right: 12rpx; +} + +.mx-n4 { + margin-left: 16rpx; + margin-right: 16rpx; +} + +.mx-n5 { + margin-left: 20rpx; + margin-right: 20rpx; +} + +.mx-n6 { + margin-left: 24rpx; + margin-right: 24rpx; +} + +.mx-n7 { + margin-left: 28rpx; + margin-right: 28rpx; +} + +.mx-n8 { + margin-left: 32rpx; + margin-right: 32rpx; +} + +.mx-n9 { + margin-left: 36rpx; + margin-right: 36rpx; +} + +.mx-n10 { + margin-left: 40rpx; + margin-right: 40rpx; +} + +.mx-n11 { + margin-left: 44rpx; + margin-right: 44rpx; +} + +.mx-n12 { + margin-left: 48rpx; + margin-right: 48rpx; +} + +.mx-n13 { + margin-left: 52rpx; + margin-right: 52rpx; +} + +.mx-n14 { + margin-left: 56rpx; + margin-right: 56rpx; +} + +.mx-n15 { + margin-left: 60rpx; + margin-right: 60rpx; +} + +.mx-n16 { + margin-left: 64rpx; + margin-right: 64rpx; +} + +.mx-n17 { + margin-left: 68rpx; + margin-right: 68rpx; +} + +.mx-n18 { + margin-left: 72rpx; + margin-right: 72rpx; +} + +.mx-n19 { + margin-left: 76rpx; + margin-right: 76rpx; +} + +.mx-n20 { + margin-left: 80rpx; + margin-right: 80rpx; +} + +.mx-n21 { + margin-left: 84rpx; + margin-right: 84rpx; +} + +.mx-n22 { + margin-left: 88rpx; + margin-right: 88rpx; +} + +.mx-n23 { + margin-left: 92rpx; + margin-right: 92rpx; +} + +.mx-n24 { + margin-left: 96rpx; + margin-right: 96rpx; +} + +.mx-n25 { + margin-left: 100rpx; + margin-right: 100rpx; +} + +.my-0 { + margin-top: 0rpx; + margin-bottom: 0rpx; +} + +.my-1 { + margin-top: 1rpx; + margin-bottom: 1rpx; +} + +.my-2 { + margin-top: 2rpx; + margin-bottom: 2rpx; +} + +.my-3 { + margin-top: 3rpx; + margin-bottom: 3rpx; +} + +.my-4 { + margin-top: 4rpx; + margin-bottom: 4rpx; +} + +.my-5 { + margin-top: 5rpx; + margin-bottom: 5rpx; +} + +.my-6 { + margin-top: 6rpx; + margin-bottom: 6rpx; +} + +.my-7 { + margin-top: 7rpx; + margin-bottom: 7rpx; +} + +.my-8 { + margin-top: 8rpx; + margin-bottom: 8rpx; +} + +.my-9 { + margin-top: 9rpx; + margin-bottom: 9rpx; +} + +.my-10 { + margin-top: 10rpx; + margin-bottom: 10rpx; +} + +.my-11 { + margin-top: 11rpx; + margin-bottom: 11rpx; +} + +.my-12 { + margin-top: 12rpx; + margin-bottom: 12rpx; +} + +.my-13 { + margin-top: 13rpx; + margin-bottom: 13rpx; +} + +.my-14 { + margin-top: 14rpx; + margin-bottom: 14rpx; +} + +.my-15 { + margin-top: 15rpx; + margin-bottom: 15rpx; +} + +.my-16 { + margin-top: 16rpx; + margin-bottom: 16rpx; +} + +.my-17 { + margin-top: 17rpx; + margin-bottom: 17rpx; +} + +.my-18 { + margin-top: 18rpx; + margin-bottom: 18rpx; +} + +.my-19 { + margin-top: 19rpx; + margin-bottom: 19rpx; +} + +.my-20 { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.my-21 { + margin-top: 21rpx; + margin-bottom: 21rpx; +} + +.my-22 { + margin-top: 22rpx; + margin-bottom: 22rpx; +} + +.my-23 { + margin-top: 23rpx; + margin-bottom: 23rpx; +} + +.my-24 { + margin-top: 24rpx; + margin-bottom: 24rpx; +} + +.my-25 { + margin-top: 25rpx; + margin-bottom: 25rpx; +} + +.my-n1 { + margin-top: 4rpx; + margin-bottom: 4rpx; +} + +.my-n2 { + margin-top: 8rpx; + margin-bottom: 8rpx; +} + +.my-n3 { + margin-top: 12rpx; + margin-bottom: 12rpx; +} + +.my-n4 { + margin-top: 16rpx; + margin-bottom: 16rpx; +} + +.my-n5 { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.my-n6 { + margin-top: 24rpx; + margin-bottom: 24rpx; +} + +.my-n7 { + margin-top: 28rpx; + margin-bottom: 28rpx; +} + +.my-n8 { + margin-top: 32rpx; + margin-bottom: 32rpx; +} + +.my-n9 { + margin-top: 36rpx; + margin-bottom: 36rpx; +} + +.my-n10 { + margin-top: 40rpx; + margin-bottom: 40rpx; +} + +.my-n11 { + margin-top: 44rpx; + margin-bottom: 44rpx; +} + +.my-n12 { + margin-top: 48rpx; + margin-bottom: 48rpx; +} + +.my-n13 { + margin-top: 52rpx; + margin-bottom: 52rpx; +} + +.my-n14 { + margin-top: 56rpx; + margin-bottom: 56rpx; +} + +.my-n15 { + margin-top: 60rpx; + margin-bottom: 60rpx; +} + +.my-n16 { + margin-top: 64rpx; + margin-bottom: 64rpx; +} + +.my-n17 { + margin-top: 68rpx; + margin-bottom: 68rpx; +} + +.my-n18 { + margin-top: 72rpx; + margin-bottom: 72rpx; +} + +.my-n19 { + margin-top: 76rpx; + margin-bottom: 76rpx; +} + +.my-n20 { + margin-top: 80rpx; + margin-bottom: 80rpx; +} + +.my-n21 { + margin-top: 84rpx; + margin-bottom: 84rpx; +} + +.my-n22 { + margin-top: 88rpx; + margin-bottom: 88rpx; +} + +.my-n23 { + margin-top: 92rpx; + margin-bottom: 92rpx; +} + +.my-n24 { + margin-top: 96rpx; + margin-bottom: 96rpx; +} + +.my-n25 { + margin-top: 100rpx; + margin-bottom: 100rpx; +} + +.t-0 { + top: 0rpx; +} + +.t--0 { + top: -0rpx; +} + +.t-1 { + top: 1rpx; +} + +.t--1 { + top: -1rpx; +} + +.t-2 { + top: 2rpx; +} + +.t--2 { + top: -2rpx; +} + +.t-3 { + top: 3rpx; +} + +.t--3 { + top: -3rpx; +} + +.t-4 { + top: 4rpx; +} + +.t--4 { + top: -4rpx; +} + +.t-5 { + top: 5rpx; +} + +.t--5 { + top: -5rpx; +} + +.t-6 { + top: 6rpx; +} + +.t--6 { + top: -6rpx; +} + +.t-7 { + top: 7rpx; +} + +.t--7 { + top: -7rpx; +} + +.t-8 { + top: 8rpx; +} + +.t--8 { + top: -8rpx; +} + +.t-9 { + top: 9rpx; +} + +.t--9 { + top: -9rpx; +} + +.t-10 { + top: 10rpx; +} + +.t--10 { + top: -10rpx; +} + +.t-11 { + top: 11rpx; +} + +.t--11 { + top: -11rpx; +} + +.t-12 { + top: 12rpx; +} + +.t--12 { + top: -12rpx; +} + +.t-13 { + top: 13rpx; +} + +.t--13 { + top: -13rpx; +} + +.t-14 { + top: 14rpx; +} + +.t--14 { + top: -14rpx; +} + +.t-15 { + top: 15rpx; +} + +.t--15 { + top: -15rpx; +} + +.t-16 { + top: 16rpx; +} + +.t--16 { + top: -16rpx; +} + +.t-17 { + top: 17rpx; +} + +.t--17 { + top: -17rpx; +} + +.t-18 { + top: 18rpx; +} + +.t--18 { + top: -18rpx; +} + +.t-19 { + top: 19rpx; +} + +.t--19 { + top: -19rpx; +} + +.t-20 { + top: 20rpx; +} + +.t--20 { + top: -20rpx; +} + +.t-21 { + top: 21rpx; +} + +.t--21 { + top: -21rpx; +} + +.t-22 { + top: 22rpx; +} + +.t--22 { + top: -22rpx; +} + +.t-23 { + top: 23rpx; +} + +.t--23 { + top: -23rpx; +} + +.t-24 { + top: 24rpx; +} + +.t--24 { + top: -24rpx; +} + +.t-25 { + top: 25rpx; +} + +.t--25 { + top: -25rpx; +} + +.t-n1 { + top: 4rpx; +} + +.t--n1 { + top: -4rpx; +} + +.t-n2 { + top: 8rpx; +} + +.t--n2 { + top: -8rpx; +} + +.t-n3 { + top: 12rpx; +} + +.t--n3 { + top: -12rpx; +} + +.t-n4 { + top: 16rpx; +} + +.t--n4 { + top: -16rpx; +} + +.t-n5 { + top: 20rpx; +} + +.t--n5 { + top: -20rpx; +} + +.t-n6 { + top: 24rpx; +} + +.t--n6 { + top: -24rpx; +} + +.t-n7 { + top: 28rpx; +} + +.t--n7 { + top: -28rpx; +} + +.t-n8 { + top: 32rpx; +} + +.t--n8 { + top: -32rpx; +} + +.t-n9 { + top: 36rpx; +} + +.t--n9 { + top: -36rpx; +} + +.t-n10 { + top: 40rpx; +} + +.t--n10 { + top: -40rpx; +} + +.t-n11 { + top: 44rpx; +} + +.t--n11 { + top: -44rpx; +} + +.t-n12 { + top: 48rpx; +} + +.t--n12 { + top: -48rpx; +} + +.t-n13 { + top: 52rpx; +} + +.t--n13 { + top: -52rpx; +} + +.t-n14 { + top: 56rpx; +} + +.t--n14 { + top: -56rpx; +} + +.t-n15 { + top: 60rpx; +} + +.t--n15 { + top: -60rpx; +} + +.t-n16 { + top: 64rpx; +} + +.t--n16 { + top: -64rpx; +} + +.t-n17 { + top: 68rpx; +} + +.t--n17 { + top: -68rpx; +} + +.t-n18 { + top: 72rpx; +} + +.t--n18 { + top: -72rpx; +} + +.t-n19 { + top: 76rpx; +} + +.t--n19 { + top: -76rpx; +} + +.t-n20 { + top: 80rpx; +} + +.t--n20 { + top: -80rpx; +} + +.t-n21 { + top: 84rpx; +} + +.t--n21 { + top: -84rpx; +} + +.t-n22 { + top: 88rpx; +} + +.t--n22 { + top: -88rpx; +} + +.t-n23 { + top: 92rpx; +} + +.t--n23 { + top: -92rpx; +} + +.t-n24 { + top: 96rpx; +} + +.t--n24 { + top: -96rpx; +} + +.t-n25 { + top: 100rpx; +} + +.t--n25 { + top: -100rpx; +} + +.r-0 { + right: 0rpx; +} + +.r--0 { + right: -0rpx; +} + +.r-1 { + right: 1rpx; +} + +.r--1 { + right: -1rpx; +} + +.r-2 { + right: 2rpx; +} + +.r--2 { + right: -2rpx; +} + +.r-3 { + right: 3rpx; +} + +.r--3 { + right: -3rpx; +} + +.r-4 { + right: 4rpx; +} + +.r--4 { + right: -4rpx; +} + +.r-5 { + right: 5rpx; +} + +.r--5 { + right: -5rpx; +} + +.r-6 { + right: 6rpx; +} + +.r--6 { + right: -6rpx; +} + +.r-7 { + right: 7rpx; +} + +.r--7 { + right: -7rpx; +} + +.r-8 { + right: 8rpx; +} + +.r--8 { + right: -8rpx; +} + +.r-9 { + right: 9rpx; +} + +.r--9 { + right: -9rpx; +} + +.r-10 { + right: 10rpx; +} + +.r--10 { + right: -10rpx; +} + +.r-11 { + right: 11rpx; +} + +.r--11 { + right: -11rpx; +} + +.r-12 { + right: 12rpx; +} + +.r--12 { + right: -12rpx; +} + +.r-13 { + right: 13rpx; +} + +.r--13 { + right: -13rpx; +} + +.r-14 { + right: 14rpx; +} + +.r--14 { + right: -14rpx; +} + +.r-15 { + right: 15rpx; +} + +.r--15 { + right: -15rpx; +} + +.r-16 { + right: 16rpx; +} + +.r--16 { + right: -16rpx; +} + +.r-17 { + right: 17rpx; +} + +.r--17 { + right: -17rpx; +} + +.r-18 { + right: 18rpx; +} + +.r--18 { + right: -18rpx; +} + +.r-19 { + right: 19rpx; +} + +.r--19 { + right: -19rpx; +} + +.r-20 { + right: 20rpx; +} + +.r--20 { + right: -20rpx; +} + +.r-21 { + right: 21rpx; +} + +.r--21 { + right: -21rpx; +} + +.r-22 { + right: 22rpx; +} + +.r--22 { + right: -22rpx; +} + +.r-23 { + right: 23rpx; +} + +.r--23 { + right: -23rpx; +} + +.r-24 { + right: 24rpx; +} + +.r--24 { + right: -24rpx; +} + +.r-25 { + right: 25rpx; +} + +.r--25 { + right: -25rpx; +} + +.r-n1 { + right: 4rpx; +} + +.r--n1 { + right: -4rpx; +} + +.r-n2 { + right: 8rpx; +} + +.r--n2 { + right: -8rpx; +} + +.r-n3 { + right: 12rpx; +} + +.r--n3 { + right: -12rpx; +} + +.r-n4 { + right: 16rpx; +} + +.r--n4 { + right: -16rpx; +} + +.r-n5 { + right: 20rpx; +} + +.r--n5 { + right: -20rpx; +} + +.r-n6 { + right: 24rpx; +} + +.r--n6 { + right: -24rpx; +} + +.r-n7 { + right: 28rpx; +} + +.r--n7 { + right: -28rpx; +} + +.r-n8 { + right: 32rpx; +} + +.r--n8 { + right: -32rpx; +} + +.r-n9 { + right: 36rpx; +} + +.r--n9 { + right: -36rpx; +} + +.r-n10 { + right: 40rpx; +} + +.r--n10 { + right: -40rpx; +} + +.r-n11 { + right: 44rpx; +} + +.r--n11 { + right: -44rpx; +} + +.r-n12 { + right: 48rpx; +} + +.r--n12 { + right: -48rpx; +} + +.r-n13 { + right: 52rpx; +} + +.r--n13 { + right: -52rpx; +} + +.r-n14 { + right: 56rpx; +} + +.r--n14 { + right: -56rpx; +} + +.r-n15 { + right: 60rpx; +} + +.r--n15 { + right: -60rpx; +} + +.r-n16 { + right: 64rpx; +} + +.r--n16 { + right: -64rpx; +} + +.r-n17 { + right: 68rpx; +} + +.r--n17 { + right: -68rpx; +} + +.r-n18 { + right: 72rpx; +} + +.r--n18 { + right: -72rpx; +} + +.r-n19 { + right: 76rpx; +} + +.r--n19 { + right: -76rpx; +} + +.r-n20 { + right: 80rpx; +} + +.r--n20 { + right: -80rpx; +} + +.r-n21 { + right: 84rpx; +} + +.r--n21 { + right: -84rpx; +} + +.r-n22 { + right: 88rpx; +} + +.r--n22 { + right: -88rpx; +} + +.r-n23 { + right: 92rpx; +} + +.r--n23 { + right: -92rpx; +} + +.r-n24 { + right: 96rpx; +} + +.r--n24 { + right: -96rpx; +} + +.r-n25 { + right: 100rpx; +} + +.r--n25 { + right: -100rpx; +} + +.b-0 { + bottom: 0rpx; +} + +.b--0 { + bottom: -0rpx; +} + +.b-1 { + bottom: 1rpx; +} + +.b--1 { + bottom: -1rpx; +} + +.b-2 { + bottom: 2rpx; +} + +.b--2 { + bottom: -2rpx; +} + +.b-3 { + bottom: 3rpx; +} + +.b--3 { + bottom: -3rpx; +} + +.b-4 { + bottom: 4rpx; +} + +.b--4 { + bottom: -4rpx; +} + +.b-5 { + bottom: 5rpx; +} + +.b--5 { + bottom: -5rpx; +} + +.b-6 { + bottom: 6rpx; +} + +.b--6 { + bottom: -6rpx; +} + +.b-7 { + bottom: 7rpx; +} + +.b--7 { + bottom: -7rpx; +} + +.b-8 { + bottom: 8rpx; +} + +.b--8 { + bottom: -8rpx; +} + +.b-9 { + bottom: 9rpx; +} + +.b--9 { + bottom: -9rpx; +} + +.b-10 { + bottom: 10rpx; +} + +.b--10 { + bottom: -10rpx; +} + +.b-11 { + bottom: 11rpx; +} + +.b--11 { + bottom: -11rpx; +} + +.b-12 { + bottom: 12rpx; +} + +.b--12 { + bottom: -12rpx; +} + +.b-13 { + bottom: 13rpx; +} + +.b--13 { + bottom: -13rpx; +} + +.b-14 { + bottom: 14rpx; +} + +.b--14 { + bottom: -14rpx; +} + +.b-15 { + bottom: 15rpx; +} + +.b--15 { + bottom: -15rpx; +} + +.b-16 { + bottom: 16rpx; +} + +.b--16 { + bottom: -16rpx; +} + +.b-17 { + bottom: 17rpx; +} + +.b--17 { + bottom: -17rpx; +} + +.b-18 { + bottom: 18rpx; +} + +.b--18 { + bottom: -18rpx; +} + +.b-19 { + bottom: 19rpx; +} + +.b--19 { + bottom: -19rpx; +} + +.b-20 { + bottom: 20rpx; +} + +.b--20 { + bottom: -20rpx; +} + +.b-21 { + bottom: 21rpx; +} + +.b--21 { + bottom: -21rpx; +} + +.b-22 { + bottom: 22rpx; +} + +.b--22 { + bottom: -22rpx; +} + +.b-23 { + bottom: 23rpx; +} + +.b--23 { + bottom: -23rpx; +} + +.b-24 { + bottom: 24rpx; +} + +.b--24 { + bottom: -24rpx; +} + +.b-25 { + bottom: 25rpx; +} + +.b--25 { + bottom: -25rpx; +} + +.b-n1 { + bottom: 4rpx; +} + +.b--n1 { + bottom: -4rpx; +} + +.b-n2 { + bottom: 8rpx; +} + +.b--n2 { + bottom: -8rpx; +} + +.b-n3 { + bottom: 12rpx; +} + +.b--n3 { + bottom: -12rpx; +} + +.b-n4 { + bottom: 16rpx; +} + +.b--n4 { + bottom: -16rpx; +} + +.b-n5 { + bottom: 20rpx; +} + +.b--n5 { + bottom: -20rpx; +} + +.b-n6 { + bottom: 24rpx; +} + +.b--n6 { + bottom: -24rpx; +} + +.b-n7 { + bottom: 28rpx; +} + +.b--n7 { + bottom: -28rpx; +} + +.b-n8 { + bottom: 32rpx; +} + +.b--n8 { + bottom: -32rpx; +} + +.b-n9 { + bottom: 36rpx; +} + +.b--n9 { + bottom: -36rpx; +} + +.b-n10 { + bottom: 40rpx; +} + +.b--n10 { + bottom: -40rpx; +} + +.b-n11 { + bottom: 44rpx; +} + +.b--n11 { + bottom: -44rpx; +} + +.b-n12 { + bottom: 48rpx; +} + +.b--n12 { + bottom: -48rpx; +} + +.b-n13 { + bottom: 52rpx; +} + +.b--n13 { + bottom: -52rpx; +} + +.b-n14 { + bottom: 56rpx; +} + +.b--n14 { + bottom: -56rpx; +} + +.b-n15 { + bottom: 60rpx; +} + +.b--n15 { + bottom: -60rpx; +} + +.b-n16 { + bottom: 64rpx; +} + +.b--n16 { + bottom: -64rpx; +} + +.b-n17 { + bottom: 68rpx; +} + +.b--n17 { + bottom: -68rpx; +} + +.b-n18 { + bottom: 72rpx; +} + +.b--n18 { + bottom: -72rpx; +} + +.b-n19 { + bottom: 76rpx; +} + +.b--n19 { + bottom: -76rpx; +} + +.b-n20 { + bottom: 80rpx; +} + +.b--n20 { + bottom: -80rpx; +} + +.b-n21 { + bottom: 84rpx; +} + +.b--n21 { + bottom: -84rpx; +} + +.b-n22 { + bottom: 88rpx; +} + +.b--n22 { + bottom: -88rpx; +} + +.b-n23 { + bottom: 92rpx; +} + +.b--n23 { + bottom: -92rpx; +} + +.b-n24 { + bottom: 96rpx; +} + +.b--n24 { + bottom: -96rpx; +} + +.b-n25 { + bottom: 100rpx; +} + +.b--n25 { + bottom: -100rpx; +} + +.l-0 { + left: 0rpx; +} + +.l--0 { + left: -0rpx; +} + +.l-1 { + left: 1rpx; +} + +.l--1 { + left: -1rpx; +} + +.l-2 { + left: 2rpx; +} + +.l--2 { + left: -2rpx; +} + +.l-3 { + left: 3rpx; +} + +.l--3 { + left: -3rpx; +} + +.l-4 { + left: 4rpx; +} + +.l--4 { + left: -4rpx; +} + +.l-5 { + left: 5rpx; +} + +.l--5 { + left: -5rpx; +} + +.l-6 { + left: 6rpx; +} + +.l--6 { + left: -6rpx; +} + +.l-7 { + left: 7rpx; +} + +.l--7 { + left: -7rpx; +} + +.l-8 { + left: 8rpx; +} + +.l--8 { + left: -8rpx; +} + +.l-9 { + left: 9rpx; +} + +.l--9 { + left: -9rpx; +} + +.l-10 { + left: 10rpx; +} + +.l--10 { + left: -10rpx; +} + +.l-11 { + left: 11rpx; +} + +.l--11 { + left: -11rpx; +} + +.l-12 { + left: 12rpx; +} + +.l--12 { + left: -12rpx; +} + +.l-13 { + left: 13rpx; +} + +.l--13 { + left: -13rpx; +} + +.l-14 { + left: 14rpx; +} + +.l--14 { + left: -14rpx; +} + +.l-15 { + left: 15rpx; +} + +.l--15 { + left: -15rpx; +} + +.l-16 { + left: 16rpx; +} + +.l--16 { + left: -16rpx; +} + +.l-17 { + left: 17rpx; +} + +.l--17 { + left: -17rpx; +} + +.l-18 { + left: 18rpx; +} + +.l--18 { + left: -18rpx; +} + +.l-19 { + left: 19rpx; +} + +.l--19 { + left: -19rpx; +} + +.l-20 { + left: 20rpx; +} + +.l--20 { + left: -20rpx; +} + +.l-21 { + left: 21rpx; +} + +.l--21 { + left: -21rpx; +} + +.l-22 { + left: 22rpx; +} + +.l--22 { + left: -22rpx; +} + +.l-23 { + left: 23rpx; +} + +.l--23 { + left: -23rpx; +} + +.l-24 { + left: 24rpx; +} + +.l--24 { + left: -24rpx; +} + +.l-25 { + left: 25rpx; +} + +.l--25 { + left: -25rpx; +} + +.l-n1 { + left: 4rpx; +} + +.l--n1 { + left: -4rpx; +} + +.l-n2 { + left: 8rpx; +} + +.l--n2 { + left: -8rpx; +} + +.l-n3 { + left: 12rpx; +} + +.l--n3 { + left: -12rpx; +} + +.l-n4 { + left: 16rpx; +} + +.l--n4 { + left: -16rpx; +} + +.l-n5 { + left: 20rpx; +} + +.l--n5 { + left: -20rpx; +} + +.l-n6 { + left: 24rpx; +} + +.l--n6 { + left: -24rpx; +} + +.l-n7 { + left: 28rpx; +} + +.l--n7 { + left: -28rpx; +} + +.l-n8 { + left: 32rpx; +} + +.l--n8 { + left: -32rpx; +} + +.l-n9 { + left: 36rpx; +} + +.l--n9 { + left: -36rpx; +} + +.l-n10 { + left: 40rpx; +} + +.l--n10 { + left: -40rpx; +} + +.l-n11 { + left: 44rpx; +} + +.l--n11 { + left: -44rpx; +} + +.l-n12 { + left: 48rpx; +} + +.l--n12 { + left: -48rpx; +} + +.l-n13 { + left: 52rpx; +} + +.l--n13 { + left: -52rpx; +} + +.l-n14 { + left: 56rpx; +} + +.l--n14 { + left: -56rpx; +} + +.l-n15 { + left: 60rpx; +} + +.l--n15 { + left: -60rpx; +} + +.l-n16 { + left: 64rpx; +} + +.l--n16 { + left: -64rpx; +} + +.l-n17 { + left: 68rpx; +} + +.l--n17 { + left: -68rpx; +} + +.l-n18 { + left: 72rpx; +} + +.l--n18 { + left: -72rpx; +} + +.l-n19 { + left: 76rpx; +} + +.l--n19 { + left: -76rpx; +} + +.l-n20 { + left: 80rpx; +} + +.l--n20 { + left: -80rpx; +} + +.l-n21 { + left: 84rpx; +} + +.l--n21 { + left: -84rpx; +} + +.l-n22 { + left: 88rpx; +} + +.l--n22 { + left: -88rpx; +} + +.l-n23 { + left: 92rpx; +} + +.l--n23 { + left: -92rpx; +} + +.l-n24 { + left: 96rpx; +} + +.l--n24 { + left: -96rpx; +} + +.l-n25 { + left: 100rpx; +} + +.l--n25 { + left: -100rpx; +} + +.grid { + display: grid !important; +} + +.grid-col-1 { + grid-template-columns: repeat(1, 1fr); +} + +.grid-col-2 { + grid-template-columns: repeat(2, 1fr); +} + +.grid-col-3 { + grid-template-columns: repeat(3, 1fr); +} + +.grid-col-4 { + grid-template-columns: repeat(4, 1fr); +} + +.grid-col-5 { + grid-template-columns: repeat(5, 1fr); +} + +.grid-col-6 { + grid-template-columns: repeat(6, 1fr); +} + +.grid-col-7 { + grid-template-columns: repeat(7, 1fr); +} + +.grid-col-8 { + grid-template-columns: repeat(8, 1fr); +} + +.grid-col-9 { + grid-template-columns: repeat(9, 1fr); +} + +.grid-col-10 { + grid-template-columns: repeat(10, 1fr); +} + +.grid-col-11 { + grid-template-columns: repeat(11, 1fr); +} + +.gap-1 { + gap: 2rpx; +} + +.gap-col-1 { + grid-column-gap: 2rpx; +} + +.gap-row-1 { + grid-row-gap: 2rpx; +} + +.gap-2 { + gap: 4rpx; +} + +.gap-col-2 { + grid-column-gap: 4rpx; +} + +.gap-row-2 { + grid-row-gap: 4rpx; +} + +.gap-3 { + gap: 6rpx; +} + +.gap-col-3 { + grid-column-gap: 6rpx; +} + +.gap-row-3 { + grid-row-gap: 6rpx; +} + +.gap-4 { + gap: 8rpx; +} + +.gap-col-4 { + grid-column-gap: 8rpx; +} + +.gap-row-4 { + grid-row-gap: 8rpx; +} + +.gap-5 { + gap: 10rpx; +} + +.gap-col-5 { + grid-column-gap: 10rpx; +} + +.gap-row-5 { + grid-row-gap: 10rpx; +} + +.gap-6 { + gap: 12rpx; +} + +.gap-col-6 { + grid-column-gap: 12rpx; +} + +.gap-row-6 { + grid-row-gap: 12rpx; +} + +.gap-7 { + gap: 14rpx; +} + +.gap-col-7 { + grid-column-gap: 14rpx; +} + +.gap-row-7 { + grid-row-gap: 14rpx; +} + +.gap-8 { + gap: 16rpx; +} + +.gap-col-8 { + grid-column-gap: 16rpx; +} + +.gap-row-8 { + grid-row-gap: 16rpx; +} + +.gap-9 { + gap: 18rpx; +} + +.gap-col-9 { + grid-column-gap: 18rpx; +} + +.gap-row-9 { + grid-row-gap: 18rpx; +} + +.gap-10 { + gap: 20rpx; +} + +.gap-col-10 { + grid-column-gap: 20rpx; +} + +.gap-row-10 { + grid-row-gap: 20rpx; +} + +.gap-11 { + gap: 22rpx; +} + +.gap-col-11 { + grid-column-gap: 22rpx; +} + +.gap-row-11 { + grid-row-gap: 22rpx; +} + +.gap-12 { + gap: 24rpx; +} + +.gap-col-12 { + grid-column-gap: 24rpx; +} + +.gap-row-12 { + grid-row-gap: 24rpx; +} + +.gap-13 { + gap: 26rpx; +} + +.gap-col-13 { + grid-column-gap: 26rpx; +} + +.gap-row-13 { + grid-row-gap: 26rpx; +} + +.gap-14 { + gap: 28rpx; +} + +.gap-col-14 { + grid-column-gap: 28rpx; +} + +.gap-row-14 { + grid-row-gap: 28rpx; +} + +.gap-15 { + gap: 30rpx; +} + +.gap-col-15 { + grid-column-gap: 30rpx; +} + +.gap-row-15 { + grid-row-gap: 30rpx; +} + +.gap-16 { + gap: 32rpx; +} + +.gap-col-16 { + grid-column-gap: 32rpx; +} + +.gap-row-16 { + grid-row-gap: 32rpx; +} + +.gap-17 { + gap: 34rpx; +} + +.gap-col-17 { + grid-column-gap: 34rpx; +} + +.gap-row-17 { + grid-row-gap: 34rpx; +} + +.gap-18 { + gap: 36rpx; +} + +.gap-col-18 { + grid-column-gap: 36rpx; +} + +.gap-row-18 { + grid-row-gap: 36rpx; +} + +.gap-19 { + gap: 38rpx; +} + +.gap-col-19 { + grid-column-gap: 38rpx; +} + +.gap-row-19 { + grid-row-gap: 38rpx; +} + +.gap-20 { + gap: 40rpx; +} + +.gap-col-20 { + grid-column-gap: 40rpx; +} + +.gap-row-20 { + grid-row-gap: 40rpx; +} + +.gap-21 { + gap: 42rpx; +} + +.gap-col-21 { + grid-column-gap: 42rpx; +} + +.gap-row-21 { + grid-row-gap: 42rpx; +} + +.gap-22 { + gap: 44rpx; +} + +.gap-col-22 { + grid-column-gap: 44rpx; +} + +.gap-row-22 { + grid-row-gap: 44rpx; +} + +.gap-23 { + gap: 46rpx; +} + +.gap-col-23 { + grid-column-gap: 46rpx; +} + +.gap-row-23 { + grid-row-gap: 46rpx; +} + +.gap-24 { + gap: 48rpx; +} + +.gap-col-24 { + grid-column-gap: 48rpx; +} + +.gap-row-24 { + grid-row-gap: 48rpx; +} + +.gap-25 { + gap: 50rpx; +} + +.gap-col-25 { + grid-column-gap: 50rpx; +} + +.gap-row-25 { + grid-row-gap: 50rpx; +} + +.flex { + display: flex !important; +} + +.flex-col { + flex-direction: column !important; +} + +.flex-wrap { + flex-flow: row wrap !important; +} + +/* #ifndef APP-PLUS-NVUE */ +.flex-shrink { + flex-shrink: 0 !important; +} + +/* #endif */ +.flex-row { + flex-direction: row !important; +} + +.flex-reverse { + flex-direction: row-reverse !important; +} + +.flex-row-top-start { + justify-content: flex-start !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-row-top-center { + justify-content: center !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-row-top-end { + justify-content: flex-end !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-row-center-start { + justify-content: flex-start !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-row-center-center { + justify-content: center !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-row-center-end { + justify-content: flex-end !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-row-bottom-start { + justify-content: flex-start !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-row-bottom-center { + justify-content: center !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-row-bottom-end { + justify-content: flex-end !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-row-center-between { + justify-content: space-between !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-col-top-start { + justify-content: flex-start !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-col-top-center { + justify-content: flex-start !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-col-top-end { + justify-content: flex-start !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-col-center-start { + justify-content: center !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-col-center-center { + justify-content: center !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-col-center-end { + justify-content: center !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-col-bottom-start { + justify-content: flex-end !important; + align-items: flex-start !important; + align-content: center; + display: flex !important; +} + +.flex-col-bottom-center { + justify-content: flex-end !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-col-bottom-end { + justify-content: flex-end !important; + align-items: flex-end !important; + align-content: center; + display: flex !important; +} + +.flex-start { + justify-content: flex-start !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-end { + justify-content: flex-end !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-center { + justify-content: center !important; + align-items: center !important; + align-content: center; + display: flex !important; +} + +.flex-between { + justify-content: space-between; +} + +.flex-col-full { + flex-direction: column; + align-items: stretch; +} + +.flex-around { + justify-content: space-around; +} + +.flex-row-baseline-start { + justify-content: flex-start !important; + align-items: baseline !important; + align-content: center; + align-content: center; + display: flex !important; +} + +.flex-row-baseline-center { + justify-content: center !important; + align-items: baseline !important; + align-content: center; + align-content: center; + display: flex !important; +} + +.flex-row-baseline-end { + justify-content: flex-end !important; + align-items: baseline !important; + align-content: center; + align-content: center; + display: flex !important; +} + +.flex-0 { + flex-grow: 0 !important; +} + +.flex-1 { + flex-grow: 1 !important; +} + +.flex-2 { + flex-grow: 2 !important; +} + +.flex-3 { + flex-grow: 3 !important; +} + +.flex-4 { + flex-grow: 4 !important; +} + +.flex-5 { + flex-grow: 5 !important; +} + +.flex-6 { + flex-grow: 6 !important; +} + +.flex-7 { + flex-grow: 7 !important; +} + +.flex-8 { + flex-grow: 8 !important; +} + +.flex-9 { + flex-grow: 9 !important; +} + +.flex-10 { + flex-grow: 10 !important; +} + +.flex-11 { + flex-grow: 11 !important; +} + +.flex-12 { + flex-grow: 12 !important; +} + +.text-red { + color: #f44336 !important; +} + +.red { + background-color: #f44336; +} + +.text-pink { + color: #e91e63 !important; +} + +.pink { + background-color: #e91e63; +} + +.text-purple { + color: #9c27b0 !important; +} + +.purple { + background-color: #9c27b0; +} + +.text-deep-purple { + color: #673ab7 !important; +} + +.deep-purple { + background-color: #673ab7; +} + +.text-indigo { + color: #3f51b5 !important; +} + +.indigo { + background-color: #3f51b5; +} + +.text-blue { + color: #2196f3 !important; +} + +.blue { + background-color: #2196f3; +} + +.text-light-blue { + color: #03a9f4 !important; +} + +.light-blue { + background-color: #03a9f4; +} + +.text-cyan { + color: #00bcd4 !important; +} + +.cyan { + background-color: #00bcd4; +} + +.text-teal { + color: #009688 !important; +} + +.teal { + background-color: #009688; +} + +.text-green { + color: #4caf50 !important; +} + +.green { + background-color: #4caf50; +} + +.text-light-green { + color: #8bc34a !important; +} + +.light-green { + background-color: #8bc34a; +} + +.text-lime { + color: #cddc39 !important; +} + +.lime { + background-color: #cddc39; +} + +.text-yellow { + color: #ffeb3b !important; +} + +.yellow { + background-color: #ffeb3b; +} + +.text-amber { + color: #ffc107 !important; +} + +.amber { + background-color: #ffc107; +} + +.text-orange { + color: #ff9800 !important; +} + +.orange { + background-color: #ff9800; +} + +.text-deep-orange { + color: #ff5722 !important; +} + +.deep-orange { + background-color: #ff5722; +} + +.text-brown { + color: #795548 !important; +} + +.brown { + background-color: #795548; +} + +.text-blue-grey { + color: #607d8b !important; +} + +.blue-grey { + background-color: #607d8b; +} + +.text-grey { + color: #9e9e9e !important; +} + +.grey { + background-color: #9e9e9e; +} + +.text-black { + color: #000000 !important; +} + +.black { + background-color: #000000; +} + +.text-white { + color: #ffffff !important; +} + +.white { + background-color: #ffffff; +} + +.text-lighten-5 { + color: #fafafa !important; +} + +.lighten-5 { + background-color: #fafafa; +} + +.text-lighten-4 { + color: #f5f5f5 !important; +} + +.lighten-4 { + background-color: #f5f5f5; +} + +.text-lighten-3 { + color: #eeeeee !important; +} + +.lighten-3 { + background-color: #eeeeee; +} + +.text-lighten-2 { + color: #e0e0e0 !important; +} + +.lighten-2 { + background-color: #e0e0e0; +} + +.text-lighten-1 { + color: #bdbdbd !important; +} + +.lighten-1 { + background-color: #bdbdbd; +} + +.text-darken-1 { + color: #757575 !important; +} + +.darken-1 { + background-color: #757575; +} + +.text-darken-2 { + color: #616161 !important; +} + +.darken-2 { + background-color: #616161; +} + +.text-darken-3 { + color: #424242 !important; +} + +.darken-3 { + background-color: #424242; +} + +.text-darken-4 { + color: #212121 !important; +} + +.darken-4 { + background-color: #212121; +} + +.text-darken-5 { + color: #131313 !important; +} + +.darken-5 { + background-color: #131313; +} + +.text-darken-6 { + color: #0a0a0a !important; +} + +.darken-6 { + background-color: #0a0a0a; +}/*# sourceMappingURL=tmui.css.map */ \ No newline at end of file diff --git a/src/uni_modules/tm-ui/css/tmui.css.map b/src/uni_modules/tm-ui/css/tmui.css.map new file mode 100644 index 0000000..c6095d4 --- /dev/null +++ b/src/uni_modules/tm-ui/css/tmui.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tmui.scss","tmui.css"],"names":[],"mappings":"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XE;EAME,yCAAA;ACuXJ;;AD7XE;EAME,yCAAA;AC2XJ;;ADjYE;EAME,yCAAA;AC+XJ;;ADrYE;EAME,yCAAA;ACmYJ;;ADzYE;EAME,yCAAA;ACuYJ;;AD7YE;EAME,yCAAA;AC2YJ;;ADjZE;EAME,yCAAA;AC+YJ;;ADrZE;EAME,yCAAA;ACmZJ;;ADzZE;EAME,yCAAA;ACuZJ;;AD7ZE;EAME,yCAAA;AC2ZJ;;ADjaE;EAME,yCAAA;AC+ZJ;;ADraE;EAME,yCAAA;ACmaJ;;ADzaE;EAME,yCAAA;ACuaJ;;AD7aE;EAME,yCAAA;AC2aJ;;ADjbE;EAME,yCAAA;AC+aJ;;ADrbE;EAME,yCAAA;ACmbJ;;ADzbE;EAME,yCAAA;ACubJ;;AD7bE;EAME,yCAAA;AC2bJ;;ADjcE;EAME,yCAAA;AC+bJ;;ADrcE;EAME,0CAAA;ACmcJ;;ADzcE;EAUE,0CAAA;ACmcJ;;AD7cE;EAUE,0CAAA;ACucJ;;ADjdE;EAUE,0CAAA;AC2cJ;;ADrdE;EAUE,2CAAA;AC+cJ;;ADzdE;EAUE,2CAAA;ACmdJ;;AD7dE;EAUE,2CAAA;ACudJ;;ADjeE;EAUE,2CAAA;AC2dJ;;ADreE;EAUE,2CAAA;AC+dJ;;ADzeE;EAUE,2CAAA;ACmeJ;;AD7eE;EAUE,2CAAA;ACueJ;;ADjfE;EAUE,2CAAA;AC2eJ;;ADrfE;EAUE,2CAAA;AC+eJ;;ADzfE;EAUE,2CAAA;ACmfJ;;AD7fE;EAUE,2CAAA;ACufJ;;ADjgBE;EAUE,2CAAA;AC2fJ;;ADrgBE;EAUE,2CAAA;AC+fJ;;ADzgBE;EAUE,2CAAA;ACmgBJ;;AD7gBE;EAUE,2CAAA;ACugBJ;;ADjhBE;EAUE,2CAAA;AC2gBJ;;ADrhBE;EAUE,2CAAA;AC+gBJ;;ADzhBE;EAUE,2CAAA;ACmhBJ;;AD7hBE;EAUE,2CAAA;ACuhBJ;;ADjiBE;EAUE,2CAAA;AC2hBJ;;ADriBE;EAUE,2CAAA;AC+hBJ;;ADziBE;EAUE,2CAAA;ACmiBJ;;AD7iBE;EAUE,4CAAA;ACuiBJ;;ADjjBE;EAcE,2CAAA;ACuiBJ;;ADrjBE;EAcE,2CAAA;AC2iBJ;;ADzjBE;EAcE,2CAAA;AC+iBJ;;AD7jBE;EAcE,4CAAA;ACmjBJ;;ADjkBE;EAcE,4CAAA;ACujBJ;;ADrkBE;EAcE,4CAAA;AC2jBJ;;ADzkBE;EAcE,4CAAA;AC+jBJ;;AD7kBE;EAcE,4CAAA;ACmkBJ;;ADjlBE;EAcE,4CAAA;ACukBJ;;ADrlBE;EAcE,4CAAA;AC2kBJ;;ADzlBE;EAcE,4CAAA;AC+kBJ;;AD7lBE;EAcE,4CAAA;ACmlBJ;;ADjmBE;EAcE,4CAAA;ACulBJ;;ADrmBE;EAcE,4CAAA;AC2lBJ;;ADzmBE;EAcE,4CAAA;AC+lBJ;;AD7mBE;EAcE,4CAAA;ACmmBJ;;ADjnBE;EAcE,4CAAA;ACumBJ;;ADrnBE;EAcE,4CAAA;AC2mBJ;;ADznBE;EAcE,4CAAA;AC+mBJ;;AD7nBE;EAcE,4CAAA;ACmnBJ;;ADjoBE;EAcE,4CAAA;ACunBJ;;ADroBE;EAcE,4CAAA;AC2nBJ;;ADzoBE;EAcE,4CAAA;AC+nBJ;;AD7oBE;EAcE,4CAAA;ACmoBJ;;ADjpBE;EAcE,4CAAA;ACuoBJ;;ADrpBE;EAcE,6CAAA;AC2oBJ;;ADzpBE;EAsCE,8BAAA;ACunBJ;;AD7pBE;EAsCE,8BAAA;AC2nBJ;;ADjqBE;EAsCE,8BAAA;AC+nBJ;;ADrqBE;EAsCE,+BAAA;ACmoBJ;;ADzqBE;EAsCE,+BAAA;ACuoBJ;;AD7qBE;EAsCE,+BAAA;AC2oBJ;;ADjrBE;EAsCE,+BAAA;AC+oBJ;;ADrrBE;EAsCE,+BAAA;ACmpBJ;;ADzrBE;EAsCE,+BAAA;ACupBJ;;AD7rBE;EAsCE,+BAAA;AC2pBJ;;ADjsBE;EAsCE,+BAAA;AC+pBJ;;ADrsBE;EAsCE,+BAAA;ACmqBJ;;ADzsBE;EAsCE,+BAAA;ACuqBJ;;AD7sBE;EAsCE,+BAAA;AC2qBJ;;ADjtBE;EAsCE,+BAAA;AC+qBJ;;ADrtBE;EAsCE,+BAAA;ACmrBJ;;ADztBE;EAsCE,+BAAA;ACurBJ;;AD7tBE;EAsCE,+BAAA;AC2rBJ;;ADjuBE;EAsCE,+BAAA;AC+rBJ;;ADruBE;EAsCE,+BAAA;ACmsBJ;;ADzuBE;EAsCE,+BAAA;ACusBJ;;AD7uBE;EAsCE,+BAAA;AC2sBJ;;ADjvBE;EAsCE,+BAAA;AC+sBJ;;ADrvBE;EAsCE,+BAAA;ACmtBJ;;ADzvBE;EAsCE,+BAAA;ACutBJ;;AD7vBE;EAsCE,gCAAA;AC2tBJ;;ADjwBE;EAkBE,uCAAA;EACA,wCAAA;ACmvBJ;;ADtwBE;EAkBE,uCAAA;EACA,wCAAA;ACwvBJ;;AD3wBE;EAkBE,uCAAA;EACA,wCAAA;AC6vBJ;;ADhxBE;EAkBE,wCAAA;EACA,yCAAA;ACkwBJ;;ADrxBE;EAkBE,wCAAA;EACA,yCAAA;ACuwBJ;;AD1xBE;EAkBE,wCAAA;EACA,yCAAA;AC4wBJ;;AD/xBE;EAkBE,wCAAA;EACA,yCAAA;ACixBJ;;ADpyBE;EAkBE,wCAAA;EACA,yCAAA;ACsxBJ;;ADzyBE;EAkBE,wCAAA;EACA,yCAAA;AC2xBJ;;AD9yBE;EAkBE,wCAAA;EACA,yCAAA;ACgyBJ;;ADnzBE;EAkBE,wCAAA;EACA,yCAAA;ACqyBJ;;ADxzBE;EAkBE,wCAAA;EACA,yCAAA;AC0yBJ;;AD7zBE;EAkBE,wCAAA;EACA,yCAAA;AC+yBJ;;ADl0BE;EAkBE,wCAAA;EACA,yCAAA;ACozBJ;;ADv0BE;EAkBE,wCAAA;EACA,yCAAA;ACyzBJ;;AD50BE;EAkBE,wCAAA;EACA,yCAAA;AC8zBJ;;ADj1BE;EAkBE,wCAAA;EACA,yCAAA;ACm0BJ;;ADt1BE;EAkBE,wCAAA;EACA,yCAAA;ACw0BJ;;AD31BE;EAkBE,wCAAA;EACA,yCAAA;AC60BJ;;ADh2BE;EAkBE,wCAAA;EACA,yCAAA;ACk1BJ;;ADr2BE;EAkBE,wCAAA;EACA,yCAAA;ACu1BJ;;AD12BE;EAkBE,wCAAA;EACA,yCAAA;AC41BJ;;AD/2BE;EAkBE,wCAAA;EACA,yCAAA;ACi2BJ;;ADp3BE;EAkBE,wCAAA;EACA,yCAAA;ACs2BJ;;ADz3BE;EAkBE,wCAAA;EACA,yCAAA;AC22BJ;;AD93BE;EAkBE,yCAAA;EACA,0CAAA;ACg3BJ;;ADn4BE;EAuBE,0CAAA;EACA,2CAAA;ACg3BJ;;ADx4BE;EAuBE,0CAAA;EACA,2CAAA;ACq3BJ;;AD74BE;EAuBE,0CAAA;EACA,2CAAA;AC03BJ;;ADl5BE;EAuBE,2CAAA;EACA,4CAAA;AC+3BJ;;ADv5BE;EAuBE,2CAAA;EACA,4CAAA;ACo4BJ;;AD55BE;EAuBE,2CAAA;EACA,4CAAA;ACy4BJ;;ADj6BE;EAuBE,2CAAA;EACA,4CAAA;AC84BJ;;ADt6BE;EAuBE,2CAAA;EACA,4CAAA;ACm5BJ;;AD36BE;EAuBE,2CAAA;EACA,4CAAA;ACw5BJ;;ADh7BE;EAuBE,2CAAA;EACA,4CAAA;AC65BJ;;ADr7BE;EAuBE,2CAAA;EACA,4CAAA;ACk6BJ;;AD17BE;EAuBE,2CAAA;EACA,4CAAA;ACu6BJ;;AD/7BE;EAuBE,2CAAA;EACA,4CAAA;AC46BJ;;ADp8BE;EAuBE,2CAAA;EACA,4CAAA;ACi7BJ;;ADz8BE;EAuBE,2CAAA;EACA,4CAAA;ACs7BJ;;AD98BE;EAuBE,2CAAA;EACA,4CAAA;AC27BJ;;ADn9BE;EAuBE,2CAAA;EACA,4CAAA;ACg8BJ;;ADx9BE;EAuBE,2CAAA;EACA,4CAAA;ACq8BJ;;AD79BE;EAuBE,2CAAA;EACA,4CAAA;AC08BJ;;ADl+BE;EAuBE,2CAAA;EACA,4CAAA;AC+8BJ;;ADv+BE;EAuBE,2CAAA;EACA,4CAAA;ACo9BJ;;AD5+BE;EAuBE,2CAAA;EACA,4CAAA;ACy9BJ;;ADj/BE;EAuBE,2CAAA;EACA,4CAAA;AC89BJ;;ADt/BE;EAuBE,2CAAA;EACA,4CAAA;ACm+BJ;;AD3/BE;EAuBE,2CAAA;EACA,4CAAA;ACw+BJ;;ADhgCE;EAuBE,4CAAA;EACA,6CAAA;AC6+BJ;;ADrgCE;EA4BE,uCAAA;EACA,0CAAA;AC6+BJ;;AD1gCE;EA4BE,uCAAA;EACA,0CAAA;ACk/BJ;;AD/gCE;EA4BE,uCAAA;EACA,0CAAA;ACu/BJ;;ADphCE;EA4BE,wCAAA;EACA,2CAAA;AC4/BJ;;ADzhCE;EA4BE,wCAAA;EACA,2CAAA;ACigCJ;;AD9hCE;EA4BE,wCAAA;EACA,2CAAA;ACsgCJ;;ADniCE;EA4BE,wCAAA;EACA,2CAAA;AC2gCJ;;ADxiCE;EA4BE,wCAAA;EACA,2CAAA;ACghCJ;;AD7iCE;EA4BE,wCAAA;EACA,2CAAA;ACqhCJ;;ADljCE;EA4BE,wCAAA;EACA,2CAAA;AC0hCJ;;ADvjCE;EA4BE,wCAAA;EACA,2CAAA;AC+hCJ;;AD5jCE;EA4BE,wCAAA;EACA,2CAAA;ACoiCJ;;ADjkCE;EA4BE,wCAAA;EACA,2CAAA;ACyiCJ;;ADtkCE;EA4BE,wCAAA;EACA,2CAAA;AC8iCJ;;AD3kCE;EA4BE,wCAAA;EACA,2CAAA;ACmjCJ;;ADhlCE;EA4BE,wCAAA;EACA,2CAAA;ACwjCJ;;ADrlCE;EA4BE,wCAAA;EACA,2CAAA;AC6jCJ;;AD1lCE;EA4BE,wCAAA;EACA,2CAAA;ACkkCJ;;AD/lCE;EA4BE,wCAAA;EACA,2CAAA;ACukCJ;;ADpmCE;EA4BE,wCAAA;EACA,2CAAA;AC4kCJ;;ADzmCE;EA4BE,wCAAA;EACA,2CAAA;ACilCJ;;AD9mCE;EA4BE,wCAAA;EACA,2CAAA;ACslCJ;;ADnnCE;EA4BE,wCAAA;EACA,2CAAA;AC2lCJ;;ADxnCE;EA4BE,wCAAA;EACA,2CAAA;ACgmCJ;;AD7nCE;EA4BE,wCAAA;EACA,2CAAA;ACqmCJ;;ADloCE;EA4BE,yCAAA;EACA,4CAAA;AC0mCJ;;ADvoCE;EAiCE,wCAAA;EACA,2CAAA;AC0mCJ;;AD5oCE;EAiCE,wCAAA;EACA,2CAAA;AC+mCJ;;ADjpCE;EAiCE,wCAAA;EACA,2CAAA;AConCJ;;ADtpCE;EAiCE,yCAAA;EACA,4CAAA;ACynCJ;;AD3pCE;EAiCE,yCAAA;EACA,4CAAA;AC8nCJ;;ADhqCE;EAiCE,yCAAA;EACA,4CAAA;ACmoCJ;;ADrqCE;EAiCE,yCAAA;EACA,4CAAA;ACwoCJ;;AD1qCE;EAiCE,yCAAA;EACA,4CAAA;AC6oCJ;;AD/qCE;EAiCE,yCAAA;EACA,4CAAA;ACkpCJ;;ADprCE;EAiCE,yCAAA;EACA,4CAAA;ACupCJ;;ADzrCE;EAiCE,yCAAA;EACA,4CAAA;AC4pCJ;;AD9rCE;EAiCE,yCAAA;EACA,4CAAA;ACiqCJ;;ADnsCE;EAiCE,yCAAA;EACA,4CAAA;ACsqCJ;;ADxsCE;EAiCE,yCAAA;EACA,4CAAA;AC2qCJ;;AD7sCE;EAiCE,yCAAA;EACA,4CAAA;ACgrCJ;;ADltCE;EAiCE,yCAAA;EACA,4CAAA;ACqrCJ;;ADvtCE;EAiCE,yCAAA;EACA,4CAAA;AC0rCJ;;AD5tCE;EAiCE,yCAAA;EACA,4CAAA;AC+rCJ;;ADjuCE;EAiCE,yCAAA;EACA,4CAAA;ACosCJ;;ADtuCE;EAiCE,yCAAA;EACA,4CAAA;ACysCJ;;AD3uCE;EAiCE,yCAAA;EACA,4CAAA;AC8sCJ;;ADhvCE;EAiCE,yCAAA;EACA,4CAAA;ACmtCJ;;ADrvCE;EAiCE,yCAAA;EACA,4CAAA;ACwtCJ;;AD1vCE;EAiCE,yCAAA;EACA,4CAAA;AC6tCJ;;AD/vCE;EAiCE,yCAAA;EACA,4CAAA;ACkuCJ;;ADpwCE;EAiCE,0CAAA;EACA,6CAAA;ACuuCJ;;AD3tCC;EACC,mBAAA;AC8tCF;;AD/tCC;EACC,mBAAA;ACkuCF;;ADnuCC;EACC,mBAAA;ACsuCF;;ADvuCC;EACC,oBAAA;AC0uCF;;AD3uCC;EACC,oBAAA;AC8uCF;;AD/uCC;EACC,oBAAA;ACkvCF;;ADnvCC;EACC,oBAAA;ACsvCF;;ADvvCC;EACC,oBAAA;AC0vCF;;AD3vCC;EACC,oBAAA;AC8vCF;;AD/vCC;EACC,oBAAA;ACkwCF;;ADnwCC;EACC,oBAAA;ACswCF;;ADvwCC;EACC,oBAAA;AC0wCF;;AD3wCC;EACC,oBAAA;AC8wCF;;AD/wCC;EACC,oBAAA;ACkxCF;;ADnxCC;EACC,oBAAA;ACsxCF;;ADvxCC;EACC,oBAAA;AC0xCF;;AD3xCC;EACC,oBAAA;AC8xCF;;AD/xCC;EACC,oBAAA;ACkyCF;;ADnyCC;EACC,oBAAA;ACsyCF;;ADvyCC;EACC,oBAAA;AC0yCF;;AD3yCC;EACC,oBAAA;AC8yCF;;AD/yCC;EACC,oBAAA;ACkzCF;;ADnzCC;EACC,oBAAA;ACszCF;;ADvzCC;EACC,oBAAA;AC0zCF;;AD3zCC;EACC,oBAAA;AC8zCF;;AD/zCC;EACC,qBAAA;ACk0CF;;ADn0CC;EACC,qBAAA;ACs0CF;;ADj0CA;EACC,6BAAA;ACo0CD;;AD/zCC;EAME,UAAA;AC6zCH;;ADn0CC;EAEE,YAAA;ACq0CH;;ADv0CC;EAEE,YAAA;ACy0CH;;AD30CC;EAEE,YAAA;AC60CH;;AD/0CC;EAEE,YAAA;ACi1CH;;ADn1CC;EAEE,YAAA;ACq1CH;;ADv1CC;EAEE,YAAA;ACy1CH;;AD31CC;EAEE,YAAA;AC61CH;;AD/1CC;EAEE,YAAA;ACi2CH;;ADn2CC;EAEE,YAAA;ACq2CH;;ADv2CC;EAUE,UAAA;ACi2CH;;AD51CA;EACC,4CAAA;AC+1CD;;AD31CC;EACC,4CAAA;AC81CF;;AD/1CC;EACC,4CAAA;ACk2CF;;ADn2CC;EACC,4CAAA;ACs2CF;;ADv2CC;EACC,4CAAA;AC02CF;;AD32CC;EACC,4CAAA;AC82CF;;AD/2CC;EACC,6CAAA;ACk3CF;;ADn3CC;EACC,6CAAA;ACs3CF;;ADv3CC;EACC,6CAAA;AC03CF;;AD33CC;EACC,6CAAA;AC83CF;;AD/3CC;EACC,6CAAA;ACk4CF;;ADn4CC;EACC,6CAAA;ACs4CF;;ADv4CC;EACC,6CAAA;AC04CF;;AD34CC;EACC,6CAAA;AC84CF;;AD/4CC;EACC,6CAAA;ACk5CF;;ADn5CC;EACC,6CAAA;ACs5CF;;ADv5CC;EACC,6CAAA;AC05CF;;AD35CC;EACC,6CAAA;AC85CF;;AD/5CC;EACC,6CAAA;ACk6CF;;ADn6CC;EACC,6CAAA;ACs6CF;;ADv6CC;EACC,6CAAA;AC06CF;;AD36CC;EACC,6CAAA;AC86CF;;AD/6CC;EACC,6CAAA;ACk7CF;;ADn7CC;EACC,6CAAA;ACs7CF;;ADv7CC;EACC,6CAAA;AC07CF;;AD37CC;EACC,6CAAA;AC87CF;;AD/7CC;EACC,6CAAA;ACk8CF;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;AD17CE;EACC,qCAAA;AC67CH;;ADx7CE;EACC,oCAAA;AC27CH;;ADx7CE;EACC,oCAAA;AC27CH;;ADh8CE;EACC,oCAAA;ACm8CH;;ADh8CE;EACC,oCAAA;ACm8CH;;ADx8CE;EACC,oCAAA;AC28CH;;ADx8CE;EACC,oCAAA;AC28CH;;ADh9CE;EACC,oCAAA;ACm9CH;;ADh9CE;EACC,oCAAA;ACm9CH;;ADx9CE;EACC,qCAAA;AC29CH;;ADx9CE;EACC,qCAAA;AC29CH;;ADl9CE;EAME,6CAAA;ACg9CJ;;AD58CE;EAME,0CAAA;AC08CJ;;AD19CE;EAME,6CAAA;ACw9CJ;;ADp9CE;EAME,0CAAA;ACk9CJ;;ADl+CE;EAME,6CAAA;ACg+CJ;;AD59CE;EAME,0CAAA;AC09CJ;;AD1+CE;EAME,6CAAA;ACw+CJ;;ADp+CE;EAME,0CAAA;ACk+CJ;;ADl/CE;EAME,8CAAA;ACg/CJ;;AD5+CE;EAME,2CAAA;AC0+CJ;;AD1/CE;EAME,8CAAA;ACw/CJ;;ADp/CE;EAME,2CAAA;ACk/CJ;;ADlgDE;EAME,8CAAA;ACggDJ;;AD5/CE;EAME,2CAAA;AC0/CJ;;AD1gDE;EAME,8CAAA;ACwgDJ;;ADpgDE;EAME,2CAAA;ACkgDJ;;ADlhDE;EAME,8CAAA;ACghDJ;;AD5gDE;EAME,2CAAA;AC0gDJ;;AD1hDE;EAME,+CAAA;ACwhDJ;;ADphDE;EAME,4CAAA;ACkhDJ;;ADliDE;EAME,4CAAA;ACgiDJ;;AD5hDE;EAME,yCAAA;AC0hDJ;;AD1iDE;EAME,4CAAA;ACwiDJ;;ADpiDE;EAME,yCAAA;ACkiDJ;;ADljDE;EAME,4CAAA;ACgjDJ;;AD5iDE;EAME,yCAAA;AC0iDJ;;AD1jDE;EAME,4CAAA;ACwjDJ;;ADpjDE;EAME,yCAAA;ACkjDJ;;ADlkDE;EAME,6CAAA;ACgkDJ;;AD5jDE;EAME,0CAAA;AC0jDJ;;AD1kDE;EAME,+CAAA;ACwkDJ;;ADpkDE;EAME,4CAAA;ACkkDJ;;ADllDE;EAME,+CAAA;ACglDJ;;AD5kDE;EAME,4CAAA;AC0kDJ;;AD1lDE;EAME,+CAAA;ACwlDJ;;ADplDE;EAME,4CAAA;ACklDJ;;ADlmDE;EAME,+CAAA;ACgmDJ;;AD5lDE;EAME,4CAAA;AC0lDJ;;AD1mDE;EAME,gDAAA;ACwmDJ;;ADpmDE;EAME,6CAAA;ACkmDJ;;ADlnDE;EAEE,wCAAA;AConDJ;;AD5mDE;EAEE,qCAAA;AC8mDJ;;AD1nDE;EAEE,wCAAA;AC4nDJ;;ADpnDE;EAEE,qCAAA;ACsnDJ;;ADloDE;EAEE,wCAAA;ACooDJ;;AD5nDE;EAEE,qCAAA;AC8nDJ;;AD1oDE;EAEE,wCAAA;AC4oDJ;;ADpoDE;EAEE,qCAAA;ACsoDJ;;ADlpDE;EAEE,yCAAA;ACopDJ;;AD5oDE;EAEE,sCAAA;AC8oDJ;;AD/nDG;EACC,aAAA;ACkoDJ;;ADnoDG;EACC,aAAA;ACsoDJ;;ADvoDG;EACC,aAAA;AC0oDJ;;AD3oDG;EACC,aAAA;AC8oDJ;;AD/oDG;EACC,aAAA;ACkpDJ;;ADnpDG;EACC,aAAA;ACspDJ;;ADvpDG;EACC,aAAA;AC0pDJ;;AD3pDG;EACC,aAAA;AC8pDJ;;AD/pDG;EACC,aAAA;ACkqDJ;;ADnqDG;EACC,aAAA;ACsqDJ;;ADvqDG;EACC,cAAA;AC0qDJ;;AD3qDG;EACC,cAAA;AC8qDJ;;AD/qDG;EACC,cAAA;ACkrDJ;;ADnrDG;EACC,cAAA;ACsrDJ;;ADvrDG;EACC,cAAA;AC0rDJ;;AD3rDG;EACC,cAAA;AC8rDJ;;AD/rDG;EACC,cAAA;ACksDJ;;ADnsDG;EACC,cAAA;ACssDJ;;ADvsDG;EACC,cAAA;AC0sDJ;;AD3sDG;EACC,cAAA;AC8sDJ;;AD/sDG;EACC,cAAA;ACktDJ;;ADntDG;EACC,cAAA;ACstDJ;;ADvtDG;EACC,cAAA;AC0tDJ;;AD3tDG;EACC,cAAA;AC8tDJ;;AD/tDG;EACC,cAAA;ACkuDJ;;ADnuDG;EACC,cAAA;ACsuDJ;;ADjtDG;EACC,aAAA;ACotDJ;;ADrtDG;EACC,aAAA;ACwtDJ;;ADztDG;EACC,cAAA;AC4tDJ;;AD7tDG;EACC,cAAA;ACguDJ;;ADjuDG;EACC,cAAA;ACouDJ;;ADruDG;EACC,cAAA;ACwuDJ;;ADzuDG;EACC,cAAA;AC4uDJ;;AD7uDG;EACC,cAAA;ACgvDJ;;ADjvDG;EACC,cAAA;ACovDJ;;ADrvDG;EACC,cAAA;ACwvDJ;;ADzvDG;EACC,cAAA;AC4vDJ;;AD7vDG;EACC,cAAA;ACgwDJ;;ADjwDG;EACC,cAAA;ACowDJ;;ADrwDG;EACC,cAAA;ACwwDJ;;ADzwDG;EACC,cAAA;AC4wDJ;;AD7wDG;EACC,cAAA;ACgxDJ;;ADjxDG;EACC,cAAA;ACoxDJ;;ADrxDG;EACC,cAAA;ACwxDJ;;ADzxDG;EACC,cAAA;AC4xDJ;;AD7xDG;EACC,cAAA;ACgyDJ;;ADjyDG;EACC,cAAA;ACoyDJ;;ADryDG;EACC,cAAA;ACwyDJ;;ADzyDG;EACC,cAAA;AC4yDJ;;AD7yDG;EACC,cAAA;ACgzDJ;;ADjzDG;EACC,eAAA;ACozDJ;;AD30DG;EACC,iBAAA;AC80DJ;;AD/0DG;EACC,iBAAA;ACk1DJ;;ADn1DG;EACC,iBAAA;ACs1DJ;;ADv1DG;EACC,iBAAA;AC01DJ;;AD31DG;EACC,iBAAA;AC81DJ;;AD/1DG;EACC,iBAAA;ACk2DJ;;ADn2DG;EACC,iBAAA;ACs2DJ;;ADv2DG;EACC,iBAAA;AC02DJ;;AD32DG;EACC,iBAAA;AC82DJ;;AD/2DG;EACC,iBAAA;ACk3DJ;;ADn3DG;EACC,kBAAA;ACs3DJ;;ADv3DG;EACC,kBAAA;AC03DJ;;AD33DG;EACC,kBAAA;AC83DJ;;AD/3DG;EACC,kBAAA;ACk4DJ;;ADn4DG;EACC,kBAAA;ACs4DJ;;ADv4DG;EACC,kBAAA;AC04DJ;;AD34DG;EACC,kBAAA;AC84DJ;;AD/4DG;EACC,kBAAA;ACk5DJ;;ADn5DG;EACC,kBAAA;ACs5DJ;;ADv5DG;EACC,kBAAA;AC05DJ;;AD35DG;EACC,kBAAA;AC85DJ;;AD/5DG;EACC,kBAAA;ACk6DJ;;ADn6DG;EACC,kBAAA;ACs6DJ;;ADv6DG;EACC,kBAAA;AC06DJ;;AD36DG;EACC,kBAAA;AC86DJ;;AD/6DG;EACC,kBAAA;ACk7DJ;;AD75DG;EACC,iBAAA;ACg6DJ;;ADj6DG;EACC,iBAAA;ACo6DJ;;ADr6DG;EACC,kBAAA;ACw6DJ;;ADz6DG;EACC,kBAAA;AC46DJ;;AD76DG;EACC,kBAAA;ACg7DJ;;ADj7DG;EACC,kBAAA;ACo7DJ;;ADr7DG;EACC,kBAAA;ACw7DJ;;ADz7DG;EACC,kBAAA;AC47DJ;;AD77DG;EACC,kBAAA;ACg8DJ;;ADj8DG;EACC,kBAAA;ACo8DJ;;ADr8DG;EACC,kBAAA;ACw8DJ;;ADz8DG;EACC,kBAAA;AC48DJ;;AD78DG;EACC,kBAAA;ACg9DJ;;ADj9DG;EACC,kBAAA;ACo9DJ;;ADr9DG;EACC,kBAAA;ACw9DJ;;ADz9DG;EACC,kBAAA;AC49DJ;;AD79DG;EACC,kBAAA;ACg+DJ;;ADj+DG;EACC,kBAAA;ACo+DJ;;ADr+DG;EACC,kBAAA;ACw+DJ;;ADz+DG;EACC,kBAAA;AC4+DJ;;AD7+DG;EACC,kBAAA;ACg/DJ;;ADj/DG;EACC,kBAAA;ACo/DJ;;ADr/DG;EACC,kBAAA;ACw/DJ;;ADz/DG;EACC,kBAAA;AC4/DJ;;AD7/DG;EACC,mBAAA;ACggEJ;;ADvhEG;EACC,mBAAA;AC0hEJ;;AD3hEG;EACC,mBAAA;AC8hEJ;;AD/hEG;EACC,mBAAA;ACkiEJ;;ADniEG;EACC,mBAAA;ACsiEJ;;ADviEG;EACC,mBAAA;AC0iEJ;;AD3iEG;EACC,mBAAA;AC8iEJ;;AD/iEG;EACC,mBAAA;ACkjEJ;;ADnjEG;EACC,mBAAA;ACsjEJ;;ADvjEG;EACC,mBAAA;AC0jEJ;;AD3jEG;EACC,mBAAA;AC8jEJ;;AD/jEG;EACC,oBAAA;ACkkEJ;;ADnkEG;EACC,oBAAA;ACskEJ;;ADvkEG;EACC,oBAAA;AC0kEJ;;AD3kEG;EACC,oBAAA;AC8kEJ;;AD/kEG;EACC,oBAAA;ACklEJ;;ADnlEG;EACC,oBAAA;ACslEJ;;ADvlEG;EACC,oBAAA;AC0lEJ;;AD3lEG;EACC,oBAAA;AC8lEJ;;AD/lEG;EACC,oBAAA;ACkmEJ;;ADnmEG;EACC,oBAAA;ACsmEJ;;ADvmEG;EACC,oBAAA;AC0mEJ;;AD3mEG;EACC,oBAAA;AC8mEJ;;AD/mEG;EACC,oBAAA;ACknEJ;;ADnnEG;EACC,oBAAA;ACsnEJ;;ADvnEG;EACC,oBAAA;AC0nEJ;;AD3nEG;EACC,oBAAA;AC8nEJ;;ADzmEG;EACC,mBAAA;AC4mEJ;;AD7mEG;EACC,mBAAA;ACgnEJ;;ADjnEG;EACC,oBAAA;AConEJ;;ADrnEG;EACC,oBAAA;ACwnEJ;;ADznEG;EACC,oBAAA;AC4nEJ;;AD7nEG;EACC,oBAAA;ACgoEJ;;ADjoEG;EACC,oBAAA;ACooEJ;;ADroEG;EACC,oBAAA;ACwoEJ;;ADzoEG;EACC,oBAAA;AC4oEJ;;AD7oEG;EACC,oBAAA;ACgpEJ;;ADjpEG;EACC,oBAAA;ACopEJ;;ADrpEG;EACC,oBAAA;ACwpEJ;;ADzpEG;EACC,oBAAA;AC4pEJ;;AD7pEG;EACC,oBAAA;ACgqEJ;;ADjqEG;EACC,oBAAA;ACoqEJ;;ADrqEG;EACC,oBAAA;ACwqEJ;;ADzqEG;EACC,oBAAA;AC4qEJ;;AD7qEG;EACC,oBAAA;ACgrEJ;;ADjrEG;EACC,oBAAA;ACorEJ;;ADrrEG;EACC,oBAAA;ACwrEJ;;ADzrEG;EACC,oBAAA;AC4rEJ;;AD7rEG;EACC,oBAAA;ACgsEJ;;ADjsEG;EACC,oBAAA;ACosEJ;;ADrsEG;EACC,oBAAA;ACwsEJ;;ADzsEG;EACC,qBAAA;AC4sEJ;;ADnuEG;EACC,oBAAA;ACsuEJ;;ADvuEG;EACC,oBAAA;AC0uEJ;;AD3uEG;EACC,oBAAA;AC8uEJ;;AD/uEG;EACC,oBAAA;ACkvEJ;;ADnvEG;EACC,oBAAA;ACsvEJ;;ADvvEG;EACC,oBAAA;AC0vEJ;;AD3vEG;EACC,oBAAA;AC8vEJ;;AD/vEG;EACC,oBAAA;ACkwEJ;;ADnwEG;EACC,oBAAA;ACswEJ;;ADvwEG;EACC,oBAAA;AC0wEJ;;AD3wEG;EACC,qBAAA;AC8wEJ;;AD/wEG;EACC,qBAAA;ACkxEJ;;ADnxEG;EACC,qBAAA;ACsxEJ;;ADvxEG;EACC,qBAAA;AC0xEJ;;AD3xEG;EACC,qBAAA;AC8xEJ;;AD/xEG;EACC,qBAAA;ACkyEJ;;ADnyEG;EACC,qBAAA;ACsyEJ;;ADvyEG;EACC,qBAAA;AC0yEJ;;AD3yEG;EACC,qBAAA;AC8yEJ;;AD/yEG;EACC,qBAAA;ACkzEJ;;ADnzEG;EACC,qBAAA;ACszEJ;;ADvzEG;EACC,qBAAA;AC0zEJ;;AD3zEG;EACC,qBAAA;AC8zEJ;;AD/zEG;EACC,qBAAA;ACk0EJ;;ADn0EG;EACC,qBAAA;ACs0EJ;;ADv0EG;EACC,qBAAA;AC00EJ;;ADrzEG;EACC,oBAAA;ACwzEJ;;ADzzEG;EACC,oBAAA;AC4zEJ;;AD7zEG;EACC,qBAAA;ACg0EJ;;ADj0EG;EACC,qBAAA;ACo0EJ;;ADr0EG;EACC,qBAAA;ACw0EJ;;ADz0EG;EACC,qBAAA;AC40EJ;;AD70EG;EACC,qBAAA;ACg1EJ;;ADj1EG;EACC,qBAAA;ACo1EJ;;ADr1EG;EACC,qBAAA;ACw1EJ;;ADz1EG;EACC,qBAAA;AC41EJ;;AD71EG;EACC,qBAAA;ACg2EJ;;ADj2EG;EACC,qBAAA;ACo2EJ;;ADr2EG;EACC,qBAAA;ACw2EJ;;ADz2EG;EACC,qBAAA;AC42EJ;;AD72EG;EACC,qBAAA;ACg3EJ;;ADj3EG;EACC,qBAAA;ACo3EJ;;ADr3EG;EACC,qBAAA;ACw3EJ;;ADz3EG;EACC,qBAAA;AC43EJ;;AD73EG;EACC,qBAAA;ACg4EJ;;ADj4EG;EACC,qBAAA;ACo4EJ;;ADr4EG;EACC,qBAAA;ACw4EJ;;ADz4EG;EACC,qBAAA;AC44EJ;;AD74EG;EACC,qBAAA;ACg5EJ;;ADj5EG;EACC,qBAAA;ACo5EJ;;ADr5EG;EACC,sBAAA;ACw5EJ;;AD/6EG;EACC,kBAAA;ACk7EJ;;ADn7EG;EACC,kBAAA;ACs7EJ;;ADv7EG;EACC,kBAAA;AC07EJ;;AD37EG;EACC,kBAAA;AC87EJ;;AD/7EG;EACC,kBAAA;ACk8EJ;;ADn8EG;EACC,kBAAA;ACs8EJ;;ADv8EG;EACC,kBAAA;AC08EJ;;AD38EG;EACC,kBAAA;AC88EJ;;AD/8EG;EACC,kBAAA;ACk9EJ;;ADn9EG;EACC,kBAAA;ACs9EJ;;ADv9EG;EACC,mBAAA;AC09EJ;;AD39EG;EACC,mBAAA;AC89EJ;;AD/9EG;EACC,mBAAA;ACk+EJ;;ADn+EG;EACC,mBAAA;ACs+EJ;;ADv+EG;EACC,mBAAA;AC0+EJ;;AD3+EG;EACC,mBAAA;AC8+EJ;;AD/+EG;EACC,mBAAA;ACk/EJ;;ADn/EG;EACC,mBAAA;ACs/EJ;;ADv/EG;EACC,mBAAA;AC0/EJ;;AD3/EG;EACC,mBAAA;AC8/EJ;;AD//EG;EACC,mBAAA;ACkgFJ;;ADngFG;EACC,mBAAA;ACsgFJ;;ADvgFG;EACC,mBAAA;AC0gFJ;;AD3gFG;EACC,mBAAA;AC8gFJ;;AD/gFG;EACC,mBAAA;ACkhFJ;;ADnhFG;EACC,mBAAA;ACshFJ;;ADjgFG;EACC,kBAAA;ACogFJ;;ADrgFG;EACC,kBAAA;ACwgFJ;;ADzgFG;EACC,mBAAA;AC4gFJ;;AD7gFG;EACC,mBAAA;ACghFJ;;ADjhFG;EACC,mBAAA;ACohFJ;;ADrhFG;EACC,mBAAA;ACwhFJ;;ADzhFG;EACC,mBAAA;AC4hFJ;;AD7hFG;EACC,mBAAA;ACgiFJ;;ADjiFG;EACC,mBAAA;ACoiFJ;;ADriFG;EACC,mBAAA;ACwiFJ;;ADziFG;EACC,mBAAA;AC4iFJ;;AD7iFG;EACC,mBAAA;ACgjFJ;;ADjjFG;EACC,mBAAA;ACojFJ;;ADrjFG;EACC,mBAAA;ACwjFJ;;ADzjFG;EACC,mBAAA;AC4jFJ;;AD7jFG;EACC,mBAAA;ACgkFJ;;ADjkFG;EACC,mBAAA;ACokFJ;;ADrkFG;EACC,mBAAA;ACwkFJ;;ADzkFG;EACC,mBAAA;AC4kFJ;;AD7kFG;EACC,mBAAA;ACglFJ;;ADjlFG;EACC,mBAAA;AColFJ;;ADrlFG;EACC,mBAAA;ACwlFJ;;ADzlFG;EACC,mBAAA;AC4lFJ;;AD7lFG;EACC,mBAAA;ACgmFJ;;ADjmFG;EACC,oBAAA;AComFJ;;ADrnFG;EACC,kBAAA;EACA,mBAAA;ACwnFJ;;AD1nFG;EACC,kBAAA;EACA,mBAAA;AC6nFJ;;AD/nFG;EACC,kBAAA;EACA,mBAAA;ACkoFJ;;ADpoFG;EACC,kBAAA;EACA,mBAAA;ACuoFJ;;ADzoFG;EACC,kBAAA;EACA,mBAAA;AC4oFJ;;AD9oFG;EACC,kBAAA;EACA,mBAAA;ACipFJ;;ADnpFG;EACC,kBAAA;EACA,mBAAA;ACspFJ;;ADxpFG;EACC,kBAAA;EACA,mBAAA;AC2pFJ;;AD7pFG;EACC,kBAAA;EACA,mBAAA;ACgqFJ;;ADlqFG;EACC,kBAAA;EACA,mBAAA;ACqqFJ;;ADvqFG;EACC,mBAAA;EACA,oBAAA;AC0qFJ;;AD5qFG;EACC,mBAAA;EACA,oBAAA;AC+qFJ;;ADjrFG;EACC,mBAAA;EACA,oBAAA;ACorFJ;;ADtrFG;EACC,mBAAA;EACA,oBAAA;ACyrFJ;;AD3rFG;EACC,mBAAA;EACA,oBAAA;AC8rFJ;;ADhsFG;EACC,mBAAA;EACA,oBAAA;ACmsFJ;;ADrsFG;EACC,mBAAA;EACA,oBAAA;ACwsFJ;;AD1sFG;EACC,mBAAA;EACA,oBAAA;AC6sFJ;;AD/sFG;EACC,mBAAA;EACA,oBAAA;ACktFJ;;ADptFG;EACC,mBAAA;EACA,oBAAA;ACutFJ;;ADztFG;EACC,mBAAA;EACA,oBAAA;AC4tFJ;;AD9tFG;EACC,mBAAA;EACA,oBAAA;ACiuFJ;;ADnuFG;EACC,mBAAA;EACA,oBAAA;ACsuFJ;;ADxuFG;EACC,mBAAA;EACA,oBAAA;AC2uFJ;;AD7uFG;EACC,mBAAA;EACA,oBAAA;ACgvFJ;;ADlvFG;EACC,mBAAA;EACA,oBAAA;ACqvFJ;;ADjuFG;EACC,kBAAA;EACA,mBAAA;ACouFJ;;ADtuFG;EACC,kBAAA;EACA,mBAAA;ACyuFJ;;AD3uFG;EACC,mBAAA;EACA,oBAAA;AC8uFJ;;ADhvFG;EACC,mBAAA;EACA,oBAAA;ACmvFJ;;ADrvFG;EACC,mBAAA;EACA,oBAAA;ACwvFJ;;AD1vFG;EACC,mBAAA;EACA,oBAAA;AC6vFJ;;AD/vFG;EACC,mBAAA;EACA,oBAAA;ACkwFJ;;ADpwFG;EACC,mBAAA;EACA,oBAAA;ACuwFJ;;ADzwFG;EACC,mBAAA;EACA,oBAAA;AC4wFJ;;AD9wFG;EACC,mBAAA;EACA,oBAAA;ACixFJ;;ADnxFG;EACC,mBAAA;EACA,oBAAA;ACsxFJ;;ADxxFG;EACC,mBAAA;EACA,oBAAA;AC2xFJ;;AD7xFG;EACC,mBAAA;EACA,oBAAA;ACgyFJ;;ADlyFG;EACC,mBAAA;EACA,oBAAA;ACqyFJ;;ADvyFG;EACC,mBAAA;EACA,oBAAA;AC0yFJ;;AD5yFG;EACC,mBAAA;EACA,oBAAA;AC+yFJ;;ADjzFG;EACC,mBAAA;EACA,oBAAA;ACozFJ;;ADtzFG;EACC,mBAAA;EACA,oBAAA;ACyzFJ;;AD3zFG;EACC,mBAAA;EACA,oBAAA;AC8zFJ;;ADh0FG;EACC,mBAAA;EACA,oBAAA;ACm0FJ;;ADr0FG;EACC,mBAAA;EACA,oBAAA;ACw0FJ;;AD10FG;EACC,mBAAA;EACA,oBAAA;AC60FJ;;AD/0FG;EACC,mBAAA;EACA,oBAAA;ACk1FJ;;ADp1FG;EACC,mBAAA;EACA,oBAAA;ACu1FJ;;ADz1FG;EACC,oBAAA;EACA,qBAAA;AC41FJ;;AD72FG;EACC,iBAAA;EACA,oBAAA;ACg3FJ;;ADl3FG;EACC,iBAAA;EACA,oBAAA;ACq3FJ;;ADv3FG;EACC,iBAAA;EACA,oBAAA;AC03FJ;;AD53FG;EACC,iBAAA;EACA,oBAAA;AC+3FJ;;ADj4FG;EACC,iBAAA;EACA,oBAAA;ACo4FJ;;ADt4FG;EACC,iBAAA;EACA,oBAAA;ACy4FJ;;AD34FG;EACC,iBAAA;EACA,oBAAA;AC84FJ;;ADh5FG;EACC,iBAAA;EACA,oBAAA;ACm5FJ;;ADr5FG;EACC,iBAAA;EACA,oBAAA;ACw5FJ;;AD15FG;EACC,iBAAA;EACA,oBAAA;AC65FJ;;AD/5FG;EACC,kBAAA;EACA,qBAAA;ACk6FJ;;ADp6FG;EACC,kBAAA;EACA,qBAAA;ACu6FJ;;ADz6FG;EACC,kBAAA;EACA,qBAAA;AC46FJ;;AD96FG;EACC,kBAAA;EACA,qBAAA;ACi7FJ;;ADn7FG;EACC,kBAAA;EACA,qBAAA;ACs7FJ;;ADx7FG;EACC,kBAAA;EACA,qBAAA;AC27FJ;;AD77FG;EACC,kBAAA;EACA,qBAAA;ACg8FJ;;ADl8FG;EACC,kBAAA;EACA,qBAAA;ACq8FJ;;ADv8FG;EACC,kBAAA;EACA,qBAAA;AC08FJ;;AD58FG;EACC,kBAAA;EACA,qBAAA;AC+8FJ;;ADj9FG;EACC,kBAAA;EACA,qBAAA;ACo9FJ;;ADt9FG;EACC,kBAAA;EACA,qBAAA;ACy9FJ;;AD39FG;EACC,kBAAA;EACA,qBAAA;AC89FJ;;ADh+FG;EACC,kBAAA;EACA,qBAAA;ACm+FJ;;ADr+FG;EACC,kBAAA;EACA,qBAAA;ACw+FJ;;AD1+FG;EACC,kBAAA;EACA,qBAAA;AC6+FJ;;ADz9FG;EACC,iBAAA;EACA,oBAAA;AC49FJ;;AD99FG;EACC,iBAAA;EACA,oBAAA;ACi+FJ;;ADn+FG;EACC,kBAAA;EACA,qBAAA;ACs+FJ;;ADx+FG;EACC,kBAAA;EACA,qBAAA;AC2+FJ;;AD7+FG;EACC,kBAAA;EACA,qBAAA;ACg/FJ;;ADl/FG;EACC,kBAAA;EACA,qBAAA;ACq/FJ;;ADv/FG;EACC,kBAAA;EACA,qBAAA;AC0/FJ;;AD5/FG;EACC,kBAAA;EACA,qBAAA;AC+/FJ;;ADjgGG;EACC,kBAAA;EACA,qBAAA;ACogGJ;;ADtgGG;EACC,kBAAA;EACA,qBAAA;ACygGJ;;AD3gGG;EACC,kBAAA;EACA,qBAAA;AC8gGJ;;ADhhGG;EACC,kBAAA;EACA,qBAAA;ACmhGJ;;ADrhGG;EACC,kBAAA;EACA,qBAAA;ACwhGJ;;AD1hGG;EACC,kBAAA;EACA,qBAAA;AC6hGJ;;AD/hGG;EACC,kBAAA;EACA,qBAAA;ACkiGJ;;ADpiGG;EACC,kBAAA;EACA,qBAAA;ACuiGJ;;ADziGG;EACC,kBAAA;EACA,qBAAA;AC4iGJ;;AD9iGG;EACC,kBAAA;EACA,qBAAA;ACijGJ;;ADnjGG;EACC,kBAAA;EACA,qBAAA;ACsjGJ;;ADxjGG;EACC,kBAAA;EACA,qBAAA;AC2jGJ;;AD7jGG;EACC,kBAAA;EACA,qBAAA;ACgkGJ;;ADlkGG;EACC,kBAAA;EACA,qBAAA;ACqkGJ;;ADvkGG;EACC,kBAAA;EACA,qBAAA;AC0kGJ;;AD5kGG;EACC,kBAAA;EACA,qBAAA;AC+kGJ;;ADjlGG;EACC,mBAAA;EACA,sBAAA;AColGJ;;ADzkGG;EACC,YAAA;AC4kGJ;;AD7kGG;EACC,YAAA;ACglGJ;;ADjlGG;EACC,YAAA;AColGJ;;ADrlGG;EACC,YAAA;ACwlGJ;;ADzlGG;EACC,YAAA;AC4lGJ;;AD7lGG;EACC,YAAA;ACgmGJ;;ADjmGG;EACC,YAAA;AComGJ;;ADrmGG;EACC,YAAA;ACwmGJ;;ADzmGG;EACC,YAAA;AC4mGJ;;AD7mGG;EACC,YAAA;ACgnGJ;;ADjnGG;EACC,aAAA;AConGJ;;ADrnGG;EACC,aAAA;ACwnGJ;;ADznGG;EACC,aAAA;AC4nGJ;;AD7nGG;EACC,aAAA;ACgoGJ;;ADjoGG;EACC,aAAA;ACooGJ;;ADroGG;EACC,aAAA;ACwoGJ;;ADzoGG;EACC,aAAA;AC4oGJ;;AD7oGG;EACC,aAAA;ACgpGJ;;ADjpGG;EACC,aAAA;ACopGJ;;ADrpGG;EACC,aAAA;ACwpGJ;;ADzpGG;EACC,aAAA;AC4pGJ;;AD7pGG;EACC,aAAA;ACgqGJ;;ADjqGG;EACC,aAAA;ACoqGJ;;ADrqGG;EACC,aAAA;ACwqGJ;;ADzqGG;EACC,aAAA;AC4qGJ;;AD7qGG;EACC,aAAA;ACgrGJ;;ADrpGG;EACC,YAAA;ACwpGJ;;ADzpGG;EACC,YAAA;AC4pGJ;;AD7pGG;EACC,aAAA;ACgqGJ;;ADjqGG;EACC,aAAA;ACoqGJ;;ADrqGG;EACC,aAAA;ACwqGJ;;ADzqGG;EACC,aAAA;AC4qGJ;;AD7qGG;EACC,aAAA;ACgrGJ;;ADjrGG;EACC,aAAA;ACorGJ;;ADrrGG;EACC,aAAA;ACwrGJ;;ADzrGG;EACC,aAAA;AC4rGJ;;AD7rGG;EACC,aAAA;ACgsGJ;;ADjsGG;EACC,aAAA;ACosGJ;;ADrsGG;EACC,aAAA;ACwsGJ;;ADzsGG;EACC,aAAA;AC4sGJ;;AD7sGG;EACC,aAAA;ACgtGJ;;ADjtGG;EACC,aAAA;ACotGJ;;ADrtGG;EACC,aAAA;ACwtGJ;;ADztGG;EACC,aAAA;AC4tGJ;;AD7tGG;EACC,aAAA;ACguGJ;;ADjuGG;EACC,aAAA;ACouGJ;;ADruGG;EACC,aAAA;ACwuGJ;;ADzuGG;EACC,aAAA;AC4uGJ;;AD7uGG;EACC,aAAA;ACgvGJ;;ADjvGG;EACC,aAAA;ACovGJ;;ADrvGG;EACC,cAAA;ACwvGJ;;ADrxGG;EACC,gBAAA;ACwxGJ;;ADpxGI;EACC,iBAAA;ACuxGL;;AD7xGG;EACC,gBAAA;ACgyGJ;;AD5xGI;EACC,iBAAA;AC+xGL;;ADryGG;EACC,gBAAA;ACwyGJ;;ADpyGI;EACC,iBAAA;ACuyGL;;AD7yGG;EACC,gBAAA;ACgzGJ;;AD5yGI;EACC,iBAAA;AC+yGL;;ADrzGG;EACC,gBAAA;ACwzGJ;;ADpzGI;EACC,iBAAA;ACuzGL;;AD7zGG;EACC,gBAAA;ACg0GJ;;AD5zGI;EACC,iBAAA;AC+zGL;;ADr0GG;EACC,gBAAA;ACw0GJ;;ADp0GI;EACC,iBAAA;ACu0GL;;AD70GG;EACC,gBAAA;ACg1GJ;;AD50GI;EACC,iBAAA;AC+0GL;;ADr1GG;EACC,gBAAA;ACw1GJ;;ADp1GI;EACC,iBAAA;ACu1GL;;AD71GG;EACC,gBAAA;ACg2GJ;;AD51GI;EACC,iBAAA;AC+1GL;;ADr2GG;EACC,iBAAA;ACw2GJ;;ADp2GI;EACC,kBAAA;ACu2GL;;AD72GG;EACC,iBAAA;ACg3GJ;;AD52GI;EACC,kBAAA;AC+2GL;;ADr3GG;EACC,iBAAA;ACw3GJ;;ADp3GI;EACC,kBAAA;ACu3GL;;AD73GG;EACC,iBAAA;ACg4GJ;;AD53GI;EACC,kBAAA;AC+3GL;;ADr4GG;EACC,iBAAA;ACw4GJ;;ADp4GI;EACC,kBAAA;ACu4GL;;AD74GG;EACC,iBAAA;ACg5GJ;;AD54GI;EACC,kBAAA;AC+4GL;;ADr5GG;EACC,iBAAA;ACw5GJ;;ADp5GI;EACC,kBAAA;ACu5GL;;AD75GG;EACC,iBAAA;ACg6GJ;;AD55GI;EACC,kBAAA;AC+5GL;;ADr6GG;EACC,iBAAA;ACw6GJ;;ADp6GI;EACC,kBAAA;ACu6GL;;AD76GG;EACC,iBAAA;ACg7GJ;;AD56GI;EACC,kBAAA;AC+6GL;;ADr7GG;EACC,iBAAA;ACw7GJ;;ADp7GI;EACC,kBAAA;ACu7GL;;AD77GG;EACC,iBAAA;ACg8GJ;;AD57GI;EACC,kBAAA;AC+7GL;;ADr8GG;EACC,iBAAA;ACw8GJ;;ADp8GI;EACC,kBAAA;ACu8GL;;AD78GG;EACC,iBAAA;ACg9GJ;;AD58GI;EACC,kBAAA;AC+8GL;;ADr9GG;EACC,iBAAA;ACw9GJ;;ADp9GI;EACC,kBAAA;ACu9GL;;AD79GG;EACC,iBAAA;ACg+GJ;;AD59GI;EACC,kBAAA;AC+9GL;;ADz8GG;EACC,gBAAA;AC48GJ;;ADx8GI;EACC,iBAAA;AC28GL;;ADj9GG;EACC,gBAAA;ACo9GJ;;ADh9GI;EACC,iBAAA;ACm9GL;;ADz9GG;EACC,iBAAA;AC49GJ;;ADx9GI;EACC,kBAAA;AC29GL;;ADj+GG;EACC,iBAAA;ACo+GJ;;ADh+GI;EACC,kBAAA;ACm+GL;;ADz+GG;EACC,iBAAA;AC4+GJ;;ADx+GI;EACC,kBAAA;AC2+GL;;ADj/GG;EACC,iBAAA;ACo/GJ;;ADh/GI;EACC,kBAAA;ACm/GL;;ADz/GG;EACC,iBAAA;AC4/GJ;;ADx/GI;EACC,kBAAA;AC2/GL;;ADjgHG;EACC,iBAAA;ACogHJ;;ADhgHI;EACC,kBAAA;ACmgHL;;ADzgHG;EACC,iBAAA;AC4gHJ;;ADxgHI;EACC,kBAAA;AC2gHL;;ADjhHG;EACC,iBAAA;ACohHJ;;ADhhHI;EACC,kBAAA;ACmhHL;;ADzhHG;EACC,iBAAA;AC4hHJ;;ADxhHI;EACC,kBAAA;AC2hHL;;ADjiHG;EACC,iBAAA;ACoiHJ;;ADhiHI;EACC,kBAAA;ACmiHL;;ADziHG;EACC,iBAAA;AC4iHJ;;ADxiHI;EACC,kBAAA;AC2iHL;;ADjjHG;EACC,iBAAA;ACojHJ;;ADhjHI;EACC,kBAAA;ACmjHL;;ADzjHG;EACC,iBAAA;AC4jHJ;;ADxjHI;EACC,kBAAA;AC2jHL;;ADjkHG;EACC,iBAAA;ACokHJ;;ADhkHI;EACC,kBAAA;ACmkHL;;ADzkHG;EACC,iBAAA;AC4kHJ;;ADxkHI;EACC,kBAAA;AC2kHL;;ADjlHG;EACC,iBAAA;AColHJ;;ADhlHI;EACC,kBAAA;ACmlHL;;ADzlHG;EACC,iBAAA;AC4lHJ;;ADxlHI;EACC,kBAAA;AC2lHL;;ADjmHG;EACC,iBAAA;AComHJ;;ADhmHI;EACC,kBAAA;ACmmHL;;ADzmHG;EACC,iBAAA;AC4mHJ;;ADxmHI;EACC,kBAAA;AC2mHL;;ADjnHG;EACC,iBAAA;AConHJ;;ADhnHI;EACC,kBAAA;ACmnHL;;ADznHG;EACC,iBAAA;AC4nHJ;;ADxnHI;EACC,kBAAA;AC2nHL;;ADjoHG;EACC,iBAAA;ACooHJ;;ADhoHI;EACC,kBAAA;ACmoHL;;ADzoHG;EACC,kBAAA;AC4oHJ;;ADxoHI;EACC,mBAAA;AC2oHL;;AD7qHG;EACC,kBAAA;ACgrHJ;;AD5qHI;EACC,mBAAA;AC+qHL;;ADrrHG;EACC,kBAAA;ACwrHJ;;ADprHI;EACC,mBAAA;ACurHL;;AD7rHG;EACC,kBAAA;ACgsHJ;;AD5rHI;EACC,mBAAA;AC+rHL;;ADrsHG;EACC,kBAAA;ACwsHJ;;ADpsHI;EACC,mBAAA;ACusHL;;AD7sHG;EACC,kBAAA;ACgtHJ;;AD5sHI;EACC,mBAAA;AC+sHL;;ADrtHG;EACC,kBAAA;ACwtHJ;;ADptHI;EACC,mBAAA;ACutHL;;AD7tHG;EACC,kBAAA;ACguHJ;;AD5tHI;EACC,mBAAA;AC+tHL;;ADruHG;EACC,kBAAA;ACwuHJ;;ADpuHI;EACC,mBAAA;ACuuHL;;AD7uHG;EACC,kBAAA;ACgvHJ;;AD5uHI;EACC,mBAAA;AC+uHL;;ADrvHG;EACC,kBAAA;ACwvHJ;;ADpvHI;EACC,mBAAA;ACuvHL;;AD7vHG;EACC,mBAAA;ACgwHJ;;AD5vHI;EACC,oBAAA;AC+vHL;;ADrwHG;EACC,mBAAA;ACwwHJ;;ADpwHI;EACC,oBAAA;ACuwHL;;AD7wHG;EACC,mBAAA;ACgxHJ;;AD5wHI;EACC,oBAAA;AC+wHL;;ADrxHG;EACC,mBAAA;ACwxHJ;;ADpxHI;EACC,oBAAA;ACuxHL;;AD7xHG;EACC,mBAAA;ACgyHJ;;AD5xHI;EACC,oBAAA;AC+xHL;;ADryHG;EACC,mBAAA;ACwyHJ;;ADpyHI;EACC,oBAAA;ACuyHL;;AD7yHG;EACC,mBAAA;ACgzHJ;;AD5yHI;EACC,oBAAA;AC+yHL;;ADrzHG;EACC,mBAAA;ACwzHJ;;ADpzHI;EACC,oBAAA;ACuzHL;;AD7zHG;EACC,mBAAA;ACg0HJ;;AD5zHI;EACC,oBAAA;AC+zHL;;ADr0HG;EACC,mBAAA;ACw0HJ;;ADp0HI;EACC,oBAAA;ACu0HL;;AD70HG;EACC,mBAAA;ACg1HJ;;AD50HI;EACC,oBAAA;AC+0HL;;ADr1HG;EACC,mBAAA;ACw1HJ;;ADp1HI;EACC,oBAAA;ACu1HL;;AD71HG;EACC,mBAAA;ACg2HJ;;AD51HI;EACC,oBAAA;AC+1HL;;ADr2HG;EACC,mBAAA;ACw2HJ;;ADp2HI;EACC,oBAAA;ACu2HL;;AD72HG;EACC,mBAAA;ACg3HJ;;AD52HI;EACC,oBAAA;AC+2HL;;ADr3HG;EACC,mBAAA;ACw3HJ;;ADp3HI;EACC,oBAAA;ACu3HL;;ADj2HG;EACC,kBAAA;ACo2HJ;;ADh2HI;EACC,mBAAA;ACm2HL;;ADz2HG;EACC,kBAAA;AC42HJ;;ADx2HI;EACC,mBAAA;AC22HL;;ADj3HG;EACC,mBAAA;ACo3HJ;;ADh3HI;EACC,oBAAA;ACm3HL;;ADz3HG;EACC,mBAAA;AC43HJ;;ADx3HI;EACC,oBAAA;AC23HL;;ADj4HG;EACC,mBAAA;ACo4HJ;;ADh4HI;EACC,oBAAA;ACm4HL;;ADz4HG;EACC,mBAAA;AC44HJ;;ADx4HI;EACC,oBAAA;AC24HL;;ADj5HG;EACC,mBAAA;ACo5HJ;;ADh5HI;EACC,oBAAA;ACm5HL;;ADz5HG;EACC,mBAAA;AC45HJ;;ADx5HI;EACC,oBAAA;AC25HL;;ADj6HG;EACC,mBAAA;ACo6HJ;;ADh6HI;EACC,oBAAA;ACm6HL;;ADz6HG;EACC,mBAAA;AC46HJ;;ADx6HI;EACC,oBAAA;AC26HL;;ADj7HG;EACC,mBAAA;ACo7HJ;;ADh7HI;EACC,oBAAA;ACm7HL;;ADz7HG;EACC,mBAAA;AC47HJ;;ADx7HI;EACC,oBAAA;AC27HL;;ADj8HG;EACC,mBAAA;ACo8HJ;;ADh8HI;EACC,oBAAA;ACm8HL;;ADz8HG;EACC,mBAAA;AC48HJ;;ADx8HI;EACC,oBAAA;AC28HL;;ADj9HG;EACC,mBAAA;ACo9HJ;;ADh9HI;EACC,oBAAA;ACm9HL;;ADz9HG;EACC,mBAAA;AC49HJ;;ADx9HI;EACC,oBAAA;AC29HL;;ADj+HG;EACC,mBAAA;ACo+HJ;;ADh+HI;EACC,oBAAA;ACm+HL;;ADz+HG;EACC,mBAAA;AC4+HJ;;ADx+HI;EACC,oBAAA;AC2+HL;;ADj/HG;EACC,mBAAA;ACo/HJ;;ADh/HI;EACC,oBAAA;ACm/HL;;ADz/HG;EACC,mBAAA;AC4/HJ;;ADx/HI;EACC,oBAAA;AC2/HL;;ADjgIG;EACC,mBAAA;ACogIJ;;ADhgII;EACC,oBAAA;ACmgIL;;ADzgIG;EACC,mBAAA;AC4gIJ;;ADxgII;EACC,oBAAA;AC2gIL;;ADjhIG;EACC,mBAAA;ACohIJ;;ADhhII;EACC,oBAAA;ACmhIL;;ADzhIG;EACC,mBAAA;AC4hIJ;;ADxhII;EACC,oBAAA;AC2hIL;;ADjiIG;EACC,oBAAA;ACoiIJ;;ADhiII;EACC,qBAAA;ACmiIL;;ADrkIG;EACC,mBAAA;ACwkIJ;;ADpkII;EACC,oBAAA;ACukIL;;AD7kIG;EACC,mBAAA;ACglIJ;;AD5kII;EACC,oBAAA;AC+kIL;;ADrlIG;EACC,mBAAA;ACwlIJ;;ADplII;EACC,oBAAA;ACulIL;;AD7lIG;EACC,mBAAA;ACgmIJ;;AD5lII;EACC,oBAAA;AC+lIL;;ADrmIG;EACC,mBAAA;ACwmIJ;;ADpmII;EACC,oBAAA;ACumIL;;AD7mIG;EACC,mBAAA;ACgnIJ;;AD5mII;EACC,oBAAA;AC+mIL;;ADrnIG;EACC,mBAAA;ACwnIJ;;ADpnII;EACC,oBAAA;ACunIL;;AD7nIG;EACC,mBAAA;ACgoIJ;;AD5nII;EACC,oBAAA;AC+nIL;;ADroIG;EACC,mBAAA;ACwoIJ;;ADpoII;EACC,oBAAA;ACuoIL;;AD7oIG;EACC,mBAAA;ACgpIJ;;AD5oII;EACC,oBAAA;AC+oIL;;ADrpIG;EACC,oBAAA;ACwpIJ;;ADppII;EACC,qBAAA;ACupIL;;AD7pIG;EACC,oBAAA;ACgqIJ;;AD5pII;EACC,qBAAA;AC+pIL;;ADrqIG;EACC,oBAAA;ACwqIJ;;ADpqII;EACC,qBAAA;ACuqIL;;AD7qIG;EACC,oBAAA;ACgrIJ;;AD5qII;EACC,qBAAA;AC+qIL;;ADrrIG;EACC,oBAAA;ACwrIJ;;ADprII;EACC,qBAAA;ACurIL;;AD7rIG;EACC,oBAAA;ACgsIJ;;AD5rII;EACC,qBAAA;AC+rIL;;ADrsIG;EACC,oBAAA;ACwsIJ;;ADpsII;EACC,qBAAA;ACusIL;;AD7sIG;EACC,oBAAA;ACgtIJ;;AD5sII;EACC,qBAAA;AC+sIL;;ADrtIG;EACC,oBAAA;ACwtIJ;;ADptII;EACC,qBAAA;ACutIL;;AD7tIG;EACC,oBAAA;ACguIJ;;AD5tII;EACC,qBAAA;AC+tIL;;ADruIG;EACC,oBAAA;ACwuIJ;;ADpuII;EACC,qBAAA;ACuuIL;;AD7uIG;EACC,oBAAA;ACgvIJ;;AD5uII;EACC,qBAAA;AC+uIL;;ADrvIG;EACC,oBAAA;ACwvIJ;;ADpvII;EACC,qBAAA;ACuvIL;;AD7vIG;EACC,oBAAA;ACgwIJ;;AD5vII;EACC,qBAAA;AC+vIL;;ADrwIG;EACC,oBAAA;ACwwIJ;;ADpwII;EACC,qBAAA;ACuwIL;;AD7wIG;EACC,oBAAA;ACgxIJ;;AD5wII;EACC,qBAAA;AC+wIL;;ADzvIG;EACC,mBAAA;AC4vIJ;;ADxvII;EACC,oBAAA;AC2vIL;;ADjwIG;EACC,mBAAA;ACowIJ;;ADhwII;EACC,oBAAA;ACmwIL;;ADzwIG;EACC,oBAAA;AC4wIJ;;ADxwII;EACC,qBAAA;AC2wIL;;ADjxIG;EACC,oBAAA;ACoxIJ;;ADhxII;EACC,qBAAA;ACmxIL;;ADzxIG;EACC,oBAAA;AC4xIJ;;ADxxII;EACC,qBAAA;AC2xIL;;ADjyIG;EACC,oBAAA;ACoyIJ;;ADhyII;EACC,qBAAA;ACmyIL;;ADzyIG;EACC,oBAAA;AC4yIJ;;ADxyII;EACC,qBAAA;AC2yIL;;ADjzIG;EACC,oBAAA;ACozIJ;;ADhzII;EACC,qBAAA;ACmzIL;;ADzzIG;EACC,oBAAA;AC4zIJ;;ADxzII;EACC,qBAAA;AC2zIL;;ADj0IG;EACC,oBAAA;ACo0IJ;;ADh0II;EACC,qBAAA;ACm0IL;;ADz0IG;EACC,oBAAA;AC40IJ;;ADx0II;EACC,qBAAA;AC20IL;;ADj1IG;EACC,oBAAA;ACo1IJ;;ADh1II;EACC,qBAAA;ACm1IL;;ADz1IG;EACC,oBAAA;AC41IJ;;ADx1II;EACC,qBAAA;AC21IL;;ADj2IG;EACC,oBAAA;ACo2IJ;;ADh2II;EACC,qBAAA;ACm2IL;;ADz2IG;EACC,oBAAA;AC42IJ;;ADx2II;EACC,qBAAA;AC22IL;;ADj3IG;EACC,oBAAA;ACo3IJ;;ADh3II;EACC,qBAAA;ACm3IL;;ADz3IG;EACC,oBAAA;AC43IJ;;ADx3II;EACC,qBAAA;AC23IL;;ADj4IG;EACC,oBAAA;ACo4IJ;;ADh4II;EACC,qBAAA;ACm4IL;;ADz4IG;EACC,oBAAA;AC44IJ;;ADx4II;EACC,qBAAA;AC24IL;;ADj5IG;EACC,oBAAA;ACo5IJ;;ADh5II;EACC,qBAAA;ACm5IL;;ADz5IG;EACC,oBAAA;AC45IJ;;ADx5II;EACC,qBAAA;AC25IL;;ADj6IG;EACC,oBAAA;ACo6IJ;;ADh6II;EACC,qBAAA;ACm6IL;;ADz6IG;EACC,oBAAA;AC46IJ;;ADx6II;EACC,qBAAA;AC26IL;;ADj7IG;EACC,oBAAA;ACo7IJ;;ADh7II;EACC,qBAAA;ACm7IL;;ADz7IG;EACC,qBAAA;AC47IJ;;ADx7II;EACC,sBAAA;AC27IL;;AD79IG;EACC,iBAAA;ACg+IJ;;AD59II;EACC,kBAAA;AC+9IL;;ADr+IG;EACC,iBAAA;ACw+IJ;;ADp+II;EACC,kBAAA;ACu+IL;;AD7+IG;EACC,iBAAA;ACg/IJ;;AD5+II;EACC,kBAAA;AC++IL;;ADr/IG;EACC,iBAAA;ACw/IJ;;ADp/II;EACC,kBAAA;ACu/IL;;AD7/IG;EACC,iBAAA;ACggJJ;;AD5/II;EACC,kBAAA;AC+/IL;;ADrgJG;EACC,iBAAA;ACwgJJ;;ADpgJI;EACC,kBAAA;ACugJL;;AD7gJG;EACC,iBAAA;ACghJJ;;AD5gJI;EACC,kBAAA;AC+gJL;;ADrhJG;EACC,iBAAA;ACwhJJ;;ADphJI;EACC,kBAAA;ACuhJL;;AD7hJG;EACC,iBAAA;ACgiJJ;;AD5hJI;EACC,kBAAA;AC+hJL;;ADriJG;EACC,iBAAA;ACwiJJ;;ADpiJI;EACC,kBAAA;ACuiJL;;AD7iJG;EACC,kBAAA;ACgjJJ;;AD5iJI;EACC,mBAAA;AC+iJL;;ADrjJG;EACC,kBAAA;ACwjJJ;;ADpjJI;EACC,mBAAA;ACujJL;;AD7jJG;EACC,kBAAA;ACgkJJ;;AD5jJI;EACC,mBAAA;AC+jJL;;ADrkJG;EACC,kBAAA;ACwkJJ;;ADpkJI;EACC,mBAAA;ACukJL;;AD7kJG;EACC,kBAAA;ACglJJ;;AD5kJI;EACC,mBAAA;AC+kJL;;ADrlJG;EACC,kBAAA;ACwlJJ;;ADplJI;EACC,mBAAA;ACulJL;;AD7lJG;EACC,kBAAA;ACgmJJ;;AD5lJI;EACC,mBAAA;AC+lJL;;ADrmJG;EACC,kBAAA;ACwmJJ;;ADpmJI;EACC,mBAAA;ACumJL;;AD7mJG;EACC,kBAAA;ACgnJJ;;AD5mJI;EACC,mBAAA;AC+mJL;;ADrnJG;EACC,kBAAA;ACwnJJ;;ADpnJI;EACC,mBAAA;ACunJL;;AD7nJG;EACC,kBAAA;ACgoJJ;;AD5nJI;EACC,mBAAA;AC+nJL;;ADroJG;EACC,kBAAA;ACwoJJ;;ADpoJI;EACC,mBAAA;ACuoJL;;AD7oJG;EACC,kBAAA;ACgpJJ;;AD5oJI;EACC,mBAAA;AC+oJL;;ADrpJG;EACC,kBAAA;ACwpJJ;;ADppJI;EACC,mBAAA;ACupJL;;AD7pJG;EACC,kBAAA;ACgqJJ;;AD5pJI;EACC,mBAAA;AC+pJL;;ADrqJG;EACC,kBAAA;ACwqJJ;;ADpqJI;EACC,mBAAA;ACuqJL;;ADjpJG;EACC,iBAAA;ACopJJ;;ADhpJI;EACC,kBAAA;ACmpJL;;ADzpJG;EACC,iBAAA;AC4pJJ;;ADxpJI;EACC,kBAAA;AC2pJL;;ADjqJG;EACC,kBAAA;ACoqJJ;;ADhqJI;EACC,mBAAA;ACmqJL;;ADzqJG;EACC,kBAAA;AC4qJJ;;ADxqJI;EACC,mBAAA;AC2qJL;;ADjrJG;EACC,kBAAA;ACorJJ;;ADhrJI;EACC,mBAAA;ACmrJL;;ADzrJG;EACC,kBAAA;AC4rJJ;;ADxrJI;EACC,mBAAA;AC2rJL;;ADjsJG;EACC,kBAAA;ACosJJ;;ADhsJI;EACC,mBAAA;ACmsJL;;ADzsJG;EACC,kBAAA;AC4sJJ;;ADxsJI;EACC,mBAAA;AC2sJL;;ADjtJG;EACC,kBAAA;ACotJJ;;ADhtJI;EACC,mBAAA;ACmtJL;;ADztJG;EACC,kBAAA;AC4tJJ;;ADxtJI;EACC,mBAAA;AC2tJL;;ADjuJG;EACC,kBAAA;ACouJJ;;ADhuJI;EACC,mBAAA;ACmuJL;;ADzuJG;EACC,kBAAA;AC4uJJ;;ADxuJI;EACC,mBAAA;AC2uJL;;ADjvJG;EACC,kBAAA;ACovJJ;;ADhvJI;EACC,mBAAA;ACmvJL;;ADzvJG;EACC,kBAAA;AC4vJJ;;ADxvJI;EACC,mBAAA;AC2vJL;;ADjwJG;EACC,kBAAA;ACowJJ;;ADhwJI;EACC,mBAAA;ACmwJL;;ADzwJG;EACC,kBAAA;AC4wJJ;;ADxwJI;EACC,mBAAA;AC2wJL;;ADjxJG;EACC,kBAAA;ACoxJJ;;ADhxJI;EACC,mBAAA;ACmxJL;;ADzxJG;EACC,kBAAA;AC4xJJ;;ADxxJI;EACC,mBAAA;AC2xJL;;ADjyJG;EACC,kBAAA;ACoyJJ;;ADhyJI;EACC,mBAAA;ACmyJL;;ADzyJG;EACC,kBAAA;AC4yJJ;;ADxyJI;EACC,mBAAA;AC2yJL;;ADjzJG;EACC,kBAAA;ACozJJ;;ADhzJI;EACC,mBAAA;ACmzJL;;ADzzJG;EACC,kBAAA;AC4zJJ;;ADxzJI;EACC,mBAAA;AC2zJL;;ADj0JG;EACC,kBAAA;ACo0JJ;;ADh0JI;EACC,mBAAA;ACm0JL;;ADz0JG;EACC,kBAAA;AC40JJ;;ADx0JI;EACC,mBAAA;AC20JL;;ADj1JG;EACC,mBAAA;ACo1JJ;;ADh1JI;EACC,oBAAA;ACm1JL;;ADz2JG;EACC,iBAAA;EACA,kBAAA;AC42JJ;;AD92JG;EACC,iBAAA;EACA,kBAAA;ACi3JJ;;ADn3JG;EACC,iBAAA;EACA,kBAAA;ACs3JJ;;ADx3JG;EACC,iBAAA;EACA,kBAAA;AC23JJ;;AD73JG;EACC,iBAAA;EACA,kBAAA;ACg4JJ;;ADl4JG;EACC,iBAAA;EACA,kBAAA;ACq4JJ;;ADv4JG;EACC,iBAAA;EACA,kBAAA;AC04JJ;;AD54JG;EACC,iBAAA;EACA,kBAAA;AC+4JJ;;ADj5JG;EACC,iBAAA;EACA,kBAAA;ACo5JJ;;ADt5JG;EACC,iBAAA;EACA,kBAAA;ACy5JJ;;AD35JG;EACC,kBAAA;EACA,mBAAA;AC85JJ;;ADh6JG;EACC,kBAAA;EACA,mBAAA;ACm6JJ;;ADr6JG;EACC,kBAAA;EACA,mBAAA;ACw6JJ;;AD16JG;EACC,kBAAA;EACA,mBAAA;AC66JJ;;AD/6JG;EACC,kBAAA;EACA,mBAAA;ACk7JJ;;ADp7JG;EACC,kBAAA;EACA,mBAAA;ACu7JJ;;ADz7JG;EACC,kBAAA;EACA,mBAAA;AC47JJ;;AD97JG;EACC,kBAAA;EACA,mBAAA;ACi8JJ;;ADn8JG;EACC,kBAAA;EACA,mBAAA;ACs8JJ;;ADx8JG;EACC,kBAAA;EACA,mBAAA;AC28JJ;;AD78JG;EACC,kBAAA;EACA,mBAAA;ACg9JJ;;ADl9JG;EACC,kBAAA;EACA,mBAAA;ACq9JJ;;ADv9JG;EACC,kBAAA;EACA,mBAAA;AC09JJ;;AD59JG;EACC,kBAAA;EACA,mBAAA;AC+9JJ;;ADj+JG;EACC,kBAAA;EACA,mBAAA;ACo+JJ;;ADt+JG;EACC,kBAAA;EACA,mBAAA;ACy+JJ;;AD/8JG;EACC,iBAAA;EACA,kBAAA;ACk9JJ;;ADp9JG;EACC,iBAAA;EACA,kBAAA;ACu9JJ;;ADz9JG;EACC,kBAAA;EACA,mBAAA;AC49JJ;;AD99JG;EACC,kBAAA;EACA,mBAAA;ACi+JJ;;ADn+JG;EACC,kBAAA;EACA,mBAAA;ACs+JJ;;ADx+JG;EACC,kBAAA;EACA,mBAAA;AC2+JJ;;AD7+JG;EACC,kBAAA;EACA,mBAAA;ACg/JJ;;ADl/JG;EACC,kBAAA;EACA,mBAAA;ACq/JJ;;ADv/JG;EACC,kBAAA;EACA,mBAAA;AC0/JJ;;AD5/JG;EACC,kBAAA;EACA,mBAAA;AC+/JJ;;ADjgKG;EACC,kBAAA;EACA,mBAAA;ACogKJ;;ADtgKG;EACC,kBAAA;EACA,mBAAA;ACygKJ;;AD3gKG;EACC,kBAAA;EACA,mBAAA;AC8gKJ;;ADhhKG;EACC,kBAAA;EACA,mBAAA;ACmhKJ;;ADrhKG;EACC,kBAAA;EACA,mBAAA;ACwhKJ;;AD1hKG;EACC,kBAAA;EACA,mBAAA;AC6hKJ;;AD/hKG;EACC,kBAAA;EACA,mBAAA;ACkiKJ;;ADpiKG;EACC,kBAAA;EACA,mBAAA;ACuiKJ;;ADziKG;EACC,kBAAA;EACA,mBAAA;AC4iKJ;;AD9iKG;EACC,kBAAA;EACA,mBAAA;ACijKJ;;ADnjKG;EACC,kBAAA;EACA,mBAAA;ACsjKJ;;ADxjKG;EACC,kBAAA;EACA,mBAAA;AC2jKJ;;AD7jKG;EACC,kBAAA;EACA,mBAAA;ACgkKJ;;ADlkKG;EACC,kBAAA;EACA,mBAAA;ACqkKJ;;ADvkKG;EACC,mBAAA;EACA,oBAAA;AC0kKJ;;ADjmKG;EACC,gBAAA;EACA,mBAAA;AComKJ;;ADtmKG;EACC,gBAAA;EACA,mBAAA;ACymKJ;;AD3mKG;EACC,gBAAA;EACA,mBAAA;AC8mKJ;;ADhnKG;EACC,gBAAA;EACA,mBAAA;ACmnKJ;;ADrnKG;EACC,gBAAA;EACA,mBAAA;ACwnKJ;;AD1nKG;EACC,gBAAA;EACA,mBAAA;AC6nKJ;;AD/nKG;EACC,gBAAA;EACA,mBAAA;ACkoKJ;;ADpoKG;EACC,gBAAA;EACA,mBAAA;ACuoKJ;;ADzoKG;EACC,gBAAA;EACA,mBAAA;AC4oKJ;;AD9oKG;EACC,gBAAA;EACA,mBAAA;ACipKJ;;ADnpKG;EACC,iBAAA;EACA,oBAAA;ACspKJ;;ADxpKG;EACC,iBAAA;EACA,oBAAA;AC2pKJ;;AD7pKG;EACC,iBAAA;EACA,oBAAA;ACgqKJ;;ADlqKG;EACC,iBAAA;EACA,oBAAA;ACqqKJ;;ADvqKG;EACC,iBAAA;EACA,oBAAA;AC0qKJ;;AD5qKG;EACC,iBAAA;EACA,oBAAA;AC+qKJ;;ADjrKG;EACC,iBAAA;EACA,oBAAA;ACorKJ;;ADtrKG;EACC,iBAAA;EACA,oBAAA;ACyrKJ;;AD3rKG;EACC,iBAAA;EACA,oBAAA;AC8rKJ;;ADhsKG;EACC,iBAAA;EACA,oBAAA;ACmsKJ;;ADrsKG;EACC,iBAAA;EACA,oBAAA;ACwsKJ;;AD1sKG;EACC,iBAAA;EACA,oBAAA;AC6sKJ;;AD/sKG;EACC,iBAAA;EACA,oBAAA;ACktKJ;;ADptKG;EACC,iBAAA;EACA,oBAAA;ACutKJ;;ADztKG;EACC,iBAAA;EACA,oBAAA;AC4tKJ;;AD9tKG;EACC,iBAAA;EACA,oBAAA;ACiuKJ;;ADvsKG;EACC,gBAAA;EACA,mBAAA;AC0sKJ;;AD5sKG;EACC,gBAAA;EACA,mBAAA;AC+sKJ;;ADjtKG;EACC,iBAAA;EACA,oBAAA;ACotKJ;;ADttKG;EACC,iBAAA;EACA,oBAAA;ACytKJ;;AD3tKG;EACC,iBAAA;EACA,oBAAA;AC8tKJ;;ADhuKG;EACC,iBAAA;EACA,oBAAA;ACmuKJ;;ADruKG;EACC,iBAAA;EACA,oBAAA;ACwuKJ;;AD1uKG;EACC,iBAAA;EACA,oBAAA;AC6uKJ;;AD/uKG;EACC,iBAAA;EACA,oBAAA;ACkvKJ;;ADpvKG;EACC,iBAAA;EACA,oBAAA;ACuvKJ;;ADzvKG;EACC,iBAAA;EACA,oBAAA;AC4vKJ;;AD9vKG;EACC,iBAAA;EACA,oBAAA;ACiwKJ;;ADnwKG;EACC,iBAAA;EACA,oBAAA;ACswKJ;;ADxwKG;EACC,iBAAA;EACA,oBAAA;AC2wKJ;;AD7wKG;EACC,iBAAA;EACA,oBAAA;ACgxKJ;;ADlxKG;EACC,iBAAA;EACA,oBAAA;ACqxKJ;;ADvxKG;EACC,iBAAA;EACA,oBAAA;AC0xKJ;;AD5xKG;EACC,iBAAA;EACA,oBAAA;AC+xKJ;;ADjyKG;EACC,iBAAA;EACA,oBAAA;ACoyKJ;;ADtyKG;EACC,iBAAA;EACA,oBAAA;ACyyKJ;;AD3yKG;EACC,iBAAA;EACA,oBAAA;AC8yKJ;;ADhzKG;EACC,iBAAA;EACA,oBAAA;ACmzKJ;;ADrzKG;EACC,iBAAA;EACA,oBAAA;ACwzKJ;;AD1zKG;EACC,iBAAA;EACA,oBAAA;AC6zKJ;;AD/zKG;EACC,kBAAA;EACA,qBAAA;ACk0KJ;;ADxzKE;EACC,SAAA;AC2zKH;;ADxzKE;EACC,UAAA;AC2zKH;;ADh0KE;EACC,SAAA;ACm0KH;;ADh0KE;EACC,UAAA;ACm0KH;;ADx0KE;EACC,SAAA;AC20KH;;ADx0KE;EACC,UAAA;AC20KH;;ADh1KE;EACC,SAAA;ACm1KH;;ADh1KE;EACC,UAAA;ACm1KH;;ADx1KE;EACC,SAAA;AC21KH;;ADx1KE;EACC,UAAA;AC21KH;;ADh2KE;EACC,SAAA;ACm2KH;;ADh2KE;EACC,UAAA;ACm2KH;;ADx2KE;EACC,SAAA;AC22KH;;ADx2KE;EACC,UAAA;AC22KH;;ADh3KE;EACC,SAAA;ACm3KH;;ADh3KE;EACC,UAAA;ACm3KH;;ADx3KE;EACC,SAAA;AC23KH;;ADx3KE;EACC,UAAA;AC23KH;;ADh4KE;EACC,SAAA;ACm4KH;;ADh4KE;EACC,UAAA;ACm4KH;;ADx4KE;EACC,UAAA;AC24KH;;ADx4KE;EACC,WAAA;AC24KH;;ADh5KE;EACC,UAAA;ACm5KH;;ADh5KE;EACC,WAAA;ACm5KH;;ADx5KE;EACC,UAAA;AC25KH;;ADx5KE;EACC,WAAA;AC25KH;;ADh6KE;EACC,UAAA;ACm6KH;;ADh6KE;EACC,WAAA;ACm6KH;;ADx6KE;EACC,UAAA;AC26KH;;ADx6KE;EACC,WAAA;AC26KH;;ADh7KE;EACC,UAAA;ACm7KH;;ADh7KE;EACC,WAAA;ACm7KH;;ADx7KE;EACC,UAAA;AC27KH;;ADx7KE;EACC,WAAA;AC27KH;;ADh8KE;EACC,UAAA;ACm8KH;;ADh8KE;EACC,WAAA;ACm8KH;;ADx8KE;EACC,UAAA;AC28KH;;ADx8KE;EACC,WAAA;AC28KH;;ADh9KE;EACC,UAAA;ACm9KH;;ADh9KE;EACC,WAAA;ACm9KH;;ADx9KE;EACC,UAAA;AC29KH;;ADx9KE;EACC,WAAA;AC29KH;;ADh+KE;EACC,UAAA;ACm+KH;;ADh+KE;EACC,WAAA;ACm+KH;;ADx+KE;EACC,UAAA;AC2+KH;;ADx+KE;EACC,WAAA;AC2+KH;;ADh/KE;EACC,UAAA;ACm/KH;;ADh/KE;EACC,WAAA;ACm/KH;;ADx/KE;EACC,UAAA;AC2/KH;;ADx/KE;EACC,WAAA;AC2/KH;;ADhgLE;EACC,UAAA;ACmgLH;;ADhgLE;EACC,WAAA;ACmgLH;;AD9/KE;EACC,SAAA;ACigLH;;AD9/KE;EACC,UAAA;ACigLH;;ADtgLE;EACC,SAAA;ACygLH;;ADtgLE;EACC,UAAA;ACygLH;;AD9gLE;EACC,UAAA;ACihLH;;AD9gLE;EACC,WAAA;ACihLH;;ADthLE;EACC,UAAA;ACyhLH;;ADthLE;EACC,WAAA;ACyhLH;;AD9hLE;EACC,UAAA;ACiiLH;;AD9hLE;EACC,WAAA;ACiiLH;;ADtiLE;EACC,UAAA;ACyiLH;;ADtiLE;EACC,WAAA;ACyiLH;;AD9iLE;EACC,UAAA;ACijLH;;AD9iLE;EACC,WAAA;ACijLH;;ADtjLE;EACC,UAAA;ACyjLH;;ADtjLE;EACC,WAAA;ACyjLH;;AD9jLE;EACC,UAAA;ACikLH;;AD9jLE;EACC,WAAA;ACikLH;;ADtkLE;EACC,UAAA;ACykLH;;ADtkLE;EACC,WAAA;ACykLH;;AD9kLE;EACC,UAAA;ACilLH;;AD9kLE;EACC,WAAA;ACilLH;;ADtlLE;EACC,UAAA;ACylLH;;ADtlLE;EACC,WAAA;ACylLH;;AD9lLE;EACC,UAAA;ACimLH;;AD9lLE;EACC,WAAA;ACimLH;;ADtmLE;EACC,UAAA;ACymLH;;ADtmLE;EACC,WAAA;ACymLH;;AD9mLE;EACC,UAAA;ACinLH;;AD9mLE;EACC,WAAA;ACinLH;;ADtnLE;EACC,UAAA;ACynLH;;ADtnLE;EACC,WAAA;ACynLH;;AD9nLE;EACC,UAAA;ACioLH;;AD9nLE;EACC,WAAA;ACioLH;;ADtoLE;EACC,UAAA;ACyoLH;;ADtoLE;EACC,WAAA;ACyoLH;;AD9oLE;EACC,UAAA;ACipLH;;AD9oLE;EACC,WAAA;ACipLH;;ADtpLE;EACC,UAAA;ACypLH;;ADtpLE;EACC,WAAA;ACypLH;;AD9pLE;EACC,UAAA;ACiqLH;;AD9pLE;EACC,WAAA;ACiqLH;;ADtqLE;EACC,UAAA;ACyqLH;;ADtqLE;EACC,WAAA;ACyqLH;;AD9qLE;EACC,UAAA;ACirLH;;AD9qLE;EACC,WAAA;ACirLH;;ADtrLE;EACC,UAAA;ACyrLH;;ADtrLE;EACC,WAAA;ACyrLH;;AD9rLE;EACC,WAAA;ACisLH;;AD9rLE;EACC,YAAA;ACisLH;;ADhtLE;EACC,WAAA;ACmtLH;;ADhtLE;EACC,YAAA;ACmtLH;;ADxtLE;EACC,WAAA;AC2tLH;;ADxtLE;EACC,YAAA;AC2tLH;;ADhuLE;EACC,WAAA;ACmuLH;;ADhuLE;EACC,YAAA;ACmuLH;;ADxuLE;EACC,WAAA;AC2uLH;;ADxuLE;EACC,YAAA;AC2uLH;;ADhvLE;EACC,WAAA;ACmvLH;;ADhvLE;EACC,YAAA;ACmvLH;;ADxvLE;EACC,WAAA;AC2vLH;;ADxvLE;EACC,YAAA;AC2vLH;;ADhwLE;EACC,WAAA;ACmwLH;;ADhwLE;EACC,YAAA;ACmwLH;;ADxwLE;EACC,WAAA;AC2wLH;;ADxwLE;EACC,YAAA;AC2wLH;;ADhxLE;EACC,WAAA;ACmxLH;;ADhxLE;EACC,YAAA;ACmxLH;;ADxxLE;EACC,WAAA;AC2xLH;;ADxxLE;EACC,YAAA;AC2xLH;;ADhyLE;EACC,YAAA;ACmyLH;;ADhyLE;EACC,aAAA;ACmyLH;;ADxyLE;EACC,YAAA;AC2yLH;;ADxyLE;EACC,aAAA;AC2yLH;;ADhzLE;EACC,YAAA;ACmzLH;;ADhzLE;EACC,aAAA;ACmzLH;;ADxzLE;EACC,YAAA;AC2zLH;;ADxzLE;EACC,aAAA;AC2zLH;;ADh0LE;EACC,YAAA;ACm0LH;;ADh0LE;EACC,aAAA;ACm0LH;;ADx0LE;EACC,YAAA;AC20LH;;ADx0LE;EACC,aAAA;AC20LH;;ADh1LE;EACC,YAAA;ACm1LH;;ADh1LE;EACC,aAAA;ACm1LH;;ADx1LE;EACC,YAAA;AC21LH;;ADx1LE;EACC,aAAA;AC21LH;;ADh2LE;EACC,YAAA;ACm2LH;;ADh2LE;EACC,aAAA;ACm2LH;;ADx2LE;EACC,YAAA;AC22LH;;ADx2LE;EACC,aAAA;AC22LH;;ADh3LE;EACC,YAAA;ACm3LH;;ADh3LE;EACC,aAAA;ACm3LH;;ADx3LE;EACC,YAAA;AC23LH;;ADx3LE;EACC,aAAA;AC23LH;;ADh4LE;EACC,YAAA;ACm4LH;;ADh4LE;EACC,aAAA;ACm4LH;;ADx4LE;EACC,YAAA;AC24LH;;ADx4LE;EACC,aAAA;AC24LH;;ADh5LE;EACC,YAAA;ACm5LH;;ADh5LE;EACC,aAAA;ACm5LH;;ADx5LE;EACC,YAAA;AC25LH;;ADx5LE;EACC,aAAA;AC25LH;;ADt5LE;EACC,WAAA;ACy5LH;;ADt5LE;EACC,YAAA;ACy5LH;;AD95LE;EACC,WAAA;ACi6LH;;AD95LE;EACC,YAAA;ACi6LH;;ADt6LE;EACC,YAAA;ACy6LH;;ADt6LE;EACC,aAAA;ACy6LH;;AD96LE;EACC,YAAA;ACi7LH;;AD96LE;EACC,aAAA;ACi7LH;;ADt7LE;EACC,YAAA;ACy7LH;;ADt7LE;EACC,aAAA;ACy7LH;;AD97LE;EACC,YAAA;ACi8LH;;AD97LE;EACC,aAAA;ACi8LH;;ADt8LE;EACC,YAAA;ACy8LH;;ADt8LE;EACC,aAAA;ACy8LH;;AD98LE;EACC,YAAA;ACi9LH;;AD98LE;EACC,aAAA;ACi9LH;;ADt9LE;EACC,YAAA;ACy9LH;;ADt9LE;EACC,aAAA;ACy9LH;;AD99LE;EACC,YAAA;ACi+LH;;AD99LE;EACC,aAAA;ACi+LH;;ADt+LE;EACC,YAAA;ACy+LH;;ADt+LE;EACC,aAAA;ACy+LH;;AD9+LE;EACC,YAAA;ACi/LH;;AD9+LE;EACC,aAAA;ACi/LH;;ADt/LE;EACC,YAAA;ACy/LH;;ADt/LE;EACC,aAAA;ACy/LH;;AD9/LE;EACC,YAAA;ACigMH;;AD9/LE;EACC,aAAA;ACigMH;;ADtgME;EACC,YAAA;ACygMH;;ADtgME;EACC,aAAA;ACygMH;;AD9gME;EACC,YAAA;ACihMH;;AD9gME;EACC,aAAA;ACihMH;;ADthME;EACC,YAAA;ACyhMH;;ADthME;EACC,aAAA;ACyhMH;;AD9hME;EACC,YAAA;ACiiMH;;AD9hME;EACC,aAAA;ACiiMH;;ADtiME;EACC,YAAA;ACyiMH;;ADtiME;EACC,aAAA;ACyiMH;;AD9iME;EACC,YAAA;ACijMH;;AD9iME;EACC,aAAA;ACijMH;;ADtjME;EACC,YAAA;ACyjMH;;ADtjME;EACC,aAAA;ACyjMH;;AD9jME;EACC,YAAA;ACikMH;;AD9jME;EACC,aAAA;ACikMH;;ADtkME;EACC,YAAA;ACykMH;;ADtkME;EACC,aAAA;ACykMH;;AD9kME;EACC,YAAA;ACilMH;;AD9kME;EACC,aAAA;ACilMH;;ADtlME;EACC,aAAA;ACylMH;;ADtlME;EACC,cAAA;ACylMH;;ADxmME;EACC,YAAA;AC2mMH;;ADxmME;EACC,aAAA;AC2mMH;;ADhnME;EACC,YAAA;ACmnMH;;ADhnME;EACC,aAAA;ACmnMH;;ADxnME;EACC,YAAA;AC2nMH;;ADxnME;EACC,aAAA;AC2nMH;;ADhoME;EACC,YAAA;ACmoMH;;ADhoME;EACC,aAAA;ACmoMH;;ADxoME;EACC,YAAA;AC2oMH;;ADxoME;EACC,aAAA;AC2oMH;;ADhpME;EACC,YAAA;ACmpMH;;ADhpME;EACC,aAAA;ACmpMH;;ADxpME;EACC,YAAA;AC2pMH;;ADxpME;EACC,aAAA;AC2pMH;;ADhqME;EACC,YAAA;ACmqMH;;ADhqME;EACC,aAAA;ACmqMH;;ADxqME;EACC,YAAA;AC2qMH;;ADxqME;EACC,aAAA;AC2qMH;;ADhrME;EACC,YAAA;ACmrMH;;ADhrME;EACC,aAAA;ACmrMH;;ADxrME;EACC,aAAA;AC2rMH;;ADxrME;EACC,cAAA;AC2rMH;;ADhsME;EACC,aAAA;ACmsMH;;ADhsME;EACC,cAAA;ACmsMH;;ADxsME;EACC,aAAA;AC2sMH;;ADxsME;EACC,cAAA;AC2sMH;;ADhtME;EACC,aAAA;ACmtMH;;ADhtME;EACC,cAAA;ACmtMH;;ADxtME;EACC,aAAA;AC2tMH;;ADxtME;EACC,cAAA;AC2tMH;;ADhuME;EACC,aAAA;ACmuMH;;ADhuME;EACC,cAAA;ACmuMH;;ADxuME;EACC,aAAA;AC2uMH;;ADxuME;EACC,cAAA;AC2uMH;;ADhvME;EACC,aAAA;ACmvMH;;ADhvME;EACC,cAAA;ACmvMH;;ADxvME;EACC,aAAA;AC2vMH;;ADxvME;EACC,cAAA;AC2vMH;;ADhwME;EACC,aAAA;ACmwMH;;ADhwME;EACC,cAAA;ACmwMH;;ADxwME;EACC,aAAA;AC2wMH;;ADxwME;EACC,cAAA;AC2wMH;;ADhxME;EACC,aAAA;ACmxMH;;ADhxME;EACC,cAAA;ACmxMH;;ADxxME;EACC,aAAA;AC2xMH;;ADxxME;EACC,cAAA;AC2xMH;;ADhyME;EACC,aAAA;ACmyMH;;ADhyME;EACC,cAAA;ACmyMH;;ADxyME;EACC,aAAA;AC2yMH;;ADxyME;EACC,cAAA;AC2yMH;;ADhzME;EACC,aAAA;ACmzMH;;ADhzME;EACC,cAAA;ACmzMH;;AD9yME;EACC,YAAA;ACizMH;;AD9yME;EACC,aAAA;ACizMH;;ADtzME;EACC,YAAA;ACyzMH;;ADtzME;EACC,aAAA;ACyzMH;;AD9zME;EACC,aAAA;ACi0MH;;AD9zME;EACC,cAAA;ACi0MH;;ADt0ME;EACC,aAAA;ACy0MH;;ADt0ME;EACC,cAAA;ACy0MH;;AD90ME;EACC,aAAA;ACi1MH;;AD90ME;EACC,cAAA;ACi1MH;;ADt1ME;EACC,aAAA;ACy1MH;;ADt1ME;EACC,cAAA;ACy1MH;;AD91ME;EACC,aAAA;ACi2MH;;AD91ME;EACC,cAAA;ACi2MH;;ADt2ME;EACC,aAAA;ACy2MH;;ADt2ME;EACC,cAAA;ACy2MH;;AD92ME;EACC,aAAA;ACi3MH;;AD92ME;EACC,cAAA;ACi3MH;;ADt3ME;EACC,aAAA;ACy3MH;;ADt3ME;EACC,cAAA;ACy3MH;;AD93ME;EACC,aAAA;ACi4MH;;AD93ME;EACC,cAAA;ACi4MH;;ADt4ME;EACC,aAAA;ACy4MH;;ADt4ME;EACC,cAAA;ACy4MH;;AD94ME;EACC,aAAA;ACi5MH;;AD94ME;EACC,cAAA;ACi5MH;;ADt5ME;EACC,aAAA;ACy5MH;;ADt5ME;EACC,cAAA;ACy5MH;;AD95ME;EACC,aAAA;ACi6MH;;AD95ME;EACC,cAAA;ACi6MH;;ADt6ME;EACC,aAAA;ACy6MH;;ADt6ME;EACC,cAAA;ACy6MH;;AD96ME;EACC,aAAA;ACi7MH;;AD96ME;EACC,cAAA;ACi7MH;;ADt7ME;EACC,aAAA;ACy7MH;;ADt7ME;EACC,cAAA;ACy7MH;;AD97ME;EACC,aAAA;ACi8MH;;AD97ME;EACC,cAAA;ACi8MH;;ADt8ME;EACC,aAAA;ACy8MH;;ADt8ME;EACC,cAAA;ACy8MH;;AD98ME;EACC,aAAA;ACi9MH;;AD98ME;EACC,cAAA;ACi9MH;;ADt9ME;EACC,aAAA;ACy9MH;;ADt9ME;EACC,cAAA;ACy9MH;;AD99ME;EACC,aAAA;ACi+MH;;AD99ME;EACC,cAAA;ACi+MH;;ADt+ME;EACC,aAAA;ACy+MH;;ADt+ME;EACC,cAAA;ACy+MH;;AD9+ME;EACC,cAAA;ACi/MH;;AD9+ME;EACC,eAAA;ACi/MH;;ADhgNE;EACC,UAAA;ACmgNH;;ADhgNE;EACC,WAAA;ACmgNH;;ADxgNE;EACC,UAAA;AC2gNH;;ADxgNE;EACC,WAAA;AC2gNH;;ADhhNE;EACC,UAAA;ACmhNH;;ADhhNE;EACC,WAAA;ACmhNH;;ADxhNE;EACC,UAAA;AC2hNH;;ADxhNE;EACC,WAAA;AC2hNH;;ADhiNE;EACC,UAAA;ACmiNH;;ADhiNE;EACC,WAAA;ACmiNH;;ADxiNE;EACC,UAAA;AC2iNH;;ADxiNE;EACC,WAAA;AC2iNH;;ADhjNE;EACC,UAAA;ACmjNH;;ADhjNE;EACC,WAAA;ACmjNH;;ADxjNE;EACC,UAAA;AC2jNH;;ADxjNE;EACC,WAAA;AC2jNH;;ADhkNE;EACC,UAAA;ACmkNH;;ADhkNE;EACC,WAAA;ACmkNH;;ADxkNE;EACC,UAAA;AC2kNH;;ADxkNE;EACC,WAAA;AC2kNH;;ADhlNE;EACC,WAAA;ACmlNH;;ADhlNE;EACC,YAAA;ACmlNH;;ADxlNE;EACC,WAAA;AC2lNH;;ADxlNE;EACC,YAAA;AC2lNH;;ADhmNE;EACC,WAAA;ACmmNH;;ADhmNE;EACC,YAAA;ACmmNH;;ADxmNE;EACC,WAAA;AC2mNH;;ADxmNE;EACC,YAAA;AC2mNH;;ADhnNE;EACC,WAAA;ACmnNH;;ADhnNE;EACC,YAAA;ACmnNH;;ADxnNE;EACC,WAAA;AC2nNH;;ADxnNE;EACC,YAAA;AC2nNH;;ADhoNE;EACC,WAAA;ACmoNH;;ADhoNE;EACC,YAAA;ACmoNH;;ADxoNE;EACC,WAAA;AC2oNH;;ADxoNE;EACC,YAAA;AC2oNH;;ADhpNE;EACC,WAAA;ACmpNH;;ADhpNE;EACC,YAAA;ACmpNH;;ADxpNE;EACC,WAAA;AC2pNH;;ADxpNE;EACC,YAAA;AC2pNH;;ADhqNE;EACC,WAAA;ACmqNH;;ADhqNE;EACC,YAAA;ACmqNH;;ADxqNE;EACC,WAAA;AC2qNH;;ADxqNE;EACC,YAAA;AC2qNH;;ADhrNE;EACC,WAAA;ACmrNH;;ADhrNE;EACC,YAAA;ACmrNH;;ADxrNE;EACC,WAAA;AC2rNH;;ADxrNE;EACC,YAAA;AC2rNH;;ADhsNE;EACC,WAAA;ACmsNH;;ADhsNE;EACC,YAAA;ACmsNH;;ADxsNE;EACC,WAAA;AC2sNH;;ADxsNE;EACC,YAAA;AC2sNH;;ADtsNE;EACC,UAAA;ACysNH;;ADtsNE;EACC,WAAA;ACysNH;;AD9sNE;EACC,UAAA;ACitNH;;AD9sNE;EACC,WAAA;ACitNH;;ADttNE;EACC,WAAA;ACytNH;;ADttNE;EACC,YAAA;ACytNH;;AD9tNE;EACC,WAAA;ACiuNH;;AD9tNE;EACC,YAAA;ACiuNH;;ADtuNE;EACC,WAAA;ACyuNH;;ADtuNE;EACC,YAAA;ACyuNH;;AD9uNE;EACC,WAAA;ACivNH;;AD9uNE;EACC,YAAA;ACivNH;;ADtvNE;EACC,WAAA;ACyvNH;;ADtvNE;EACC,YAAA;ACyvNH;;AD9vNE;EACC,WAAA;ACiwNH;;AD9vNE;EACC,YAAA;ACiwNH;;ADtwNE;EACC,WAAA;ACywNH;;ADtwNE;EACC,YAAA;ACywNH;;AD9wNE;EACC,WAAA;ACixNH;;AD9wNE;EACC,YAAA;ACixNH;;ADtxNE;EACC,WAAA;ACyxNH;;ADtxNE;EACC,YAAA;ACyxNH;;AD9xNE;EACC,WAAA;ACiyNH;;AD9xNE;EACC,YAAA;ACiyNH;;ADtyNE;EACC,WAAA;ACyyNH;;ADtyNE;EACC,YAAA;ACyyNH;;AD9yNE;EACC,WAAA;ACizNH;;AD9yNE;EACC,YAAA;ACizNH;;ADtzNE;EACC,WAAA;ACyzNH;;ADtzNE;EACC,YAAA;ACyzNH;;AD9zNE;EACC,WAAA;ACi0NH;;AD9zNE;EACC,YAAA;ACi0NH;;ADt0NE;EACC,WAAA;ACy0NH;;ADt0NE;EACC,YAAA;ACy0NH;;AD90NE;EACC,WAAA;ACi1NH;;AD90NE;EACC,YAAA;ACi1NH;;ADt1NE;EACC,WAAA;ACy1NH;;ADt1NE;EACC,YAAA;ACy1NH;;AD91NE;EACC,WAAA;ACi2NH;;AD91NE;EACC,YAAA;ACi2NH;;ADt2NE;EACC,WAAA;ACy2NH;;ADt2NE;EACC,YAAA;ACy2NH;;AD92NE;EACC,WAAA;ACi3NH;;AD92NE;EACC,YAAA;ACi3NH;;ADt3NE;EACC,WAAA;ACy3NH;;ADt3NE;EACC,YAAA;ACy3NH;;AD93NE;EACC,WAAA;ACi4NH;;AD93NE;EACC,YAAA;ACi4NH;;ADt4NE;EACC,YAAA;ACy4NH;;ADt4NE;EACC,aAAA;ACy4NH;;ADp4NA;EACC,wBAAA;ACu4ND;;ADp4NC;EACC,qCAAA;ACu4NF;;ADx4NC;EACC,qCAAA;AC24NF;;AD54NC;EACC,qCAAA;AC+4NF;;ADh5NC;EACC,qCAAA;ACm5NF;;ADp5NC;EACC,qCAAA;ACu5NF;;ADx5NC;EACC,qCAAA;AC25NF;;AD55NC;EACC,qCAAA;AC+5NF;;ADh6NC;EACC,qCAAA;ACm6NF;;ADp6NC;EACC,qCAAA;ACu6NF;;ADx6NC;EACC,sCAAA;AC26NF;;AD56NC;EACC,sCAAA;AC+6NF;;AD36NC;EACC,SAAA;AC86NF;;AD56NC;EACC,qBAAA;AC+6NF;;AD76NC;EACC,kBAAA;ACg7NF;;ADv7NC;EACC,SAAA;AC07NF;;ADx7NC;EACC,qBAAA;AC27NF;;ADz7NC;EACC,kBAAA;AC47NF;;ADn8NC;EACC,SAAA;ACs8NF;;ADp8NC;EACC,qBAAA;ACu8NF;;ADr8NC;EACC,kBAAA;ACw8NF;;AD/8NC;EACC,SAAA;ACk9NF;;ADh9NC;EACC,qBAAA;ACm9NF;;ADj9NC;EACC,kBAAA;ACo9NF;;AD39NC;EACC,UAAA;AC89NF;;AD59NC;EACC,sBAAA;AC+9NF;;AD79NC;EACC,mBAAA;ACg+NF;;ADv+NC;EACC,UAAA;AC0+NF;;ADx+NC;EACC,sBAAA;AC2+NF;;ADz+NC;EACC,mBAAA;AC4+NF;;ADn/NC;EACC,UAAA;ACs/NF;;ADp/NC;EACC,sBAAA;ACu/NF;;ADr/NC;EACC,mBAAA;ACw/NF;;AD//NC;EACC,UAAA;ACkgOF;;ADhgOC;EACC,sBAAA;ACmgOF;;ADjgOC;EACC,mBAAA;ACogOF;;AD3gOC;EACC,UAAA;AC8gOF;;AD5gOC;EACC,sBAAA;AC+gOF;;AD7gOC;EACC,mBAAA;ACghOF;;ADvhOC;EACC,UAAA;AC0hOF;;ADxhOC;EACC,sBAAA;AC2hOF;;ADzhOC;EACC,mBAAA;AC4hOF;;ADniOC;EACC,UAAA;ACsiOF;;ADpiOC;EACC,sBAAA;ACuiOF;;ADriOC;EACC,mBAAA;ACwiOF;;AD/iOC;EACC,UAAA;ACkjOF;;ADhjOC;EACC,sBAAA;ACmjOF;;ADjjOC;EACC,mBAAA;ACojOF;;AD3jOC;EACC,UAAA;AC8jOF;;AD5jOC;EACC,sBAAA;AC+jOF;;AD7jOC;EACC,mBAAA;ACgkOF;;ADvkOC;EACC,UAAA;AC0kOF;;ADxkOC;EACC,sBAAA;AC2kOF;;ADzkOC;EACC,mBAAA;AC4kOF;;ADnlOC;EACC,UAAA;ACslOF;;ADplOC;EACC,sBAAA;ACulOF;;ADrlOC;EACC,mBAAA;ACwlOF;;AD/lOC;EACC,UAAA;ACkmOF;;ADhmOC;EACC,sBAAA;ACmmOF;;ADjmOC;EACC,mBAAA;AComOF;;AD3mOC;EACC,UAAA;AC8mOF;;AD5mOC;EACC,sBAAA;AC+mOF;;AD7mOC;EACC,mBAAA;ACgnOF;;ADvnOC;EACC,UAAA;AC0nOF;;ADxnOC;EACC,sBAAA;AC2nOF;;ADznOC;EACC,mBAAA;AC4nOF;;ADnoOC;EACC,UAAA;ACsoOF;;ADpoOC;EACC,sBAAA;ACuoOF;;ADroOC;EACC,mBAAA;ACwoOF;;AD/oOC;EACC,UAAA;ACkpOF;;ADhpOC;EACC,sBAAA;ACmpOF;;ADjpOC;EACC,mBAAA;ACopOF;;AD3pOC;EACC,UAAA;AC8pOF;;AD5pOC;EACC,sBAAA;AC+pOF;;AD7pOC;EACC,mBAAA;ACgqOF;;ADvqOC;EACC,UAAA;AC0qOF;;ADxqOC;EACC,sB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BAAA;AC6wOF;;AD9wOC;EACC,wBAAA;ACixOF;;ADlxOC;EACC,wBAAA;ACqxOF;;ADtxOC;EACC,wBAAA;ACyxOF;;AD7uOC;EACC,yBAAA;ACgvOF;;AD7uOC;EACC,yBA7BO;AC6wOT;;ADrvOC;EACC,yBAAA;ACwvOF;;ADrvOC;EACC,yBA7BO;ACqxOT;;AD7vOC;EACC,yBAAA;ACgwOF;;AD7vOC;EACC,yBA7BO;AC6xOT;;ADrwOC;EACC,yBAAA;ACwwOF;;ADrwOC;EACC,yBA7BO;ACqyOT;;AD7wOC;EACC,yBAAA;ACgxOF;;AD7wOC;EACC,yBA7BO;AC6yOT;;ADrxOC;EACC,yBAAA;ACwxOF;;ADrxOC;EACC,yBA7BO;ACqzOT;;AD7xOC;EACC,yBAAA;ACgyOF;;AD7xOC;EACC,yBA7BO;AC6zOT;;ADryOC;EACC,yBAAA;ACwyOF;;ADryOC;EACC,yBA7BO;ACq0OT;;AD7yOC;EACC,yBAAA;ACgzOF;;AD7yOC;EACC,yBA7BO;AC60OT;;ADrzOC;EACC,yBAAA;ACwzOF;;ADrzOC;EACC,yBA7BO;ACq1OT;;AD7zOC;EACC,yBAAA;ACg0OF;;AD7zOC;EACC,yBA7BO;AC61OT;;ADr0OC;EACC,yBAAA;ACw0OF;;ADr0OC;EACC,yBA7BO;ACq2OT;;AD70OC;EACC,yBAAA;ACg1OF;;AD70OC;EACC,yBA7BO;AC62OT;;ADr1OC;EACC,yBAAA;ACw1OF;;ADr1OC;EACC,yBA7BO;ACq3OT;;AD71OC;EACC,yBAAA;ACg2OF;;AD71OC;EACC,yBA7BO;AC63OT;;ADr2OC;EACC,yBAAA;ACw2OF;;ADr2OC;EACC,yBA7BO;ACq4OT;;AD72OC;EACC,yBAAA;ACg3OF;;AD72OC;EACC,yBA7BO;AC64OT;;ADr3OC;EACC,yBAAA;ACw3OF;;ADr3OC;EACC,yBA7BO;ACq5OT;;ADl3OC;EACC,yBAAA;ACq3OF;;ADl3OC;EACC,yBAxDc;AC66OhB;;AD13OC;EACC,yBAAA;AC63OF;;AD13OC;EACC,yBAxDc;ACq7OhB;;ADl4OC;EACC,yBAAA;ACq4OF;;ADl4OC;EACC,yBAxDc;AC67OhB;;AD14OC;EACC,yBAAA;AC64OF;;AD14OC;EACC,yBAxDc;ACq8OhB;;ADl5OC;EACC,yBAAA;ACq5OF;;ADl5OC;EACC,yBAxDc;AC68OhB;;AD15OC;EACC,yBAAA;AC65OF;;AD15OC;EACC,yBAxDc;ACq9OhB;;ADl6OC;EACC,yBAAA;ACq6OF;;ADl6OC;EACC,yBAxDc;AC69OhB;;AD16OC;EACC,yBAAA;AC66OF;;AD16OC;EACC,yBAxDc;ACq+OhB;;ADl7OC;EACC,yBAAA;ACq7OF;;ADl7OC;EACC,yBAxDc;AC6+OhB;;AD17OC;EACC,yBAAA;AC67OF;;AD17OC;EACC,yBAxDc;ACq/OhB;;ADl8OC;EACC,yBAAA;ACq8OF;;ADl8OC;EACC,yBAxDc;AC6/OhB;;AD18OC;EACC,yBAAA;AC68OF;;AD18OC;EACC,yBAxDc;ACqgPhB;;ADl9OC;EACC,yBAAA;ACq9OF;;ADl9OC;EACC,yBAxDc;AC6gPhB;;AD19OC;EACC,yBAAA;AC69OF;;AD19OC;EACC,yBAxDc;ACqhPhB","file":"tmui.css"} \ No newline at end of file diff --git a/src/uni_modules/tm-ui/index.ts b/src/uni_modules/tm-ui/index.ts new file mode 100644 index 0000000..d32c382 --- /dev/null +++ b/src/uni_modules/tm-ui/index.ts @@ -0,0 +1,11 @@ +export default { + /** + * tmui3.2.x + * @param app Vue + * @param options tmui3.0配置 + */ + // @ts-ignore + install: (app: App, options: TM.THEME_CONFIG | null = null) => { + + } +}; \ No newline at end of file diff --git a/src/uni_modules/tm-ui/interface.ts b/src/uni_modules/tm-ui/interface.ts new file mode 100644 index 0000000..5b875f7 --- /dev/null +++ b/src/uni_modules/tm-ui/interface.ts @@ -0,0 +1,148 @@ +/** + * 上传的文件状态 + * 0未上传,1上传中,2上传成功,3上传失败(网络错误),4已取消(终止,上到一半取消了),5超过大小 + * 0 Not uploaded, 1 Uploading, 2 Upload successful, 3 Upload failed (network error), 4 Cancelled (terminated, canceled halfway), 5 Exceeds size limit, + */ +export enum TMUPLOAD_PHOTO_STATUS { + NOT = 0, + UPLOADING = 1, + UPLOAD_SUCCESS = 2, + UPLOAD_FAILED = 3, + CANCELLED = 4, + EXCEEDS_SIZE_LIMIT = 5, +} +declare global { + /** + * TMUI3.2.x类型命名空间 + * @author tmzdy + * @date 2024-8-1 + */ + namespace TM { + /** 按钮尺寸大小 */ + export type BUTTON_SIZE = "xs" | "s" | "m" | "n" | "g" + /** 按钮或者标签的主题样式 */ + export type BUTTON_THEME = "thin" | "outlined" | "text" | "normal" | "dashed" + /** 主题状态 */ + export type THEME_STATUS = "warn" | "success" | "info" | "error" | "error" + /** 主题样式 */ + export type THEME_MODE = "auto" | "dark" | "light" + + export interface THEME_CONFIG { + /** 主题模式 */ + mode: THEME_MODE, + color: string, + unit: 'rpx' | 'px', + // 默认相对字号 + fontSizeBase: string | number, + // 默认相对字号fontSizeBase倍数 + fontSizeScale: 1, + buttonRadius: number | string, + /** button默认的投影大小,none全局投影取消,但不影响局部值 */ + buttonShadow: number | string | Array, + + sheetRadius: number | string | Array, + sheetShadow: number | string | Array, + sheetMargin: number | string | Array, + sheetPadding: number | string | Array, + + //列表默认的圆角。 + cellRadius: number | string | Array, + + + /** 一般容器sheet的暗黑背景 */ + sheetDarkColor: string, + /** 一般容器边线颜色如果你布局自己写了默认的边线色,但忘记填写组件上的暗黑线时,会取这里的值 */ + sheetDarkBorderColor: string[], + + /** 输入框,表单,常规灰背景待统一的二级暗黑背景 */ + inputDarkColor: string, + /**输入框默认全局的亮系背景. */ + inputLightColor: string, + /**输入框全局圆角 */ + inputRadius: number | string | Array, + /** 一般的表单,列表底的暗黑统一边线颜色 */ + borderDarkColor: string, + /**对话框圆角 */ + modalRadius: number | string, + /**形状圆角 */ + switchRadius: number | string, + /**抽屉圆角 */ + drawerRadius: number | string, + unRadioAndCheckBoxColor: string, + + /**部分组件统一的动画差值。 */ + animation: string, + } + export type tmDateDayInfoType = { + /** 年 */ + year: number, + /** 月0-11 */ + month: number, + /** 天 */ + day: number, + /** 小时0-23 */ + hours: number, + /** 分钟0-59 */ + minutes: number, + /** 秒0-59 */ + seconds: number, + /** 本年的第几周 */ + weeks: number, + /** 本周星期几 */ + week: number, + /** 本周星期几,中文名称 */ + weekCn: string, + /** 格式化的日期字符串 */ + date: string, + /** 是否渲染显示 */ + isRender?: boolean + } + + /** + * 上传的文件类型 + */ + export type TMUPLOAD_PHOTO_INFO = { + id: string, + /** 文件大小 */ + size?: number, + /** 文件路径 */ + path: string, + progress: number, + statusText: string, + status: TMUPLOAD_PHOTO_STATUS, + response: any + } + export type FORM_RULE_TYPE = { + /** 校验正则,如果同时提供了valid,以valid为准,默认为null */ + rule: RegExp|null, + /** 校验失败提示,默认提示词:请正在选择/填写 */ + message: string, + /**校验函数,如果不提供,默认以min,max来判断. */ + validator: null|((val: any) => boolean), + /** + * 如果校验的值类型是数字是起作用,默认为1,至少要大于0 + * 如果预期是数组,那长度至少要大于0 + * 如果是字符串,长度要大于0 + */ + min: number, + //默认为-1最长/大值不限制 + max: number, + //预期值的类型,如果不提供自动推断,不提供默认是auto + type: "string" | "number" | "array" | "boolean" | "date" | "email" | "phone"|"auto", + //必填项,是否校验本值 + required: boolean + } + export type FORM_RULE = { [Property in keyof FORM_RULE_TYPE]?: FORM_RULE_TYPE[Property] } & { required: boolean } + export type FORM_RESULT_TYPE = { key: string, isPass: boolean, message: string, data: any } + export type FORM_SUBMIT_RESULT = { + /**是否校验通过 */ + isPass: boolean, + /**校验不通过的第一条信息 */ + firstValid: FORM_RESULT_TYPE | null, + /**校验结果集 */ + result: FORM_RESULT_TYPE[] + } + } +} +export { } + diff --git a/src/uni_modules/tm-ui/libs/colors.ts b/src/uni_modules/tm-ui/libs/colors.ts new file mode 100644 index 0000000..c106970 --- /dev/null +++ b/src/uni_modules/tm-ui/libs/colors.ts @@ -0,0 +1,684 @@ +type rgb = { + r: number, + g: number, + b: number, + a: number +} +type hsla = { + h: number, + s: number, + l: number, + a: number +} + +/** + * 颜色值列表 + */ +export const colors = new Map([ + ['primary', '#0579FF'], + ['success', '#07d73d'], + ['danger', '#ff6411'], + ['warn', '#ffa61e'], + ['error', '#f10226'], + ['info', '#F2F2F2'], + + ['kleinblue', '#002FA7'], // 克莱因蓝 + ['chinesered', '#FF0000'], // 中国红 + ['internationalorange', '#FF4F00'], // 国际橙 + ['egyptianvlue', '#1034A6'], // 埃及艳蓝 + ['parisviolet', '#6C3082'], // 巴黎紫 + ['moroccanblue', '#1256A7'], // 摩洛哥蓝 + ['brazilgreen', '#009B3A'], // 巴西绿 + ['britishracinggreen', '#004225'], // 英国赛车绿 + ['indianyellow', '#E3A857'], // 印度黄 + ['australiangold', '#FFDF00'], // 澳大利亚金 + ['venetianred', '#C80815'], // 威尼斯红 + ['majorelleblue', '#6050DC'], // 马若雷蓝 + ['tuscanred', '#7C3030'], // 托斯卡红 + ['naplesyellow', '#FADA5E'], // 那不勒斯黄 + ['capumortuum', '#592720'], // 死者之首 + ['mayablue', '#73C2FB'], // 玛雅蓝 + ['persianrose', '#FE28A2'], // 波斯玫瑰 + ['tyrianpurple', '#66023C'], // 泰尔紫 + ['saharasand', '#F1E788'], // 撒哈拉沙 + ['burmeseruby', '#B00A0A'], // 缅甸红宝石 + + ['transparent', 'rgba(0,0,0,0)'], + ['aliceblue', '#F0F8FF'], + ['antiquewhite', '#FAEBD7'], + ['aqua', '#00FFFF'], + ['aquamarine', '#7FFFD4'], + ['azure', '#F0FFFF'], + ['beige', '#F5F5DC'], + ['bisque', '#FFE4C4'], + ['black', '#000000'], + ['blanchedalmond', '#FFEBCD'], + ['blue', '#0000FF'], + ['blueviolet', '#8A2BE2'], + ['brown', '#A52A2A'], + ['burlywood', '#DEB887'], + ['cadetblue', '#5F9EA0'], + ['chartreuse', '#7FFF00'], + ['chocolate', '#D2691E'], + ['coral', '#FF7F50'], + ['cornflowerblue', '#6495ED'], + ['cornsilk', '#FFF8DC'], + ['crimson', '#DC143C'], + ['cyan', '#00FFFF'], + ['darkblue', '#00008B'], + ['darkcyan', '#008B8B'], + ['darkgoldenrod', '#B8860B'], + ['darkgray', '#A9A9A9'], + ['darkgreen', '#006400'], + ['darkkhaki', '#BDB76B'], + ['darkmagenta', '#8B008B'], + ['darkolivegreen', '#556B2F'], + ['darkorange', '#FF8C00'], + ['darkorchid', '#9932CC'], + ['darkred', '#8B0000'], + ['darksalmon', '#E9967A'], + ['darkseagreen', '#8FBC8F'], + ['darkslateblue', '#483D8B'], + ['darkslategray', '#2F4F4F'], + ['darkturquoise', '#00CED1'], + ['darkviolet', '#9400D3'], + ['deeppink', '#FF1493'], + ['deepskyblue', '#00BFFF'], + ['dimgray', '#696969'], + ['dodgerblue', '#1E90FF'], + ['firebrick', '#B22222'], + ['floralwhite', '#FFFAF0'], + ['forestgreen', '#228B22'], + ['fuchsia', '#FF00FF'], + ['gainsboro', '#DCDCDC'], + ['ghostwhite', '#F8F8FF'], + ['gold', '#FFD700'], + ['goldenrod', '#DAA520'], + ['gray', '#808080'], + ['green', '#008000'], + ['greenyellow', '#ADFF2F'], + ['honeydew', '#F0FFF0'], + ['hotpink', '#FF69B4'], + ['indianred', '#CD5C5C'], + ['indigo', '#4B0082'], + ['ivory', '#FFFFF0'], + ['khaki', '#F0E68C'], + ['lavender', '#E6E6FA'], + ['lavenderblush', '#FFF0F5'], + ['lawngreen', '#7CFC00'], + ['lemonchiffon', '#FFFACD'], + ['lightblue', '#ADD8E6'], + ['lightcoral', '#F08080'], + ['lightcyan', '#E0FFFF'], + ['lightgoldenrodyellow', '#FAFAD2'], + ['lightgray', '#D3D3D3'], + ['lightgreen', '#90EE90'], + ['lightpink', '#FFB6C1'], + ['lightsalmon', '#FFA07A'], + ['lightseagreen', '#20B2AA'], + ['lightskyblue', '#87CEFA'], + ['lightslategray', '#778899'], + ['lightsteelblue', '#B0C4DE'], + ['lightyellow', '#FFFFE0'], + ['lime', '#00FF00'], + ['limegreen', '#32CD32'], + ['linen', '#FAF0E6'], + ['magenta', '#FF00FF'], + ['maroon', '#800000'], + ['mediumaquamarine', '#66CDAA'], + ['mediumblue', '#0000CD'], + ['mediumorchid', '#BA55D3'], + ['mediumpurple', '#9370DB'], + ['mediumseagreen', '#3CB371'], + ['mediumslateblue', '#7B68EE'], + ['mediumspringgreen', '#00FA9A'], + ['mediumturquoise', '#48D1CC'], + ['mediumvioletred', '#C71585'], + ['midnightblue', '#191970'], + ['mintcream', '#F5FFFA'], + ['mistyrose', '#FFE4E1'], + ['moccasin', '#FFE4B5'], + ['navajowhite', '#FFDEAD'], + ['navy', '#000080'], + ['oldlace', '#FDF5E6'], + ['olive', '#808000'], + ['olivedrab', '#6B8E23'], + ['orange', '#FFA500'], + ['orangered', '#FF4500'], + ['orchid', '#DA70D6'], + ['palegoldenrod', '#EEE8AA'], + ['palegreen', '#98FB98'], + ['paleturquoise', '#AFEEEE'], + ['palevioletred', '#DB7093'], + ['papayawhip', '#FFEFD5'], + ['peachpuff', '#FFDAB9'], + ['peru', '#CD853F'], + ['pink', '#FFC0CB'], + ['plum', '#DDA0DD'], + ['powderblue', '#B0E0E6'], + ['purple', '#800080'], + ['rebeccapurple', '#663399'], + ['red', '#FF0000'], + ['rosybrown', '#BC8F8F'], + ['royalblue', '#4169E1'], + ['saddlebrown', '#8B4513'], + ['salmon', '#FA8072'], + ['sandybrown', '#F4A460'], + ['seagreen', '#2E8B57'], + ['seashell', '#FFF5EE'], + ['sienna', '#A0522D'], + ['silver', '#C0C0C0'], + ['skyblue', '#87CEEB'], + ['slateblue', '#6A5ACD'], + ['slategray', '#708090'], + ['snow', '#FFFAFA'], + ['springgreen', '#00FF7F'], + ['steelblue', '#4682B4'], + ['tan', '#D2B48C'], + ['teal', '#008080'], + ['thistle', '#D8BFD8'], + ['tomato', '#FF6347'], + ['turquoise', '#40E0D0'], + ['violet', '#EE82EE'], + ['wheat', '#F5DEB3'], + ['white', '#FFFFFF'], + ['whitesmoke', '#F5F5F5'], + ['yellow', '#FFFF00'], + ['yellowgreen', '#9ACD32'] + +]) + + +export const toHex = (n: number): string => { + let hex = n.toString(16); + if (hex.length == 1) { + return '0' + hex; + } else { + return hex; + } +} +export function isValidColor(color: string): boolean { + // return chroma.valid(color); + const hexRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$/; + const rgbRegex = /^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/; + const rgbaRegex = /^rgba\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*((1(\.0{1,2})?)|(0(\.\d{1,2})?))\)$/; + const hslRegex = /^hsl\((\d{1,3}), (\d{1,3})%, (\d{1,3})%\)$/; + const hslaRegex = /^hsla\(\s*((\d{1,2}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)\s*,\s*((\d{1,2}|\d{0,1}\d{1}\d{1}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)%\s*,\s*((\d{1,2}|\d{0,1}\d{1}\d{1}|[1-2]\d{2}|3[0-5]\d)(\.\d+)?|\d+(\.\d+)?)%\s*,\s*((1|0(\.\d{1,2})?|(\.\d{1,2})))\)$/i; + + + if (color == '') { + return false; // 颜色值为空 + } else if (color === 'inherit' || color === 'transparent') { + return false; // 特殊颜色值 + } else if (color === 'currentColor') { + return false; // currentColor 不是有效的颜色值 + } else if (hexRegex.test(color) || rgbRegex.test(color) || rgbaRegex.test(color) || hslRegex.test(color) || hslaRegex.test(color)) { + return true; // 符合颜色值的格式 + } + return false; +} +/** + * 获取默认的颜色值 + * @param [string] 颜色名称或者16进制颜色值 + */ +export function getDefaultColor(sColor: string): string { + if (sColor == "") return "" + let sc = sColor.toLocaleLowerCase().trim().replace(" ", ""); + + if (isValidColor(sc)) { + // 如果符合所有颜色值,进行转换为16进制。css方便统一解析。 + return sc; + } + // 检测是否是颜色名称。 + let sco = colors.get(sc); + if (typeof sco == 'string') return sco as string; + return colors.get("primary")!; +} + +/** + * 颜色转rgb + */ +export function hexToRgb(sColors: string) { + if (sColors == "") { + return { r: 0, g: 0, b: 0, a: 0 } + } + let reg = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$/; + let sColor: string = sColors.toLowerCase(); + + if (sColor != '' && reg.test(sColor)) { + + if (sColor.length == 4) { + let sColorNew = "#"; + for (let i = 1; i < 4; i += 1) { + sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)); + } + sColor = sColorNew; + } + + //处理六位的颜色值 + let sColorChange: number[] = []; + sColorChange.push(parseInt(sColor.substring(1, 3), 16)); + sColorChange.push(parseInt(sColor.substring(3, 5), 16)); + sColorChange.push(parseInt(sColor.substring(5, 7), 16)); + if (sColor.length == 9) { + sColorChange.push(parseInt(sColor.substring(7, 9), 16) / 255); + } + return { + r: sColorChange[0], + g: sColorChange[1], + b: sColorChange[2], + a: sColorChange.length == 4 ? sColorChange[3] : 1 + } + } else if (/^(rgb|RGB|rgba|RGBA)/.test(sColor)) { + let arr: string[] = sColor.replace(/(?:\(|\)|rgba|rgb|RGB|RGBA)*/g, "").split(",") + let p: number[] = arr.map((val: string): number => parseInt(val)); + if (p.length < 3) { + return { + r: 0, + g: 0, + b: 0, + a: 1 + } + } + if (p.length == 3) { + p.push(1) + } + return { + r: p[0], + g: p[1], + b: p[2], + a: arr.length == 3 ? p[3] : parseFloat(arr[3]) + } + } else { + return { + r: 0, + g: 0, + b: 0, + a: 1 + } + } +} +/** + * rgb转hsl + */ +export function rgbToHsl(rgb: rgb): hsla { + let r = rgb.r / 255 + let g = rgb.g / 255 + let b = rgb.b / 255 + let a = rgb.a + + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + let h = 60 * (4 + (r - g) / (max - min)); + let sdy = Math.max(2 - max - min,1) + let s=(max - min) / sdy; + let l = (max + min) / 2; + + if (max === r) { + h = (60 * (g - b)) / (max - min); + } else if (max === g) { + h = 60 * (2 + (b - r) / (max - min)); + } + + if (h < 0) { + h += 360; + } + + + if (max === min) { + s = 0; + } else if (l < 0.5) { + s = (max - min) / (max + min); + } + + return { h: h, s: s * 100, l: l * 100, a: a }; +} + +/** + * hsl转rgb + */ +export function hslToRgb(hsl: hsla): rgb { + let h = hsl.h + let s = hsl.s + let l = hsl.l + let a = hsl.a + + h = h / 360; + s = s / 100; + l = l / 100; + let r = l; + let g = l; + let b = l; + + function hue2rgb(pxx: number, q: number, txs: number): number { + let t = txs; + let p = pxx; + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1 / 6) return p + (q - p) * 6 * t; + if (t < 1 / 2) return q; + if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; + return p; + } + + + + if (s > 0) { + let q = l * (1 + s); + if (l >= 0.5) { + q = l + s - l * s; + } + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1 / 3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1 / 3); + + } + + r = Math.round(r * 255); + g = Math.round(g * 255); + b = Math.round(b * 255); + return { r, g, b, a }; +} + +/** + * rgb转16进制 + */ +export function rgbToHex(rgb: rgb): string { + let r = rgb.r + let g = rgb.g + let b = rgb.b + let a = rgb.a + return "#" + toHex(r) + toHex(g) + toHex(b) + toHex(a * 255) +} +export function hslaToCss(hsl: hsla): string { + + let rgb = hslToRgb(hsl) + + return rgbToHex(rgb) +} + +export function hslaToRgbCss(hsl: hsla): string { + + let rgb = hslToRgb(hsl) + let r = rgb.r + let g = rgb.g + let b = rgb.b + let a = rgb.a + return `rgba(${r},${g},${b},${a})` +} + +// 根据 HSLA 颜色计算亮度 +export function getLuminance(color: rgb | hsla, type = "rgba"): number { + + + let colordefault: rgb = (type == 'rgba' ? color : hslToRgb(color as hsla)) as rgb; + const r = colordefault.r + const g = colordefault.g + const b = colordefault.b + const rs = r / 255 + const gs = g / 255 + const bs = b / 255 + const rl = Math.pow(rs <= 0.03928 ? rs / 12.92 : ((rs + 0.055) / 1.055), 2.4); + const gl = Math.pow(gs <= 0.03928 ? gs / 12.92 : ((gs + 0.055) / 1.055), 2.4); + const bl = Math.pow(bs <= 0.03928 ? bs / 12.92 : ((bs + 0.055) / 1.055), 2.4); + + return 0.2126 * rl + 0.7152 * gl + 0.0722 * bl; +} + +/** + * 对颜色加深 + */ +export function colorAddDeepen(sColor: string): string { + + let rgb = hexToRgb(getDefaultColor(sColor)); + + let hsl = rgbToHsl(rgb); + + let l = hsl.l - 5; + l = Math.max(0, Math.min(l, 100)) + + return hslaToRgbCss({ h: hsl.h, s: hsl.s, l, a: hsl.a }) +} +/** + * 对颜色提亮 + */ +export function colorAddBrighten(sColor: string): string { + let rgb = hexToRgb(getDefaultColor(sColor)); + let hsl = rgbToHsl(rgb); + let l = hsl.l + 10; + l = Math.max(0, Math.min(l, 100)) + return rgbToHex(hslToRgb({ h: hsl.h, s: hsl.s, l, a: hsl.a })) +} + + + + +/** + * 获取浅色系主题,根据颜色值计算。返回正常值和hover值。 + */ +export function colorGetThint(sColor: string) { + let rgb = hexToRgb(getDefaultColor(sColor)); + let hsl = rgbToHsl(rgb); + let s = hsl.s; + // let l = hsl.getNumber("l"); + if (Math.ceil(s) > 0) { + s = 45 + } + return { + default: rgbToHex(hslToRgb({ h: hsl.h, s, l: 93, a: hsl.a })), + hover: rgbToHex(hslToRgb({ h: hsl.h, s, l: 85, a: hsl.a })) + } +} +/** + * 获取正常主题,根据颜色值计算。返回正常值和hover值。 + */ +export function colorGetHover(sColor: string) { + + return { + default: sColor, + hover: colorAddDeepen(sColor) + } +} + + +/** + * 处理相主题色。 + * @param color 需要处理的颜色值 + * @param hoverColor 对应按下去的颜色默认与color相等。 + * @returns UTSJSONObject + */ +export function getDefaultColorObj(color: string, hoverColor: string) { + let hsla = rgbToHsl(hexToRgb(getDefaultColor(color))); + let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor))); + let shadow = hslaToRgbCss({ h: hsla.h, s: (hsla.s) == 0 ? 0 : 100, l: 50, a: 0.2 }); + let shadowHOver = hslaToRgbCss({ h: hoverHsla.h, s: (hoverHsla.s) == 0 ? 0 : 70, l: 50, a: 0.15 }); + if ((hsla.h) == 0 && (hsla.s) == 0) { + shadow = "transparent" + } + if ((hoverHsla.h) == 0 && (hoverHsla.s) == 0) { + shadowHOver = "transparent" + } + let lightnum = getLuminance(hoverHsla, 'hsla'); + let o = { + default: { + background: hslaToRgbCss(hsla), + borderColor: hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: Math.min(Math.max(0, hsla.l - 5), hsla.l) }), + fontColor: lightnum < 0.6 && hsla.a > 0.1 ? '#ffffff' : '#000000', + shadow: shadow + }, + active: { + background: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: Math.min(Math.max(0, hoverHsla.l - 10), hoverHsla.l) }), + borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: Math.max(Math.max(0, hoverHsla.l - 10), hoverHsla.l) }), + fontColor: lightnum < 0.6 && hoverHsla.a > 0.1 ? '#ffffff' : '#000000', + shadow: shadowHOver + } + } + + return o; +} + +/** + * 处理相主题色。 + * @param color 需要处理的颜色值 + * @param hoverColor 对应按下去的颜色默认与color相等。 + * @returns UTSJSONObject + */ +export function getTextColorObj(color: string, hoverColor: string, isCoverDark?: boolean) { + let dark = isCoverDark == null ? false : isCoverDark + // #ifdef WEB + dark = isCoverDark == undefined ? false : dark + // #endif + let hsla = rgbToHsl(hexToRgb(getDefaultColor(color))); + let hsla2 = rgbToHsl(hexToRgb(getDefaultColor(color))); + let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor))); + let bgcolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 20 : 95 }) + if (dark) { + let p = hsla2; + p.l = 20 + p.s = (p.s) != 0 ? 0 : 20 + bgcolor = hslaToRgbCss(p) + } + let o = { + default: { + background: "transparent", + borderColor: "transparent", + fontColor: getLuminance(hsla, 'hsla') < 0.3 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 }), + shadow: "transparent", + }, + active: { + background: bgcolor, + borderColor: "transparent", + fontColor: getLuminance(hoverHsla, 'hsla') < 0.3 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 30 }), + shadow: "transparent", + } + } + return o; +} + +/** + * 处理相主题色。 + * @param color 需要处理的颜色值 + * @param hoverColor 对应按下去的颜色默认与color相等。 + * @returns UTSJSONObject + */ +export function getThinColorObj(color: string, hoverColor: string, isCoverDark?: boolean) { + let dark = isCoverDark == null ? false : isCoverDark + // #ifdef WEB + dark = isCoverDark == undefined ? false : dark + // #endif + + let hsla = rgbToHsl(hexToRgb(getDefaultColor(color))); + let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor))); + // tmxColor.hslaToCss({ ...hsla}) : tmxColor.hslaToCss({ ...hsla,l:30}) + let fontcolor = getLuminance(hsla, 'hsla') < 0.3 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 }) + let bordercolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 21 : 92 }) + let bgcolor = hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: dark == true ? 20 : 95 }) + + if (dark) { + let p = hsla; + p.l = 98 + fontcolor = hslaToRgbCss(p) + p.l = 20 + p.s = (p.s) != 0 ? 5 : 20 + bgcolor = hslaToRgbCss(p) + p.l = 22 + bordercolor = hslaToRgbCss(p) + } + let o = { + default: { + background: bgcolor, + borderColor: bordercolor, + fontColor: fontcolor, + shadow: "transparent", + }, + active: { + background: hslaToRgbCss({ h: hoverHsla.h, s: dark ? 10 : 50, a: hoverHsla.a, l: dark == true ? 15 : 88 }), + borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 0, l: dark == true ? 18 : 80 }), + fontColor: getLuminance(hoverHsla, 'hsla') < 0.3 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 64 }), + shadow: "transparent", + } + } + return o; +} + +/** + * 处理相主题色。 + * @param color 需要处理的颜色值 + * @param hoverColor 对应按下去的颜色默认与color相等。 + * @returns UTSJSONObject + */ +export function getOutlineColorObj(color: string, hoverColor: string) { + let hsla = rgbToHsl(hexToRgb(getDefaultColor(color))); + let hoverHsla = rgbToHsl(hexToRgb(getDefaultColor(hoverColor))); + // tmxColor.hslaToCss({ ...hsla}) : tmxColor.hslaToCss({ ...hsla,l:30}) + let lightnum = getLuminance(hoverHsla, 'hsla'); + + let o = { + default: { + background: 'transparent', + borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 1, l: 75 }), + fontColor: lightnum < 0.6 && hsla.a > 0.1 ? hslaToRgbCss(hsla) : hslaToRgbCss({ h: hsla.h, s: hsla.s, a: hsla.a, l: 30 }), + shadow: "transparent", + }, + + active: { + background: 'transparent', + borderColor: hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: 1, l: 70 }), + fontColor: lightnum < 0.6 && hoverHsla.a > 0.1 ? hslaToRgbCss(hoverHsla) : hslaToRgbCss({ h: hoverHsla.h, s: hoverHsla.s, a: hoverHsla.a, l: 30 }), + shadow: "transparent", + } + } + return o; +} + +/** + * 设置颜色的亮度值。29 + * isCoverDark:是根据亮度值,是否要设置n的值,如果n超过了 + * 指定的30就不操作。 + */ +export function setTextColorLightByDark(color: string): string { + let realColor = getDefaultColor(color); + let hsla = rgbToHsl(hexToRgb(realColor)) + let l = hsla.l + let s = hsla.s + if (l < 30) { + if (s > 0) { + hsla.l = 50 + } else { + hsla.l = 100 + } + + } + + return hslaToRgbCss(hsla) +} +/** + * 变动的颜色是否需要变深。如果不需要返回原始颜色 + * 如果果需要自动加深。 + */ +export function setBgColorLightByDark(color: string): string { + let realColor = getDefaultColor(color); + let hsla = rgbToHsl(hexToRgb(realColor)) + let l = hsla.l + let s = hsla.s + if (s == 0 && l > 50) { + hsla.l = 100 - l + } + if (s > 0) { + if (l > 50) { + hsla.l = 100 - l + } + } + return hslaToRgbCss(hsla) +} + +export function isBlackAndWhite(color: string): boolean { + let realColor = getDefaultColor(color); + let hsla = rgbToHsl(hexToRgb(realColor)) + let s = hsla.s + return s == 0 +} + + + diff --git a/src/uni_modules/tm-ui/libs/config.ts b/src/uni_modules/tm-ui/libs/config.ts new file mode 100644 index 0000000..0656d09 --- /dev/null +++ b/src/uni_modules/tm-ui/libs/config.ts @@ -0,0 +1,47 @@ +import { defineStore } from 'pinia'; + + +export const useTmConfig = defineStore('tmConfig', { + state: () => { + return { + config: { + mode: 'light', + unit: 'rpx', + fontSizeBase: '28', + fontSizeScale: 1, + buttonRadius: 24, + buttonShadow: 'none', + color: "primary", + + sheetRadius: 24, + sheetMargin: [20, 0, 20, 20], + sheetPadding: [24], + sheetShadow: 'none', + + cellRadius: 24, + + sheetDarkColor: '#141414', + sheetDarkBorderColor: ["#232323"], + + /** 输入框暗黑背景 */ + inputDarkColor: '#272727', + inputLightColor: '#f5f5f5', + inputRadius: 24, + borderDarkColor: '#1c1c1c', + unRadioAndCheckBoxColor: "#cfcfcf", + + switchRadius:64, + + modalRadius: 32, + drawerRadius:32, + animation: 'cubic-bezier(.42,.38,.15,.93)' + + } as TM.THEME_CONFIG + } + }, + + actions: { + + }, +}); + diff --git a/src/uni_modules/tm-ui/libs/tool.ts b/src/uni_modules/tm-ui/libs/tool.ts new file mode 100644 index 0000000..1fe4ad4 --- /dev/null +++ b/src/uni_modules/tm-ui/libs/tool.ts @@ -0,0 +1,156 @@ +import { getDefaultColor } from "./colors"; + +export const covetUniNumber = (n: number | string, defaultUnit = 'rpx'): string => { + if (typeof n === 'number') { + return `${n}${defaultUnit}` + } + let unit = getUnit(n, defaultUnit); + let zhi = n.match(/\d+(\.\d+)?/g); + let real = '0' + if (zhi) { + real = zhi[0] + } + if (unit === 'rpx' && defaultUnit == 'px') { + return uni.upx2px(Number(real)).toString() + unit; + } + if (unit == 'auto') return unit; + return real + unit; +} +export const getUnit = (n: string | number, defaultUnit = 'rpx'): string => { + if (typeof n === 'number') { + return defaultUnit; + } + const unit = n.match(/[a-zA-Z|%|auto]+/g); + if (!unit || !Array.isArray(unit) || unit?.length === 0) return defaultUnit; + return unit[0]; +} + +/** + * 随机一个uid + * @param rdix 随机因子 + * @param length 取的长度 + * @param isAddStr 是否限制随机结果中的长度,不允许输出长度 + * @returns String + */ +export function getUid(rdix = 1, length = 12): string { + let ix = Math.floor(Math.random() * rdix * Math.floor(Math.random() * Date.now())).toString().substring(0, length); + return ix; +} + +export const linearValid = (linear: string[]): string => { + if (linear.length < 3) return ''; + return `linear-gradient(${linear.join(',')})` +} +export const arrayNumberValid = (border: string | number | Array, defaultValue = '0px'): string[] => { + let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)]; + if (zhi.length == 0) { + zhi = [covetUniNumber(defaultValue)] + } else { + let diff = 4 - zhi.length; + zhi = [...zhi, ...Array(diff).fill(zhi[0])] + } + return zhi; +} +export const arrayNumber = (border: string | number | Array, defaultValue = '0px', len = 2): string[] => { + let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)]; + if (zhi.length == 0) { + zhi = Array(len).fill(covetUniNumber(defaultValue)) + } else { + let diff = len - zhi.length; + if (diff < 0) { + zhi = zhi.slice(0, len) + diff = 0 + } + zhi = [...zhi, ...Array(diff).fill(zhi[zhi.length - 1])] + } + return zhi; +} + +/** + * 用于margin,padding,border-width的校验 + */ +export const arrayNumberValidByStyleMP = (border: string | number | Array, defaultValue = '0px'): string[] => { + let zhi: string[] = Array.isArray(border) ? border.map((item: string | number): string => covetUniNumber(item)) : [covetUniNumber(border || defaultValue)]; + if (zhi.length == 0) { + zhi = [covetUniNumber(defaultValue)] + } else if (zhi.length == 2) { + zhi = [zhi[1], zhi[0]] + } else if (zhi.length == 3) { + // 左,上,右 + // [0,1,2] + // 上 右 下 左 + zhi = [zhi[1], zhi[2], covetUniNumber(defaultValue), zhi[0]] + } else if (zhi.length == 4) { + zhi = [zhi[1], zhi[2], zhi[3], zhi[0]] + } + return zhi; +} + +export const arrayNumberValidByStyleBorderColor = (border: string | Array, defaultValue = 'transparent'): string[] => { + let zhi: string[] = Array.isArray(border) ? border.map((item: string): string => getDefaultColor(item)) : [getDefaultColor(border || defaultValue)]; + if (zhi.length == 0) { + zhi = [getDefaultColor(defaultValue)] + } else if (zhi.length == 2) { + zhi = [zhi[1], zhi[0]] + } else if (zhi.length == 3) { + // 左,上,右 + // [0,1,2] + // 上 右 下 左 + zhi = [zhi[1], zhi[2], getDefaultColor(defaultValue), zhi[0]] + } else if (zhi.length == 4) { + zhi = [zhi[1], zhi[2], zhi[3], zhi[0]] + } + return zhi; +} +export const arrayNumberValidByStyleBorderStyle = (border: string | Array, defaultValue = 'none'): string[] => { + let zhi: string[] = Array.isArray(border) ? border : [border || defaultValue]; + if (zhi.length == 0) { + zhi = [defaultValue] + } else if (zhi.length == 2) { + zhi = [zhi[1], zhi[0]] + } else if (zhi.length == 3) { + // 左,上,右 + // [0,1,2] + // 上 右 下 左 + zhi = [zhi[1], zhi[2], defaultValue, zhi[0]] + } else if (zhi.length == 4) { + zhi = [zhi[1], zhi[2], zhi[3], zhi[0]] + } + return zhi; +} + +/** + * 深度克隆 + * @param {T} data 待大克隆复制的数据 + * @return {T} any + */ +export function deepClone(data: T): T { + // 对常见的“非”值,直接返回原来值 + if (data === null || typeof data !== "object") { + return data; + } + if (Array.isArray(data)) { + const clone: any[] = []; + for (const item of data) { + clone.push(deepClone(item)); + } + return clone as any; + } + if (data instanceof Date) { + return new Date(data.getTime()) as unknown as T; + } + if (data instanceof RegExp) { + const flags = data.flags; + return new RegExp(data.source, flags) as unknown as T; + } + if (typeof data === "function") { + return data as unknown as T; + } + const clone = {} as T; + for (const key in data) { + if (Object.prototype.hasOwnProperty.call(data, key)) { + clone[key] = deepClone(data[key]); + } + } + return clone; +} \ No newline at end of file diff --git a/src/uni_modules/tm-ui/package.json b/src/uni_modules/tm-ui/package.json new file mode 100644 index 0000000..1d822e9 --- /dev/null +++ b/src/uni_modules/tm-ui/package.json @@ -0,0 +1,92 @@ +{ + "id": "tm-ui", + "displayName": "tmui3.2.0 vue3 typeScript nvue全平台ui组件库 ", + "version": "3.2.0", + "description": "tmui3.0 高性能、高颜值、多主题、暗黑模式vue3 ui组件库,没有比它更完美!", + "keywords": [ + "ui", + "vue3", + "typeScript" + ], + "repository": "https://gitee.com/LYTB/tmui-design", + "engines": { + "HBuilderX": "^3.6.18" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/tmui-cli", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "Vue": { + "vue2": "n", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": { + "minVersion": "10" + }, + "Android Browser": { + "minVersion": "6" + }, + "微信浏览器(Android)": { + "minVersion": "8" + }, + "QQ浏览器(Android)": { + "minVersion": "10" + } + }, + "H5-pc": { + "Chrome": "y", + "IE": "n", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/tm-ui/readme.md b/src/uni_modules/tm-ui/readme.md new file mode 100644 index 0000000..2b36241 --- /dev/null +++ b/src/uni_modules/tm-ui/readme.md @@ -0,0 +1,74 @@ +# TMUI 3.0 | TMUI4.0 + +![TMUI 3.0](https://tmui.design/images/logoGreat.png) + +[![star](https://gitee.com/LYTB/tmui-design/badge/star.svg?theme=dark)](https://gitee.com/LYTB/tmui-design/stargazers) [![fork](https://gitee.com/LYTB/tmui-design/badge/fork.svg?theme=dark)](https://gitee.com/LYTB/tmui-design/members) + +### 声明 + +**免费开源贡献**是2.0和3.0版本的初衷。 + +**4.0x我是收费的原生uniappx开发套伯按大量原生插件** 已经有一定的销量,有动力支撑3.0的维护。 + +从tmui2.0[不维护],3.1.x[不维护],tmui3.2[维护],tmui4.0x[维护]已经和大家度过了5年,感谢大家的支持。实属不容易请大家努力提交3.2.x PR功能让我合并及支持4.0x的维护。 + +### 各文档链接 + +| 2.0x vue2 js版本 | 3.0x vue3 ts版本 | 4.0x Uts版本 | +| --- | --- | --- | +| [2.0插件](https://ext.dcloud.net.cn/plugin?id=5949) | [3.0](https://ext.dcloud.net.cn/plugin?id=8372) | [4.0插件](https://ext.dcloud.net.cn/plugin?id=16369) | + +### [tmui3.0开发文档](https://tmui.design/) + +TMUI3.2.0继承tmui4.0x的规范及标准。目前已经发布3.2.0预览版本组件有点少,但够用。后续补齐。 + +#### 如果你是之前的3.1.x用户请注意: + +* 1. 本版本不向下兼容!!!!! +* 2. 不再兼容nvue平台,请谨慎升级 +* 3. 3.1.x及2.0.x版本已经不维护,不需要提bug到仓库,当前仅接受3.2.x的bug和维护及pr + +#### 如果你是tmui2.0用户请注意: +这是vue3 setup ts版本不是vue2 js版本。请先学习相关知识。 + +#### 如果你是TMUI4.0x VIP/赞助用户请注意: +这是app vue,小程序版本,并非uts,它是ts写的。语法与uts是有差异的。但相对来说tmui3.2.x是继承tmui4.0x的 +因此属性规范和标准是一样的(很少不一样,我尽量控制一样)。因为appvue,小程序是无dom的因此有些动画,手势没有x流畅 +请自行选择用哪个版本写app。你可以用4.0x写原生app然后混合开发webview非必要页面嵌入到你的原生应用中大大提升你的开发效率,并且风格一样,可以对比大厂app做法。 + +作者发布了tmui-cli工具方便大家更新创建tmui项目。
+2022.9.7 更新了cli工具 +2024.10.10 更新了 cli工具,如果想创建tmui3.0.x请务必按下面执行。 + +```npm +npm -g install tmui-cli +安装成功后输入:tmui 按回车 +查看所有可用命令 +``` + +[![同名自定义/tmui design](https://gitee.com/LYTB/tmui-design/widgets/widget_card.svg?colors=393222,ebdfc1,fffae5,d8ca9f,393222,a28b40)](https://gitee.com/LYTB/tmui-design) + + +### [注意事项](https://ext.dcloud.net.cn/plugin?name=tm-ui) + +- 仅接受tmui3.2.x的bug和维护及pr +- 提出建议和bug,请访问码云代码库:[点击打开](https://gitee.com/LYTB/tmui-design) +,并反馈相关bug或者建议. + +--- +### [贡献者](https://tmui.design/doc/start/%E8%B4%A1%E7%8C%AE%E8%80%85.html#%E8%B4%A1%E7%8C%AE%E4%BA%BA%E5%91%98) +在伟大的无私贡献人员帮助下,使得此开源项目的可持续性发展更加的持久。他/她们理应得到展示,并为大家所知。不管是如何的贡献,哪怕很小的一部分也值得称赞!!
+点击图片查看更多 + +[![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f5b1722f-8766-40af-a22a-acc454202a37/ef8a8962-1153-44c9-aee5-6a616996e595.jpg)](https://tmui.design/doc/start/%E8%B4%A1%E7%8C%AE%E8%80%85.html) + + +---- + + +### 赞助项目,以持续更新 + +如果帮到了你,适当的赞助有助力作者成果上的回报,报以项目的持续更新。 + +![tmui3.0 赞助](https://cdn.tmui.design/public/design/payzhanzhu.jpg) + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e7d367d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "skipLibCheck": true, + "jsx": "preserve", + "resolveJsonModule": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "useDefineForClassFields": true, + "baseUrl": ".", + "paths": { + "@/*": ["src/*"], + "@@/*": ["src/sheep/*"] + }, + "lib": ["ESNext", "DOM"], + "types": ["@dcloudio/types", "node", "vite/client"] + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.vue", "vite.config.ts", "unocss.config.ts"], + "exclude": ["node_modules", "dist", "src/uni_modules"] +} diff --git a/unocss.config.ts b/unocss.config.ts new file mode 100644 index 0000000..7c672fc --- /dev/null +++ b/unocss.config.ts @@ -0,0 +1,23 @@ +import presetWeapp from "unocss-preset-weapp" +import { extractorAttributify, transformerClass } from "unocss-preset-weapp/transformer" +import { themeColors } from "./src/sheep/config/theme" + +/** 沿用参考项目的 rpx 原子类与属性转换,布局尺寸统一按 750rpx 设计宽度换算 */ +const { presetWeappAttributify, transformerAttributify } = extractorAttributify() + +export default { + presets: [presetWeapp({ whRpx: true }), presetWeappAttributify()], + transformers: [transformerAttributify(), transformerClass()], + theme: { colors: themeColors }, + shortcuts: { + "flex-row-center": "flex items-center justify-center", + "flex-col-center": "flex flex-col items-center justify-center", + "focus-ring": "outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2", + }, + preflights: [ + { + /** CSS 与 UnoCSS 从同一份颜色表取值,避免卡片、键盘与 tm-ui 主题偏离 */ + getCSS: () => `:root, page { ${Object.entries(themeColors).map(([key, color]) => `--pay-${key}: ${color}`).join("; ")} }`, + }, + ], +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..6399b17 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,42 @@ +import path from "node:path" +import { defineConfig, loadEnv } from "vite" +import uni from "@dcloudio/vite-plugin-uni" +import UnoCSS from "unocss/vite" + +/** 按当前模式读取后端地址;保留目标自带的 /api 等路径,只移除浏览器请求的代理前缀。 */ +function createApiProxy(mode: string) { + /** 沿用参考项目的 .env 变量,由 Vite 按运行模式加载,开发服务器只转发到开发后端。 */ + const env = loadEnv(mode, __dirname, "VITE_") + const apiTarget = (env.VITE_APP_DEV_SERVICE || "").trim().replace(/\/+$/, "") + /** 与请求层共用 .env 中的本地接口前缀,默认 /api。 */ + const apiPrefix = (env.VITE_API_URL || "/api").trim().replace(/\/+$/, "") + return apiTarget ? { + [apiPrefix]: { + target: apiTarget, + changeOrigin: true, + /** 微服务的 /third 与单体服务的无前缀路径由请求层决定,代理只移除本地前缀。 */ + rewrite: (requestPath: string) => requestPath.slice(apiPrefix.length), + }, + } : undefined +} + +/** H5 独立开发端口避开参考 App 的 8889,别名沿用其业务目录约定 */ +export default defineConfig(({ mode }) => ({ + plugins: [uni(), UnoCSS()], + resolve: { + alias: { + "@": path.resolve(__dirname, "src"), + "@@": path.resolve(__dirname, "src/sheep"), + }, + }, + server: { + host: "0.0.0.0", + port: 8890, + strictPort: true, + proxy: createApiProxy(mode), + }, + build: { + target: "es2018", + sourcemap: false, + }, +}))