├── .gitignore ├── .prettierrc ├── packages └── totp-wasm │ ├── dist │ ├── wasm_data.d.ts │ ├── totp_wasm_bg.wasm │ ├── totp_wasm_bg.wasm.d.ts │ ├── totp_wasm.d.ts │ ├── totp_wasm.js │ └── wasm_data.js │ ├── jsr.json │ ├── index.ts │ ├── deno │ └── mod.ts │ ├── package.json │ └── README.md ├── examples ├── browser │ ├── .vscode │ │ └── extensions.json │ ├── README.md │ ├── public │ │ └── favicon.png │ ├── src │ │ ├── auto-imports.d.ts │ │ ├── main.ts │ │ ├── style.scss │ │ ├── totp.ts │ │ ├── vite-env.d.ts │ │ ├── assets │ │ │ └── github-corner-right.svg │ │ ├── utils.ts │ │ ├── components.d.ts │ │ ├── components │ │ │ └── GitHubCorners.vue │ │ └── App.vue │ ├── tsconfig.node.json │ ├── .gitignore │ ├── index.html │ ├── tsconfig.json │ ├── vite.config.ts │ ├── package.json │ └── pnpm-lock.yaml ├── bun │ ├── bun.lockb │ ├── package.json │ ├── tsconfig.json │ ├── totp.test.ts │ └── .gitignore ├── node │ ├── tsconfig.json │ ├── package.json │ └── index.ts └── deno │ ├── init.ts │ ├── noinit.ts │ ├── deps.ts │ ├── init.test.ts │ └── noinit_test.ts ├── pnpm-workspace.yaml ├── vercel.json ├── Cargo.toml ├── .vscode └── settings.json ├── totp-wasm ├── Cargo.toml └── src │ └── lib.rs ├── .github └── workflows │ ├── deno.yml │ └── node.yml ├── package.json ├── scripts └── build.mjs ├── LICENSE ├── README.md └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | node_modules 4 | .vercel 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/wasm_data.d.ts: -------------------------------------------------------------------------------- 1 | export const wasm_data: string 2 | -------------------------------------------------------------------------------- /examples/browser/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /examples/browser/README.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | 3 | ```bash 4 | pnpm install 5 | pnpm run build 6 | ``` 7 | -------------------------------------------------------------------------------- /examples/bun/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/examples/bun/bun.lockb -------------------------------------------------------------------------------- /examples/node/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["node"] 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - packages/totp-wasm 3 | - examples/browser 4 | - examples/node 5 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "github": { "silent": true }, 3 | "outputDirectory": "examples/browser/dist" 4 | } 5 | -------------------------------------------------------------------------------- /examples/browser/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/examples/browser/public/favicon.png -------------------------------------------------------------------------------- /examples/browser/src/auto-imports.d.ts: -------------------------------------------------------------------------------- 1 | // Generated by 'unplugin-auto-import' 2 | export {} 3 | declare global { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = ["totp-wasm"] 3 | 4 | [profile.release] 5 | lto = true 6 | opt-level = 's' 7 | panic = 'abort' 8 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/totp_wasm_bg.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gizmo-ds/totp-wasm/main/packages/totp-wasm/dist/totp_wasm_bg.wasm -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "deno.enable": true, 3 | "deno.unstable": true, 4 | "deno.enablePaths": ["packages/totp-wasm/deno", "examples/deno"] 5 | } 6 | -------------------------------------------------------------------------------- /examples/browser/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import './style.scss' 3 | import App from './App.vue' 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /examples/browser/src/style.scss: -------------------------------------------------------------------------------- 1 | .n-progress-graph-line-fill { 2 | transition: background-color 0.3s var(--n-bezier), max-width 1s linear !important; 3 | } 4 | -------------------------------------------------------------------------------- /packages/totp-wasm/jsr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@gizmo-ds/totp-wasm", 3 | "version": "0.1.2", 4 | "exports": "./index.ts", 5 | "include": ["dist/**"] 6 | } 7 | -------------------------------------------------------------------------------- /examples/deno/init.ts: -------------------------------------------------------------------------------- 1 | import { base64Decode, init, wasm_data } from './deps.ts' 2 | export { hotp, totp, steam_guard } from './deps.ts' 3 | await init(base64Decode(wasm_data)) 4 | -------------------------------------------------------------------------------- /examples/node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Gizmo", 3 | "license": "MIT", 4 | "devDependencies": { 5 | "@types/node": "^18.7.16", 6 | "esno": "^0.16.3" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/deno/noinit.ts: -------------------------------------------------------------------------------- 1 | import { init } from "./deps.ts"; 2 | export { hotp, totp, steam_guard } from './deps.ts' 3 | export const loadAndInit = (data: Uint8Array | string) => init(data) 4 | -------------------------------------------------------------------------------- /packages/totp-wasm/index.ts: -------------------------------------------------------------------------------- 1 | export { hotp, totp, steam_guard } from './dist/totp_wasm' 2 | export { default as init } from './dist/totp_wasm' 3 | export { wasm_data } from './dist/wasm_data' 4 | -------------------------------------------------------------------------------- /packages/totp-wasm/deno/mod.ts: -------------------------------------------------------------------------------- 1 | export { hotp, totp, steam_guard } from '../dist/totp_wasm.js' 2 | export { wasm_data } from '../dist/wasm_data.js' 3 | export { default as init } from '../dist/totp_wasm.js' 4 | -------------------------------------------------------------------------------- /packages/totp-wasm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "totp-wasm", 3 | "version": "1.0.0", 4 | "description": "HOTP & TOTP & Steam Guard TOTP ", 5 | "main": "index.js", 6 | "author": "Gizmo", 7 | "license": "MIT" 8 | } 9 | -------------------------------------------------------------------------------- /examples/browser/src/totp.ts: -------------------------------------------------------------------------------- 1 | export { hotp, totp, steam_guard, init } from '../../../packages/totp-wasm' 2 | import _wasm_url from '../../../packages/totp-wasm/dist/totp_wasm_bg.wasm?url' 3 | export const wasm_url = _wasm_url 4 | -------------------------------------------------------------------------------- /examples/deno/deps.ts: -------------------------------------------------------------------------------- 1 | export { decode as base64Decode } from 'https://deno.land/std@0.171.0/encoding/base64.ts' 2 | export { assertEquals } from 'https://deno.land/std@0.171.0/testing/asserts.ts' 3 | export * from '../../packages/totp-wasm/deno/mod.ts' 4 | -------------------------------------------------------------------------------- /examples/bun/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "totp-wasm", 3 | "module": "index.ts", 4 | "type": "module", 5 | "devDependencies": { 6 | "bun-types": "latest" 7 | }, 8 | "peerDependencies": { 9 | "typescript": "^5.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /examples/browser/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /totp-wasm/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "totp-wasm" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [lib] 7 | crate-type = ["cdylib"] 8 | 9 | [dependencies] 10 | wasm-bindgen = "0.2.86" 11 | base32 = "0.4.0" 12 | sha-1 = "0.10.0" 13 | hmac = "0.12.1" 14 | -------------------------------------------------------------------------------- /examples/browser/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | declare module '*.vue' { 5 | import type { DefineComponent } from 'vue' 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /examples/browser/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /examples/browser/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | totp-wasm 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.github/workflows/deno.yml: -------------------------------------------------------------------------------- 1 | name: Deno 2 | 3 | on: 4 | push: 5 | branches: ['main'] 6 | pull_request: 7 | branches: ['main'] 8 | 9 | permissions: 10 | contents: read 11 | 12 | jobs: 13 | test: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v3 18 | 19 | - name: Setup Deno 20 | uses: denoland/setup-deno@v1.1.1 21 | with: 22 | deno-version: v1.32.3 23 | 24 | - name: Run tests 25 | run: deno test --allow-read examples/deno/ 26 | -------------------------------------------------------------------------------- /examples/browser/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "moduleResolution": "Node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "esModuleInterop": true, 13 | "lib": ["ESNext", "DOM"], 14 | "skipLibCheck": true 15 | }, 16 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 17 | "references": [{ "path": "./tsconfig.node.json" }] 18 | } 19 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "totp-wasm", 3 | "version": "1.0.0", 4 | "description": "HOTP & TOTP & Steam Guard TOTP ", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "cd examples/browser && pnpm run build", 8 | "build:wasm": "node scripts/build.mjs", 9 | "test:deno": "deno test --allow-read examples/deno/" 10 | }, 11 | "keywords": [], 12 | "author": "Gizmo", 13 | "license": "MIT", 14 | "workspaces": [ 15 | "packages/totp-wasm", 16 | "examples/browser", 17 | "examples/node" 18 | ], 19 | "devDependencies": { 20 | "binaryen": "^111.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /examples/bun/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["ESNext"], 4 | "module": "esnext", 5 | "target": "esnext", 6 | "moduleResolution": "bundler", 7 | "moduleDetection": "force", 8 | "allowImportingTsExtensions": true, 9 | "noEmit": true, 10 | "composite": true, 11 | "strict": true, 12 | "downlevelIteration": true, 13 | "skipLibCheck": true, 14 | "jsx": "react-jsx", 15 | "allowSyntheticDefaultImports": true, 16 | "forceConsistentCasingInFileNames": true, 17 | "allowJs": true, 18 | "types": [ 19 | "bun-types" // add Bun global 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/totp_wasm_bg.wasm.d.ts: -------------------------------------------------------------------------------- 1 | /* tslint:disable */ 2 | /* eslint-disable */ 3 | export const memory: WebAssembly.Memory; 4 | export function hotp(a: number, b: number, c: number, d: number, e: number): void; 5 | export function totp(a: number, b: number, c: number, d: number, e: number, f: number): void; 6 | export function steam_guard(a: number, b: number, c: number, d: number): void; 7 | export function __wbindgen_add_to_stack_pointer(a: number): number; 8 | export function __wbindgen_malloc(a: number): number; 9 | export function __wbindgen_free(a: number, b: number): void; 10 | export function __wbindgen_realloc(a: number, b: number, c: number): number; 11 | -------------------------------------------------------------------------------- /examples/node/index.ts: -------------------------------------------------------------------------------- 1 | import { init, hotp, totp, steam_guard } from '../../packages/totp-wasm' 2 | import { readFileSync } from 'node:fs' 3 | import { equal } from 'node:assert' 4 | 5 | const wasm_data = new Uint8Array( 6 | readFileSync('../../packages/totp-wasm/dist/totp_wasm_bg.wasm').buffer 7 | ) 8 | const s2b = (s: string) => new TextEncoder().encode(s) 9 | 10 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW' 11 | const test_t = 1662681600 12 | 13 | ;(async () => { 14 | await init(wasm_data) 15 | 16 | equal(hotp(s2b(test_key), BigInt(test_t), 6), '886679') 17 | equal(totp(test_key, test_t, 6, 30), '473526') 18 | equal(steam_guard(test_key, test_t), '4PRPM') 19 | })() 20 | -------------------------------------------------------------------------------- /examples/browser/src/assets/github-corner-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.github/workflows/node.yml: -------------------------------------------------------------------------------- 1 | name: Node 2 | 3 | on: 4 | push: 5 | branches: ['main'] 6 | pull_request: 7 | branches: ['main'] 8 | 9 | permissions: 10 | contents: read 11 | 12 | jobs: 13 | test: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v3 18 | 19 | - name: Install pnpm 20 | uses: pnpm/action-setup@v2 21 | with: 22 | version: 8.15.4 23 | 24 | - name: Setup Node 25 | uses: actions/setup-node@v3 26 | with: 27 | node-version: 20.11.1 28 | cache: pnpm 29 | 30 | - name: Run tests 31 | run: | 32 | pnpm install 33 | cd examples/node 34 | pnpm esno index.ts 35 | -------------------------------------------------------------------------------- /examples/deno/init.test.ts: -------------------------------------------------------------------------------- 1 | import { assertEquals } from './deps.ts' 2 | import { hotp, totp, steam_guard } from './init.ts' 3 | 4 | const s2b = (s: string) => new TextEncoder().encode(s) 5 | 6 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW' 7 | 8 | Deno.test('WASM init', async (t) => { 9 | await t.step('HOTP', () => { 10 | const code = hotp(s2b(test_key), 1662681600n, 6) 11 | assertEquals(code, '886679') 12 | }) 13 | 14 | await t.step('TOTP', () => { 15 | const code = totp(test_key, 1662681600, 6, 30) 16 | assertEquals(code, '473526') 17 | }) 18 | 19 | await t.step('Steam Guard', () => { 20 | const code = steam_guard(test_key, 1662681600) 21 | assertEquals(code, '4PRPM') 22 | }) 23 | }) 24 | -------------------------------------------------------------------------------- /examples/browser/src/utils.ts: -------------------------------------------------------------------------------- 1 | const RFC4648_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; 2 | 3 | export function generateSecret(length: number = 32) { 4 | const result = new Array(length); 5 | for (let i = 0; i < length; i++) 6 | result[i] = RFC4648_ALPHABET[randomInt(0, RFC4648_ALPHABET.length - 1)]; 7 | return result.join(""); 8 | } 9 | 10 | export function randomInt(min: number, max: number) { 11 | min = Math.ceil(min); 12 | max = Math.floor(max); 13 | return Math.floor(Math.random() * (max - min + 1)) + min; 14 | } 15 | 16 | export function totpSearchParams(obj: Object) { 17 | return Object.entries(obj) 18 | .map( 19 | ([key, value]) => 20 | `${encodeURIComponent(key)}=${encodeURIComponent(value as string)}` 21 | ) 22 | .join("&"); 23 | } 24 | -------------------------------------------------------------------------------- /examples/browser/vite.config.ts: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | import { defineConfig } from "vite"; 3 | import vue from "@vitejs/plugin-vue"; 4 | import AutoImport from "unplugin-auto-import/vite"; 5 | import Components from "unplugin-vue-components/vite"; 6 | import { NaiveUiResolver } from "unplugin-vue-components/resolvers"; 7 | import svgLoader from "vite-svg-loader"; 8 | 9 | // https://vitejs.dev/config/ 10 | export default defineConfig({ 11 | plugins: [ 12 | vue({ 13 | reactivityTransform: true, 14 | }), 15 | svgLoader(), 16 | AutoImport({ 17 | resolvers: [NaiveUiResolver()], 18 | dts: path.resolve("src/auto-imports.d.ts"), 19 | }), 20 | Components({ 21 | resolvers: [NaiveUiResolver()], 22 | dts: path.resolve("src/components.d.ts"), 23 | }), 24 | ], 25 | }); 26 | -------------------------------------------------------------------------------- /examples/browser/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "totp-wasm", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "homepage": "https://github.com/gizmo-ds/totp-wasm", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "vue-tsc --noEmit && vite build", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "@vueuse/components": "^9.2.0", 14 | "qrcode.vue": "^3.3.3", 15 | "vue": "^3.2.37" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^18.7.16", 19 | "@vitejs/plugin-vue": "^3.1.0", 20 | "naive-ui": "^2.33.2", 21 | "sass": "^1.54.9", 22 | "typescript": "^4.6.4", 23 | "unplugin-auto-import": "^0.11.2", 24 | "unplugin-vue-components": "^0.22.4", 25 | "vite": "^3.1.0", 26 | "vite-svg-loader": "^3.6.0", 27 | "vue-tsc": "^0.40.4" 28 | } 29 | } -------------------------------------------------------------------------------- /examples/deno/noinit_test.ts: -------------------------------------------------------------------------------- 1 | import { assertEquals } from './deps.ts' 2 | import { loadAndInit, hotp, totp, steam_guard } from './noinit.ts' 3 | 4 | const s2b = (s: string) => new TextEncoder().encode(s) 5 | 6 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW' 7 | 8 | Deno.test('WASM noinit', async (t) => { 9 | await loadAndInit( 10 | await Deno.readFile('packages/totp-wasm/dist/totp_wasm_bg.wasm') 11 | ) 12 | 13 | await t.step('HOTP', () => { 14 | const code = hotp(s2b(test_key), 1662681600n, 6) 15 | assertEquals(code, '886679') 16 | }) 17 | 18 | await t.step('TOTP', () => { 19 | const code = totp(test_key, 1662681600, 6, 30) 20 | assertEquals(code, '473526') 21 | }) 22 | 23 | await t.step('Steam Guard', () => { 24 | const code = steam_guard(test_key, 1662681600) 25 | assertEquals(code, '4PRPM') 26 | }) 27 | }) 28 | -------------------------------------------------------------------------------- /examples/bun/totp.test.ts: -------------------------------------------------------------------------------- 1 | import { expect, test } from 'bun:test' 2 | import { 3 | init, 4 | wasm_data, 5 | hotp, 6 | totp, 7 | steam_guard, 8 | } from '../../packages/totp-wasm' 9 | 10 | const s2b = (s: string) => new TextEncoder().encode(s) 11 | 12 | const test_key = 'GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW' 13 | 14 | test('HOTP', async () => { 15 | await init(Buffer.from(wasm_data, 'base64')) 16 | const code = hotp(s2b(test_key), 1662681600n, 6) 17 | expect(code).toBe('886679') 18 | }) 19 | 20 | test('TOTP', async () => { 21 | await init(Buffer.from(wasm_data, 'base64')) 22 | const code = totp(test_key, 1662681600, 6, 30) 23 | expect(code).toBe('473526') 24 | }) 25 | 26 | test('Steam Guard', async () => { 27 | await init(Buffer.from(wasm_data, 'base64')) 28 | const code = steam_guard(test_key, 1662681600) 29 | expect(code).toBe('4PRPM') 30 | }) 31 | -------------------------------------------------------------------------------- /scripts/build.mjs: -------------------------------------------------------------------------------- 1 | import { readFileSync, writeFileSync, rmSync } from 'fs' 2 | import { execSync } from 'child_process' 3 | 4 | const out_dir = 'packages/totp-wasm/dist' 5 | rmSync(out_dir, { recursive: true, force: true }) 6 | execSync('cargo build --target wasm32-unknown-unknown --release') 7 | execSync( 8 | `wasm-bindgen --out-dir ${out_dir} --target web target/wasm32-unknown-unknown/release/totp_wasm.wasm` 9 | ) 10 | execSync( 11 | `node_modules/.bin/wasm-opt -Os --strip-debug --strip-producers --zero-filled-memory -o ${out_dir}/totp_wasm_bg.wasm ${out_dir}/totp_wasm_bg.wasm` 12 | ) 13 | 14 | const wasm_file = `${out_dir}/totp_wasm_bg.wasm` 15 | const wasm_data = readFileSync(wasm_file).toString('base64') 16 | writeFileSync(`${out_dir}/wasm_data.js`, "// @ts-nocheck\nexport const wasm_data = \"" + wasm_data + "\";\n") 17 | writeFileSync(`${out_dir}/wasm_data.d.ts`, "export const wasm_data: string\n") 18 | -------------------------------------------------------------------------------- /examples/browser/src/components.d.ts: -------------------------------------------------------------------------------- 1 | // generated by unplugin-vue-components 2 | // We suggest you to commit this file into source control 3 | // Read more: https://github.com/vuejs/core/pull/3399 4 | import '@vue/runtime-core' 5 | 6 | export {} 7 | 8 | declare module '@vue/runtime-core' { 9 | export interface GlobalComponents { 10 | GitHubCorners: typeof import('./components/GitHubCorners.vue')['default'] 11 | NButton: typeof import('naive-ui')['NButton'] 12 | NConfigProvider: typeof import('naive-ui')['NConfigProvider'] 13 | NDivider: typeof import('naive-ui')['NDivider'] 14 | NInput: typeof import('naive-ui')['NInput'] 15 | NInputGroup: typeof import('naive-ui')['NInputGroup'] 16 | NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel'] 17 | NInputNumber: typeof import('naive-ui')['NInputNumber'] 18 | NLayout: typeof import('naive-ui')['NLayout'] 19 | NNotificationProvider: typeof import('naive-ui')['NNotificationProvider'] 20 | NProgress: typeof import('naive-ui')['NProgress'] 21 | NSpace: typeof import('naive-ui')['NSpace'] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Gizmo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /examples/browser/src/components/GitHubCorners.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # totp-wasm 2 | 3 | HOTP([RFC 4226](https://tools.ietf.org/html/rfc4226)) & TOTP([RFC 6238](https://tools.ietf.org/html/rfc6238)) & Steam Guard TOTP 4 | 5 | ## Demo 6 | 7 | [https://totp-wasm.vercel.app](https://totp-wasm.vercel.app) 8 | 9 | ## Usage 10 | 11 | ### Deno 12 | 13 | ```typescript 14 | import { 15 | totp, 16 | init, 17 | wasm_data, 18 | } from 'https://deno.land/x/totp_wasm/deno/mod.ts' 19 | 20 | await init(wasm_data) 21 | const code = totp('GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW', 1662681600, 6, 30) 22 | console.log(code) 23 | // 473526 24 | ``` 25 | 26 | ### Browser 27 | 28 | [example](./examples/browser) 29 | 30 | ### Node.js 31 | 32 | [example](./examples/node) 33 | 34 | ### Bun 35 | 36 | [example](./examples/bun) 37 | 38 | ## Build 39 | 40 | Prerequisites 41 | 42 | - [Rust](https://www.rust-lang.org) 43 | - [Node.js](https://nodejs.org) 44 | 45 | ```bash 46 | rustup target add wasm32-unknown-unknown 47 | cargo install --version=0.2.86 wasm-bindgen-cli 48 | pnpm install 49 | node scripts/build.mjs 50 | ``` 51 | 52 | ## Runing examples 53 | 54 | ```bash 55 | cd examples/browser 56 | pnpm install 57 | pnpm dev 58 | ``` 59 | 60 | # Related Projects 61 | 62 | Here are some related projects that you may find useful: 63 | 64 | - [totp-wasm-zig](https://github.com/gizmo-ds/totp-wasm-zig): Zig implementation of this project. 65 | - [UdonOTPLib](https://github.com/gizmo-ds/UdonOTPLib): C# implementation for the VRChat game. 66 | 67 | ## License 68 | 69 | Code is distributed under [MIT](./LICENSE) license, feel free to use it in your proprietary projects as well. 70 | -------------------------------------------------------------------------------- /packages/totp-wasm/README.md: -------------------------------------------------------------------------------- 1 | # totp-wasm 2 | 3 | HOTP([RFC 4226](https://tools.ietf.org/html/rfc4226)) & TOTP([RFC 6238](https://tools.ietf.org/html/rfc6238)) & Steam Guard TOTP 4 | 5 | ## Demo 6 | 7 | [https://totp-wasm.vercel.app](https://totp-wasm.vercel.app) 8 | 9 | ## Usage 10 | 11 | ### Deno 12 | 13 | ```typescript 14 | import { 15 | totp, 16 | init, 17 | wasm_data, 18 | } from 'https://deno.land/x/totp_wasm/deno/mod.ts' 19 | 20 | await init(wasm_data) 21 | const code = totp('GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW', 1662681600, 6, 30) 22 | console.log(code) 23 | // 473526 24 | ``` 25 | 26 | ### Browser 27 | 28 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/browser) 29 | 30 | ### Node.js 31 | 32 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/node) 33 | 34 | ### Bun 35 | 36 | [example](https://github.com/gizmo-ds/totp-wasm/blob/main/examples/bun) 37 | 38 | ## Build 39 | 40 | Prerequisites 41 | 42 | - [Rust](https://www.rust-lang.org) 43 | - [Node.js](https://nodejs.org) 44 | 45 | ```bash 46 | rustup target add wasm32-unknown-unknown 47 | cargo install --version=0.2.86 wasm-bindgen-cli 48 | pnpm install 49 | node scripts/build.mjs 50 | ``` 51 | 52 | ## Runing examples 53 | 54 | ```bash 55 | cd examples/browser 56 | pnpm install 57 | pnpm dev 58 | ``` 59 | 60 | # Related Projects 61 | 62 | Here are some related projects that you may find useful: 63 | 64 | - [totp-wasm-zig](https://github.com/gizmo-ds/totp-wasm-zig): Zig implementation of this project. 65 | - [UdonOTPLib](https://github.com/gizmo-ds/UdonOTPLib): C# implementation for the VRChat game. 66 | 67 | ## License 68 | 69 | Code is distributed under [MIT](https://github.com/gizmo-ds/totp-wasm/blob/main/LICENSE) license, feel free to use it in your proprietary projects as well. 70 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/totp_wasm.d.ts: -------------------------------------------------------------------------------- 1 | /* tslint:disable */ 2 | /* eslint-disable */ 3 | /** 4 | * @param {Uint8Array} k 5 | * @param {bigint} c 6 | * @param {number} digits 7 | * @returns {string} 8 | */ 9 | export function hotp(k: Uint8Array, c: bigint, digits: number): string; 10 | /** 11 | * @param {string} secret 12 | * @param {number} t 13 | * @param {number} digits 14 | * @param {number} tc 15 | * @returns {string} 16 | */ 17 | export function totp(secret: string, t: number, digits: number, tc: number): string; 18 | /** 19 | * @param {string} secret 20 | * @param {number} t 21 | * @returns {string} 22 | */ 23 | export function steam_guard(secret: string, t: number): string; 24 | 25 | export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; 26 | 27 | export interface InitOutput { 28 | readonly memory: WebAssembly.Memory; 29 | readonly hotp: (a: number, b: number, c: number, d: number, e: number) => void; 30 | readonly totp: (a: number, b: number, c: number, d: number, e: number, f: number) => void; 31 | readonly steam_guard: (a: number, b: number, c: number, d: number) => void; 32 | readonly __wbindgen_add_to_stack_pointer: (a: number) => number; 33 | readonly __wbindgen_malloc: (a: number) => number; 34 | readonly __wbindgen_free: (a: number, b: number) => void; 35 | readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; 36 | } 37 | 38 | export type SyncInitInput = BufferSource | WebAssembly.Module; 39 | /** 40 | * Instantiates the given `module`, which can either be bytes or 41 | * a precompiled `WebAssembly.Module`. 42 | * 43 | * @param {SyncInitInput} module 44 | * 45 | * @returns {InitOutput} 46 | */ 47 | export function initSync(module: SyncInitInput): InitOutput; 48 | 49 | /** 50 | * If `module_or_path` is {RequestInfo} or {URL}, makes a request and 51 | * for everything else, calls `WebAssembly.instantiate` directly. 52 | * 53 | * @param {InitInput | Promise} module_or_path 54 | * 55 | * @returns {Promise} 56 | */ 57 | export default function __wbg_init (module_or_path?: InitInput | Promise): Promise; 58 | -------------------------------------------------------------------------------- /totp-wasm/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![allow(non_upper_case_globals)] 2 | extern crate wasm_bindgen; 3 | 4 | use base32::decode; 5 | use base32::Alphabet::RFC4648; 6 | use hmac::{Hmac, Mac}; 7 | use wasm_bindgen::prelude::*; 8 | 9 | type HmacSha1 = Hmac; 10 | 11 | const STEAM_CHARS: &[u8; 26] = b"23456789BCDFGHJKMNPQRTVWXY"; 12 | 13 | #[wasm_bindgen] 14 | pub fn hotp(k: &[u8], c: u64, digits: usize) -> String { 15 | let mut h = HmacSha1::new_from_slice(k).unwrap(); 16 | h.update(&c.to_be_bytes()); 17 | 18 | let hash = h.finalize().into_bytes(); 19 | 20 | let offset = (hash[hash.len() - 1] & 0xf) as usize; 21 | let bytes: [u8; 4] = hash[offset..offset + 4].try_into().unwrap(); 22 | 23 | let result = u32::from_be_bytes(bytes) & 0x7FFFFFFF; 24 | 25 | let code = result % (10_u32.pow(digits as u32)); 26 | let code = format!("{:0>width$}", code, width = digits); 27 | code 28 | } 29 | 30 | #[wasm_bindgen] 31 | pub fn totp(secret: &str, t: f64, digits: usize, tc: i32) -> String { 32 | let c = (t / (tc as f64)).floor() as u64; 33 | let k = decode(RFC4648 { padding: true }, secret).unwrap(); 34 | hotp(&k, c, digits) 35 | } 36 | 37 | #[wasm_bindgen] 38 | pub fn steam_guard(secret: &str, t: f64) -> String { 39 | let c = (t / (30 as f64)).floor() as u64; 40 | let k = decode(RFC4648 { padding: true }, secret).unwrap(); 41 | 42 | let mut h = HmacSha1::new_from_slice(&k).unwrap(); 43 | h.update(&c.to_be_bytes()); 44 | 45 | let hash = h.finalize().into_bytes(); 46 | 47 | let offset = (hash[hash.len() - 1] & 0xf) as usize; 48 | let bytes: [u8; 4] = hash[offset..offset + 4].try_into().unwrap(); 49 | 50 | let result = u32::from_be_bytes(bytes) & 0x7FFFFFFF; 51 | 52 | let mut fc = result; 53 | 54 | let mut code: [u8; 5] = [0; 5]; 55 | for i in 0..5 { 56 | let v = STEAM_CHARS[(fc % (STEAM_CHARS.len() as u32)) as usize]; 57 | code[i as usize] = v; 58 | fc /= STEAM_CHARS.len() as u32; 59 | } 60 | 61 | String::from_utf8_lossy(&code).to_string() 62 | } 63 | 64 | #[cfg(test)] 65 | mod tests { 66 | use super::*; 67 | 68 | #[test] 69 | fn test_hotp() { 70 | let code = hotp(b"GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600, 6); 71 | assert_eq!(code, "886679"); 72 | } 73 | 74 | #[test] 75 | fn test_totp() { 76 | let code = totp("GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600 as f64, 6, 30); 77 | assert_eq!(code, "473526"); 78 | } 79 | 80 | #[test] 81 | fn test_steam_guard() { 82 | let code = steam_guard("GM4VC2CQN5UGS33ZJJVWYUSFMQ4HOQJW", 1662681600 as f64); 83 | assert_eq!(code, "4PRPM"); 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /examples/bun/.gitignore: -------------------------------------------------------------------------------- 1 | # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore 2 | 3 | # Logs 4 | 5 | logs 6 | _.log 7 | npm-debug.log_ 8 | yarn-debug.log* 9 | yarn-error.log* 10 | lerna-debug.log* 11 | .pnpm-debug.log* 12 | 13 | # Caches 14 | 15 | .cache 16 | 17 | # Diagnostic reports (https://nodejs.org/api/report.html) 18 | 19 | report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 20 | 21 | # Runtime data 22 | 23 | pids 24 | _.pid 25 | _.seed 26 | *.pid.lock 27 | 28 | # Directory for instrumented libs generated by jscoverage/JSCover 29 | 30 | lib-cov 31 | 32 | # Coverage directory used by tools like istanbul 33 | 34 | coverage 35 | *.lcov 36 | 37 | # nyc test coverage 38 | 39 | .nyc_output 40 | 41 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 42 | 43 | .grunt 44 | 45 | # Bower dependency directory (https://bower.io/) 46 | 47 | bower_components 48 | 49 | # node-waf configuration 50 | 51 | .lock-wscript 52 | 53 | # Compiled binary addons (https://nodejs.org/api/addons.html) 54 | 55 | build/Release 56 | 57 | # Dependency directories 58 | 59 | node_modules/ 60 | jspm_packages/ 61 | 62 | # Snowpack dependency directory (https://snowpack.dev/) 63 | 64 | web_modules/ 65 | 66 | # TypeScript cache 67 | 68 | *.tsbuildinfo 69 | 70 | # Optional npm cache directory 71 | 72 | .npm 73 | 74 | # Optional eslint cache 75 | 76 | .eslintcache 77 | 78 | # Optional stylelint cache 79 | 80 | .stylelintcache 81 | 82 | # Microbundle cache 83 | 84 | .rpt2_cache/ 85 | .rts2_cache_cjs/ 86 | .rts2_cache_es/ 87 | .rts2_cache_umd/ 88 | 89 | # Optional REPL history 90 | 91 | .node_repl_history 92 | 93 | # Output of 'npm pack' 94 | 95 | *.tgz 96 | 97 | # Yarn Integrity file 98 | 99 | .yarn-integrity 100 | 101 | # dotenv environment variable files 102 | 103 | .env 104 | .env.development.local 105 | .env.test.local 106 | .env.production.local 107 | .env.local 108 | 109 | # parcel-bundler cache (https://parceljs.org/) 110 | 111 | .parcel-cache 112 | 113 | # Next.js build output 114 | 115 | .next 116 | out 117 | 118 | # Nuxt.js build / generate output 119 | 120 | .nuxt 121 | dist 122 | 123 | # Gatsby files 124 | 125 | # Comment in the public line in if your project uses Gatsby and not Next.js 126 | 127 | # https://nextjs.org/blog/next-9-1#public-directory-support 128 | 129 | # public 130 | 131 | # vuepress build output 132 | 133 | .vuepress/dist 134 | 135 | # vuepress v2.x temp and cache directory 136 | 137 | .temp 138 | 139 | # Docusaurus cache and generated files 140 | 141 | .docusaurus 142 | 143 | # Serverless directories 144 | 145 | .serverless/ 146 | 147 | # FuseBox cache 148 | 149 | .fusebox/ 150 | 151 | # DynamoDB Local files 152 | 153 | .dynamodb/ 154 | 155 | # TernJS port file 156 | 157 | .tern-port 158 | 159 | # Stores VSCode versions used for testing VSCode extensions 160 | 161 | .vscode-test 162 | 163 | # yarn v2 164 | 165 | .yarn/cache 166 | .yarn/unplugged 167 | .yarn/build-state.yml 168 | .yarn/install-state.gz 169 | .pnp.* 170 | 171 | # IntelliJ based IDEs 172 | .idea 173 | 174 | # Finder (MacOS) folder config 175 | .DS_Store 176 | -------------------------------------------------------------------------------- /examples/browser/src/App.vue: -------------------------------------------------------------------------------- 1 | 65 | 66 | 190 | 191 | 212 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/totp_wasm.js: -------------------------------------------------------------------------------- 1 | let wasm; 2 | 3 | let cachedUint8Memory0 = null; 4 | 5 | function getUint8Memory0() { 6 | if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { 7 | cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); 8 | } 9 | return cachedUint8Memory0; 10 | } 11 | 12 | let WASM_VECTOR_LEN = 0; 13 | 14 | function passArray8ToWasm0(arg, malloc) { 15 | const ptr = malloc(arg.length * 1) >>> 0; 16 | getUint8Memory0().set(arg, ptr / 1); 17 | WASM_VECTOR_LEN = arg.length; 18 | return ptr; 19 | } 20 | 21 | let cachedInt32Memory0 = null; 22 | 23 | function getInt32Memory0() { 24 | if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { 25 | cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); 26 | } 27 | return cachedInt32Memory0; 28 | } 29 | 30 | const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); 31 | 32 | if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; 33 | 34 | function getStringFromWasm0(ptr, len) { 35 | ptr = ptr >>> 0; 36 | return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); 37 | } 38 | /** 39 | * @param {Uint8Array} k 40 | * @param {bigint} c 41 | * @param {number} digits 42 | * @returns {string} 43 | */ 44 | export function hotp(k, c, digits) { 45 | let deferred2_0; 46 | let deferred2_1; 47 | try { 48 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); 49 | const ptr0 = passArray8ToWasm0(k, wasm.__wbindgen_malloc); 50 | const len0 = WASM_VECTOR_LEN; 51 | wasm.hotp(retptr, ptr0, len0, c, digits); 52 | var r0 = getInt32Memory0()[retptr / 4 + 0]; 53 | var r1 = getInt32Memory0()[retptr / 4 + 1]; 54 | deferred2_0 = r0; 55 | deferred2_1 = r1; 56 | return getStringFromWasm0(r0, r1); 57 | } finally { 58 | wasm.__wbindgen_add_to_stack_pointer(16); 59 | wasm.__wbindgen_free(deferred2_0, deferred2_1); 60 | } 61 | } 62 | 63 | const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); 64 | 65 | const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' 66 | ? function (arg, view) { 67 | return cachedTextEncoder.encodeInto(arg, view); 68 | } 69 | : function (arg, view) { 70 | const buf = cachedTextEncoder.encode(arg); 71 | view.set(buf); 72 | return { 73 | read: arg.length, 74 | written: buf.length 75 | }; 76 | }); 77 | 78 | function passStringToWasm0(arg, malloc, realloc) { 79 | 80 | if (realloc === undefined) { 81 | const buf = cachedTextEncoder.encode(arg); 82 | const ptr = malloc(buf.length) >>> 0; 83 | getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); 84 | WASM_VECTOR_LEN = buf.length; 85 | return ptr; 86 | } 87 | 88 | let len = arg.length; 89 | let ptr = malloc(len) >>> 0; 90 | 91 | const mem = getUint8Memory0(); 92 | 93 | let offset = 0; 94 | 95 | for (; offset < len; offset++) { 96 | const code = arg.charCodeAt(offset); 97 | if (code > 0x7F) break; 98 | mem[ptr + offset] = code; 99 | } 100 | 101 | if (offset !== len) { 102 | if (offset !== 0) { 103 | arg = arg.slice(offset); 104 | } 105 | ptr = realloc(ptr, len, len = offset + arg.length * 3) >>> 0; 106 | const view = getUint8Memory0().subarray(ptr + offset, ptr + len); 107 | const ret = encodeString(arg, view); 108 | 109 | offset += ret.written; 110 | } 111 | 112 | WASM_VECTOR_LEN = offset; 113 | return ptr; 114 | } 115 | /** 116 | * @param {string} secret 117 | * @param {number} t 118 | * @param {number} digits 119 | * @param {number} tc 120 | * @returns {string} 121 | */ 122 | export function totp(secret, t, digits, tc) { 123 | let deferred2_0; 124 | let deferred2_1; 125 | try { 126 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); 127 | const ptr0 = passStringToWasm0(secret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); 128 | const len0 = WASM_VECTOR_LEN; 129 | wasm.totp(retptr, ptr0, len0, t, digits, tc); 130 | var r0 = getInt32Memory0()[retptr / 4 + 0]; 131 | var r1 = getInt32Memory0()[retptr / 4 + 1]; 132 | deferred2_0 = r0; 133 | deferred2_1 = r1; 134 | return getStringFromWasm0(r0, r1); 135 | } finally { 136 | wasm.__wbindgen_add_to_stack_pointer(16); 137 | wasm.__wbindgen_free(deferred2_0, deferred2_1); 138 | } 139 | } 140 | 141 | /** 142 | * @param {string} secret 143 | * @param {number} t 144 | * @returns {string} 145 | */ 146 | export function steam_guard(secret, t) { 147 | let deferred2_0; 148 | let deferred2_1; 149 | try { 150 | const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); 151 | const ptr0 = passStringToWasm0(secret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); 152 | const len0 = WASM_VECTOR_LEN; 153 | wasm.steam_guard(retptr, ptr0, len0, t); 154 | var r0 = getInt32Memory0()[retptr / 4 + 0]; 155 | var r1 = getInt32Memory0()[retptr / 4 + 1]; 156 | deferred2_0 = r0; 157 | deferred2_1 = r1; 158 | return getStringFromWasm0(r0, r1); 159 | } finally { 160 | wasm.__wbindgen_add_to_stack_pointer(16); 161 | wasm.__wbindgen_free(deferred2_0, deferred2_1); 162 | } 163 | } 164 | 165 | async function __wbg_load(module, imports) { 166 | if (typeof Response === 'function' && module instanceof Response) { 167 | if (typeof WebAssembly.instantiateStreaming === 'function') { 168 | try { 169 | return await WebAssembly.instantiateStreaming(module, imports); 170 | 171 | } catch (e) { 172 | if (module.headers.get('Content-Type') != 'application/wasm') { 173 | console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); 174 | 175 | } else { 176 | throw e; 177 | } 178 | } 179 | } 180 | 181 | const bytes = await module.arrayBuffer(); 182 | return await WebAssembly.instantiate(bytes, imports); 183 | 184 | } else { 185 | const instance = await WebAssembly.instantiate(module, imports); 186 | 187 | if (instance instanceof WebAssembly.Instance) { 188 | return { instance, module }; 189 | 190 | } else { 191 | return instance; 192 | } 193 | } 194 | } 195 | 196 | function __wbg_get_imports() { 197 | const imports = {}; 198 | imports.wbg = {}; 199 | 200 | return imports; 201 | } 202 | 203 | function __wbg_init_memory(imports, maybe_memory) { 204 | 205 | } 206 | 207 | function __wbg_finalize_init(instance, module) { 208 | wasm = instance.exports; 209 | __wbg_init.__wbindgen_wasm_module = module; 210 | cachedInt32Memory0 = null; 211 | cachedUint8Memory0 = null; 212 | 213 | 214 | return wasm; 215 | } 216 | 217 | function initSync(module) { 218 | if (wasm !== undefined) return wasm; 219 | 220 | const imports = __wbg_get_imports(); 221 | 222 | __wbg_init_memory(imports); 223 | 224 | if (!(module instanceof WebAssembly.Module)) { 225 | module = new WebAssembly.Module(module); 226 | } 227 | 228 | const instance = new WebAssembly.Instance(module, imports); 229 | 230 | return __wbg_finalize_init(instance, module); 231 | } 232 | 233 | async function __wbg_init(input) { 234 | if (wasm !== undefined) return wasm; 235 | 236 | if (typeof input === 'undefined') { 237 | input = new URL('totp_wasm_bg.wasm', import.meta.url); 238 | } 239 | const imports = __wbg_get_imports(); 240 | 241 | if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { 242 | input = fetch(input); 243 | } 244 | 245 | __wbg_init_memory(imports); 246 | 247 | const { instance, module } = await __wbg_load(await input, imports); 248 | 249 | return __wbg_finalize_init(instance, module); 250 | } 251 | 252 | export { initSync } 253 | export default __wbg_init; 254 | -------------------------------------------------------------------------------- /packages/totp-wasm/dist/wasm_data.js: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | export const wasm_data = "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aiIANgIAQdyQwABB3JDAACgCACIBIAAgACABSRs2AgBB1JDAACgCACICRQ0DQaiOwAAhAANAIAAoAgAiASAAKAIEIgZqIARGDQUgACgCCCIADQALDAULIAJBeHFBuI7AAGohAAJ/QcCQwAAoAgAiA0EBIAJBA3Z0IgJxBEAgACgCCAwBC0HAkMAAIAIgA3I2AgAgAAshAiAAIAE2AgggAiABNgIMIAEgADYCDCABIAI2AggMDQsgBCACIANqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMDAtB0JDAACgCACEAAkAgASADayICQQ9NBEBB0JDAAEEANgIAQciQwABBADYCACAAIAFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQtByJDAACACNgIAQdCQwAAgACADaiIENgIAIAQgAkEBcjYCBCAAIAFqIAI2AgAgACADQQNyNgIECyAAQQhqDwtB5JDAACgCACIARSAAIARLcg0FDAcLIAAoAgwgASACS3INACACIARJDQELQeSQwABB5JDAACgCACIAIAQgACAESRs2AgAgBCAFaiEBQaiOwAAhAAJAAkADQCABIAAoAgBHBEAgACgCCCIADQEMAgsLIAAoAgxFDQELQaiOwAAhAANAAkAgAiAAKAIAIgFPBEAgASAAKAIEaiIGIAJLDQELIAAoAgghAAwBCwtB1JDAACAENgIAQcyQwAAgBUEoayIANgIAIAQgAEEBcjYCBCAAIARqQSg2AgRB4JDAAEGAgIABNgIAIAIgBkEga0F4cUEIayIAIAAgAkEQakkbIgFBGzYCBEGojsAAKQIAIQkgAUEQakGwjsAAKQIANwIAIAEgCTcCCEGsjsAAIAU2AgBBqI7AACAENgIAQbCOwAAgAUEIajYCAEG0jsAAQQA2AgAgAUEcaiEAA0AgAEEHNgIAIABBBGoiACAGSQ0ACyABIAJGDQcgASABKAIEQX5xNgIEIAIgASACayIAQQFyNgIEIAEgADYCACAAQYACTwRAIAIgABARDAgLIABBeHFBuI7AAGohAQJ/QcCQwAAoAgAiBEEBIABBA3Z0IgBxBEAgASgCCAwBC0HAkMAAIAAgBHI2AgAgAQshACABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggMBwsgACAENgIAIAAgACgCBCAFajYCBCAEIANB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AgggACAZNgIEIAAgGDYCACADQfAAaiQAC6ENAg1/AX4jAEHwA2siBCQAIAQgAjYCsAEgBCABNgKsASAEIAI2AqgBIARBGGogBEGoAWoiARAcIAEgBCgCGCINIAQoAhwiDhADAn4gA0QAAAAAAAA+QKOcIgNEAAAAAAAA8ENjIANEAAAAAAAAAABmIgFxBEAgA7EMAQtCAAshEQJ/AkAgBCgCrAEiDARAQn8gEUIAIAEbIANE////////70NkGyERIAQoAqgBIQ8gBEG4AmogDCAEKAKwARAFQQAhAgNAIARBuAJqIAJqIgEgAS0AAEE2czoAACACQQFqIgJBwABHDQALIARBkANqQfDDy558NgIAIARBiANqQv6568XpjpWZEDcDACAEQoHGlLqW8ermbzcDgAMgBEIBNwP4AiAEQYADaiAEQbgCakEBEAFBACECA0AgBEG4AmogAmoiASABLQAAQeoAczoAACACQQFqIgJBwABHDQALIARBsANqIgJB8MPLnnw2AgAgBEGoA2oiBUL+uevF6Y6VmRA3AwAgBEGgA2oiAUKBxpS6lvHq5m83AwAgBEIBNwOYAyABIARBuAJqIhBBARABIARB2ABqIAIpAwA3AwAgBEHQAGogBSkDADcDACAEQcgAaiABKQMANwMAIARBKGogBEGAA2oiBikDADcDACAEQTBqIARBiANqIgkpAwA3AwAgBEE4aiAEQZADaikDADcDACAEIAQpA5gDNwNAIAQgBCkD+AI3AyAgBEGoAWoiCiAEQSBqIghBwAAQLBpBACECIAhBwAAQLRogBEHoAWogCEHAABAsIQcgCCAKQYABECwaIARBADoAoAEgBCARQiiGQoCAgICAgMD/AIMgEUI4hoQgEUIYhkKAgICAgOA/gyARQgiGQoCAgIDwH4OEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDYCAEQQg6AKABIAogCEGIARAsGiABQgA3AwAgBUEANgIAIARCADcDmAMgBEHAAmoiCEIANwMAIARByAJqIgtBADYCACAEQgA3A7gCIAogByAQEAwgBEGoAmpBFDoAACAEQfgBaiALKAIANgIAIARB8AFqIAgpAwA3AwAgBCAEKQO4AjcD6AEgBEHIAWogByAEQZgDahAMIAkgBSgCADYCACAG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CyADQegBaiIAIAFBARABIANB2AJqIgFBwAAQLRogA0GAAmoiAiABQTgQLBogAyAJNwO4AiAAIAJBARABCyADQQA6AOABIANBjAJqQoCAgIDAADcCACADQRQ2AoQCIAMgA0EUajYCiAIgAyADNgKAAiADQdgCaiADQYACaiADQfwBaiADQegBahAYAkAgAygC4AIiACADKALkAiIBTw0AIAEgAGshByADKALcAiAAQQJ0aiEBIAMoAuwCIgYgACADKAL8AiICbGohACACQQRGIQgDQCAGRQ0BIAMgASgCACIEQRh0IARBCHRBgID8B3FyIARBCHZBgP4DcSAEQRh2cnI2AoACIAhFDQQgACADKAKAAjYAACABQQRqIQEgACACaiEAIAdBAWsiBw0ACwsgBUEQaiADQRBqKAIANgAAIAVBCGogA0EIaikDADcAACAFIAMpAwA3AAAMAQsgBSABIAIQLBoLIANBoANqJAAPCyACEBkAC+QGAgx/An4jAEEwayIGJABBJyECAkAgADUCACIOQpDOAFQEQCAOIQ8MAQsDQCAGQQlqIAJqIgBBBGsgDkKQzgCAIg9C8LEDfiAOfKciA0H//wNxQeQAbiIEQQF0QfyEwABqLwAAOwAAIABBAmsgBEGcf2wgA2pB//8DcUEBdEH8hMAAai8AADsAACACQQRrIQIgDkL/wdcvViEAIA8hDiAADQALCyAPpyIAQeMASwRAIAJBAmsiAiAGQQlqaiAPpyIDQf//A3FB5ABuIgBBnH9sIANqQf//A3FBAXRB/ITAAGovAAA7AAALAkAgAEEKTwRAIAJBAmsiAiAGQQlqaiAAQQF0QfyEwABqLwAAOwAADAELIAJBAWsiAiAGQQlqaiAAQTBqOgAAC0EnIAJrIQRBASEAQStBgIDEACABKAIYIgNBAXEiBRshCCADQR10QR91QbyMwABxIQkgBkEJaiACaiEKAkAgASgCCEUEQCABKAIAIgIgAUEEaigCACIBIAggCRAhDQEgAiAKIAQgASgCDBEBACEADAELAkACQAJAAkAgAUEMaigCACIHIAQgBWoiAEsEQCADQQhxDQQgByAAayIAIQNBASABLQAgIgIgAkEDRhtBA3EiAkEBaw4CAQIDC0EBIQAgASgCACICIAFBBGooAgAiASAIIAkQIQ0EIAIgCiAEIAEoAgwRAQAhAAwEC0EAIQMgACECDAELIABBAXYhAiAAQQFqQQF2IQMLIAJBAWohAiABQQRqKAIAIQUgASgCHCEHIAEoAgAhAQJAA0AgAkEBayICRQ0BIAEgByAFKAIQEQAARQ0AC0EBIQAMAgtBASEAIAdBgIDEAEYNASABIAUgCCAJECENASABIAogBCAFKAIMEQEADQFBACECAn8DQCADIAIgA0YNARogAkEBaiECIAEgByAFKAIQEQAARQ0ACyACQQFrCyADSSEADAELIAEoAhwhDCABQTA2AhwgAS0AICENQQEhACABQQE6ACAgASgCACIDIAFBBGooAgAiCyAIIAkQIQ0AIAIgB2ogBWtBJmshAgNAIAJBAWsiAgRAIANBMCALKAIQEQAARQ0BDAILCyADIAogBCALKAIMEQEADQAgASANOgAgIAEgDDYCHEEAIQALIAZBMGokACAAC5wHAQp/IwBBIGsiBCQAAkACQAJAAkACQAJAIANB/wFxDgQEAwIBAAsjAEEgayIAJAAgAEEMakEBNgIAIABBFGpBATYCACAAQcyJwAA2AgggAEEANgIAIABBBTYCHCAAQeyJwAA2AhggACAAQRhqNgIQIABB1IrAABAjAAtBACEDA0AgBEEQaiADakHWg4vTfDYCACADQQRqIgNBEEcNAAsgBCAEKAIcIAIoAgxqNgIMIAQgBCgCGCACKAIIajYCCCAEIAQoAhQgAigCBGo2AgQgBCAEKAIQIAIoAgBqNgIAIARBGGogAUEIaikCADcDACAEIAEpAgA3AxAgACAEQRBqIAQQFQwDC0EAIQMDQCAEQRBqIANqQdz57vh4NgIAIANBBGoiA0EQRw0ACyACKAIMIQggAigCCCEJIAIoAgQhBiAEKAIcIQogBCgCGCELIAQoAhQhDCAAIAQoAhAgAigCAGogASgCACIDQQV3aiABKAIEIg0gASgCDCICIAEoAggiAXNxIAEgAnFzaiIHQR53IgU2AgwgACACIAYgDGpqIAMgASANQR53IgJzcSABIAJxc2ogB0EFd2oiBkEedzYCCCAAIAEgCSALamogByACIANBHnciAXNxIAEgAnFzaiAGQQV3aiIDNgIEIAAgCCAKaiACaiAGIAEgBXNxIAEgBXFzaiADQQV3ajYCAAwCC0EAIQMDQCAEQRBqIANqQaHX5/YGNgIAIANBBGoiA0EQRw0ACyAEIAQoAhwgAigCDGo2AgwgBCAEKAIYIAIoAghqNgIIIAQgBCgCFCACKAIEajYCBCAEIAQoAhAgAigCAGo2AgAgBEEYaiABQQhqKQIANwMAIAQgASkCADcDECAAIARBEGogBBAVDAELQQAhAwNAIARBEGogA2pBmfOJ1AU2AgAgA0EEaiIDQRBHDQALIAIoAgwhBiACKAIIIQggAigCBCEFIAQoAhwhCSAEKAIYIQogBCgCFCELIAAgBCgCECACKAIAaiABKAIAIgNBBXdqIAEoAgQiDCABKAIMIgIgASgCCCIBc3EgAnNqIgdBHnciDTYCDCAAIAIgBSALamogASADIAEgDEEedyICc3FzaiAHQQV3aiIFQR53NgIIIAAgASAIIApqaiAHIAIgA0EedyIBc3EgAnNqIAVBBXdqIgM2AgQgACAGIAlqIAJqIAUgASANc3EgAXNqIANBBXdqNgIACyAEQSBqJAALnwcBBX8gAEEIayIBIABBBGsoAgAiA0F4cSIAaiECAkACQAJAIANBAXENACADQQNxRQ0BIAEoAgAiAyAAaiEAIAEgA2siAUHQkMAAKAIARgRAIAIoAgRBA3FBA0cNAUHIkMAAIAA2AgAgAiACKAIEQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgAPCyADQYACTwRAIAEQEAwBCyABQQxqKAIAIgQgAUEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBwJDAAEHAkMAAKAIAQX4gA0EDdndxNgIACwJAIAIoAgQiA0ECcQRAIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIADAELAkACQAJAQdSQwAAoAgAgAkcEQCACQdCQwAAoAgBHDQFB0JDAACABNgIAQciQwABByJDAACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPC0HUkMAAIAE2AgBBzJDAAEHMkMAAKAIAIABqIgA2AgAgASAAQQFyNgIEIAFB0JDAACgCAEYNAQwCCyADQXhxIgQgAGohAAJAIARBgAJPBEAgAhAQDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0HAkMAAQcCQwAAoAgBBfiADQQN2d3E2AgALIAEgAEEBcjYCBCAAIAFqIAA2AgAgAUHQkMAAKAIARw0CQciQwAAgADYCAAwDC0HIkMAAQQA2AgBB0JDAAEEANgIAC0HgkMAAKAIAIgMgAE8NAUHUkMAAKAIAIgJFDQFBACEBAkBBzJDAACgCACIEQSlJDQBBqI7AACEAA0AgAiAAKAIAIgVPBEAgBSAAKAIEaiACSw0CCyAAKAIIIgANAAsLQbCOwAAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtB6JDAAEH/HyABIAFB/x9NGzYCACADIARPDQFB4JDAAEF/NgIADwsgAEGAAkkNASABIAAQEUEAIQFB6JDAAEHokMAAKAIAQQFrIgA2AgAgAA0AQbCOwAAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtB6JDAAEH/HyABIAFB/x9NGzYCAA8LDwsgAEF4cUG4jsAAaiECAn9BwJDAACgCACIDQQEgAEEDdnQiAHEEQCACKAIIDAELQcCQwAAgACADcjYCACACCyEAIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCAvwBQEGfwJAAkACQAJAAkAgAkEJTwRAIAMgAhAOIgINAUEADwtBACECIANBzP97Sw0CQRAgA0ELakF4cSADQQtJGyEBIABBBGsiBSgCACIGQXhxIQQCQAJAAkACQCAGQQNxBEAgAEEIayEIIAEgBE0NASAEIAhqIgdB1JDAACgCAEYNAiAHQdCQwAAoAgBGDQMgBygCBCIGQQJxDQYgBkF4cSIJIARqIgQgAU8NBAwGCyABQYACSSAEIAFBBHJJciAEIAFrQYGACE9yDQUMCAsgBCABayICQRBJDQcgBSAGQQFxIAFyQQJyNgIADAYLQcyQwAAoAgAgBGoiBCABTQ0DIAUgBkEBcSABckECcjYCACABIAhqIgIgBCABayIBQQFyNgIEQcyQwAAgATYCAEHUkMAAIAI2AgAMBgtByJDAACgCACAEaiIEIAFJDQICQCAEIAFrIgNBD00EQCAFIAZBAXEgBHJBAnI2AgAgBCAIaiIBIAEoAgRBAXI2AgRBACEDDAELIAUgBkEBcSABckECcjYCACABIAhqIgIgA0EBcjYCBCACIANqIgEgAzYCACABIAEoAgRBfnE2AgQLQdCQwAAgAjYCAEHIkMAAIAM2AgAMBQsgBCABayECAkAgCUGAAk8EQCAHEBAMAQsgB0EMaigCACIDIAdBCGooAgAiB0cEQCAHIAM2AgwgAyAHNgIIDAELQcCQwABBwJDAACgCAEF+IAZBA3Z3cTYCAAsgAkEQTwRAIAUgBSgCAEEBcSABckECcjYCAAwECyAFIAUoAgBBAXEgBHJBAnI2AgAgBCAIaiIBIAEoAgRBAXI2AgQMBAsgAiAAIAEgAyABIANJGxAsGiAAEAgMAQsgAxAAIgFFDQAgASAAQXxBeCAFKAIAIgFBA3EbIAFBeHFqIgEgAyABIANJGxAsIQEgABAIIAEPCyACDwsgASAIaiIBIAJBA3I2AgQgASACaiIDIAMoAgRBAXI2AgQgASACEAsLIAAL/gQBC38jAEEwayICJAAgAkEDOgAoIAJCgICAgIAENwMgIAJBADYCGCACQQA2AhAgAkGkgcAANgIMIAIgADYCCAJ/AkACQCABKAIAIgpFBEAgAUEUaigCACIARQ0BIAEoAhAhAyAAQQN0IQUgAEEBa0H/////AXFBAWohByABKAIIIQADQCAAQQRqKAIAIgQEQCACKAIIIAAoAgAgBCACKAIMKAIMEQEADQQLIAMoAgAgAkEIaiADQQRqKAIAEQAADQMgA0EIaiEDIABBCGohACAFQQhrIgUNAAsMAQsgASgCBCIARQ0AIABBBXQhCyAAQQFrQf///z9xQQFqIQcgASgCCCEAA0AgAEEEaigCACIDBEAgAigCCCAAKAIAIAMgAigCDCgCDBEBAA0DCyACIAUgCmoiBEEcai0AADoAKCACIARBFGopAgA3AyAgBEEQaigCACEGIAEoAhAhCEEAIQlBACEDAkACQAJAIARBDGooAgBBAWsOAgACAQsgBkEDdCAIaiIMQQRqKAIAQQJHDQEgDCgCACgCACEGC0EBIQMLIAIgBjYCFCACIAM2AhAgBEEIaigCACEDAkACQAJAIARBBGooAgBBAWsOAgACAQsgA0EDdCAIaiIGQQRqKAIAQQJHDQEgBigCACgCACEDC0EBIQkLIAIgAzYCHCACIAk2AhggCCAEKAIAQQN0aiIDKAIAIAJBCGogAygCBBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAFBDGooAgAgB0sEQCACKAIIIAEoAgggB0EDdGoiACgCACAAKAIEIAIoAgwoAgwRAQANAQtBAAwBC0EBCyEAIAJBMGokACAAC44FAQR/IAAgAWohAgJAAkACQCAAKAIEIgNBAXENACADQQNxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEHQkMAAKAIARgRAIAIoAgRBA3FBA0cNAUHIkMAAIAE2AgAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAPCyADQYACTwRAIAAQEAwBCyAAQQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBwJDAAEHAkMAAKAIAQX4gA0EDdndxNgIACyACKAIEIgNBAnEEQCACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAwCCwJAQdSQwAAoAgAgAkcEQCACQdCQwAAoAgBHDQFB0JDAACAANgIAQciQwABByJDAACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPC0HUkMAAIAA2AgBBzJDAAEHMkMAAKAIAIAFqIgE2AgAgACABQQFyNgIEIABB0JDAACgCAEcNAUHIkMAAQQA2AgBB0JDAAEEANgIADwsgA0F4cSIEIAFqIQECQCAEQYACTwRAIAIQEAwBCyACQQxqKAIAIgQgAkEIaigCACICRwRAIAIgBDYCDCAEIAI2AggMAQtBwJDAAEHAkMAAKAIAQX4gA0EDdndxNgIACyAAIAFBAXI2AgQgACABaiABNgIAIABB0JDAACgCAEcNAUHIkMAAIAE2AgALDwsgAUGAAk8EQCAAIAEQEQ8LIAFBeHFBuI7AAGohAgJ/QcCQwAAoAgAiA0EBIAFBA3Z0IgFxBEAgAigCCAwBC0HAkMAAIAEgA3I2AgAgAgshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggLmgQCBX8EfiMAQaABayIDJAAgACkDACEJIAEgAS0AQCIEaiIFQYABOgAAIANBEGogAEEYaigCADYCACADQQhqIABBEGopAgA3AwAgAyAAKQIINwMAIAlCCYYgBK0iCkIDhoQiCEIIiEKAgID4D4MgCEIYiEKAgPwHg4QgCEIoiEKA/gODIAhCOIiEhCELIARBP3MiAARAIAVBAWogABAtGgsgCEIohkKAgICAgIDA/wCDIApCO4aEIAlCIYZCgICAgIDgP4MgCUIRhkKAgICA8B+DhIQgC4QhCAJAIARBOHFBOEcEQCABIAg3ADggAyABQQEQAQwBCyADIAFBARABIANB2ABqIgBBwAAQLRogA0EYaiIEIABBOBAsGiADIAg3A1AgAyAEQQEQAQsgAUEAOgBAIANBJGpCgICAgMAANwIAIAMgAjYCGCADQRQ2AhwgAyACQRRqNgIgIANB2ABqIANBGGogA0EUaiADEBgCQAJAIAMoAmAiASADKAJkIgBPDQAgACABayECIAMoAlwgAUECdGohACADKAJsIgYgASADKAJ8IgRsaiEBIARBBEYhBwNAIAZFDQEgAyAAKAIAIgVBGHQgBUEIdEGAgPwHcXIgBUEIdkGA/gNxIAVBGHZycjYCGCAHRQ0CIAEgAygCGDYAACAAQQRqIQAgASAEaiEBIAJBAWsiAg0ACwsgA0GgAWokAA8LIAQQGQALhwQBCH8gASgCBCIFBEAgASgCACEEA0ACQCADQQFqIQICfyACIAMgBGotAAAiCMAiCUEATg0AGgJAAkACQAJAAkACQAJAIAhBnIfAAGotAABBAmsOAwABAggLQZWEwAAgAiAEaiACIAVPGy0AAEHAAXFBgAFHDQcgA0ECagwGC0GVhMAAIAIgBGogAiAFTxssAAAhByAIQeABayIGRQ0BIAZBDUYNAgwDC0GVhMAAIAIgBGogAiAFTxssAAAhBgJAAkACQAJAIAhB8AFrDgUBAAAAAgALIAlBD2pB/wFxQQJLIAZBQE5yDQgMAgsgBkHwAGpB/wFxQTBPDQcMAQsgBkGPf0oNBgtBlYTAACAEIANBAmoiAmogAiAFTxstAABBwAFxQYABRw0FQZWEwAAgBCADQQNqIgJqIAIgBU8bLQAAQcABcUGAAUcNBSADQQRqDAQLIAdBYHFBoH9HDQQMAgsgB0Ggf04NAwwBCyAJQR9qQf8BcUEMTwRAIAlBfnFBbkcgB0FATnINAwwBCyAHQb9/Sg0CC0GVhMAAIAQgA0ECaiICaiACIAVPGy0AAEHAAXFBgAFHDQEgA0EDagsiAyICIAVJDQELCyAAIAM2AgQgACAENgIAIAEgBSACazYCBCABIAIgBGo2AgAgACACIANrNgIMIAAgAyAEajYCCA8LIABBADYCAAv2AgEFfwJAAkAgAUEJTwRAQc3/e0EQIAEgAUEQTRsiAWsgAE0NASABQRAgAEELakF4cSAAQQtJGyIEakEMahAAIgJFDQEgAkEIayEAAkAgAUEBayIDIAJxRQRAIAAhAQwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAWtxQQhrIgIgAUEAIAIgAGtBEE0baiIBIABrIgJrIQMgBkEDcQRAIAEgASgCBEEBcSADckECcjYCBCABIANqIgMgAygCBEEBcjYCBCAFIAUoAgBBAXEgAnJBAnI2AgAgACACaiIDIAMoAgRBAXI2AgQgACACEAsMAQsgACgCACEAIAEgAzYCBCABIAAgAmo2AgALIAEoAgQiAEEDcUUNAiAAQXhxIgIgBEEQak0NAiABIABBAXEgBHJBAnI2AgQgASAEaiIAIAIgBGsiBEEDcjYCBCABIAJqIgIgAigCBEEBcjYCBCAAIAQQCwwCCyAAEAAhAwsgAw8LIAFBCGoLhwQBBX8jAEEQayIDJAAgACgCACEAAkAgAUH/AE0EQCAAKAIIIgIgACgCAEYEQCMAQSBrIgQkAAJAAkAgAkEBaiICRQ0AQQggACgCACIFQQF0IgYgAiACIAZJGyICIAJBCE0bIgJBf3NBH3YhBgJAIAUEQCAEQQE2AhggBCAFNgIUIAQgAEEEaigCADYCEAwBCyAEQQA2AhgLIAQgAiAGIARBEGoQFiAEKAIARQRAIAQoAgQhBSAAIAI2AgAgACAFNgIEDAILIARBCGooAgAiAkGBgICAeEYNASACRQ0AAAsQIAALIARBIGokACAAKAIIIQILIAAgAkEBajYCCCAAKAIEIAJqIAE6AAAMAQsgA0EANgIMAn8gAUGAEE8EQCABQYCABE8EQCADIAFBP3FBgAFyOgAPIAMgAUEGdkE/cUGAAXI6AA4gAyABQQx2QT9xQYABcjoADSADIAFBEnZBB3FB8AFyOgAMQQQMAgsgAyABQT9xQYABcjoADiADIAFBDHZB4AFyOgAMIAMgAUEGdkE/cUGAAXI6AA1BAwwBCyADIAFBP3FBgAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCICa0sEQCAAIAIgARATIAAoAgghAgsgACgCBCACaiADQQxqIAEQLBogACABIAJqNgIICyADQRBqJABBAAu5AgEFfyAAKAIYIQMCQAJAIAAgACgCDCIBRgRAIABBFEEQIABBFGoiASgCACIEG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgATYCDCABIAI2AggMAQsgASAAQRBqIAQbIQQDQCAEIQUgAiIBQRRqIgIgAUEQaiACKAIAIgIbIQQgAUEUQRAgAhtqKAIAIgINAAsgBUEANgIACwJAIANFDQACQCAAIAAoAhxBAnRBqI3AAGoiAigCAEcEQCADQRBBFCADKAIQIABGG2ogATYCACABRQ0CDAELIAIgATYCACABDQBBxJDAAEHEkMAAKAIAQX4gACgCHHdxNgIADwsgASADNgIYIAAoAhAiAgRAIAEgAjYCECACIAE2AhgLIABBFGooAgAiAEUNACABQRRqIAA2AgAgACABNgIYCwuwAgEEf0EfIQIgAEIANwIQIAFB////B00EQCABQQYgAUEIdmciA2t2QQFxIANBAXRrQT5qIQILIAAgAjYCHCACQQJ0QaiNwABqIQQCQAJAAkACQEHEkMAAKAIAIgVBASACdCIDcQRAIAQoAgAiAygCBEF4cSABRw0BIAMhAgwCC0HEkMAAIAMgBXI2AgAgBCAANgIAIAAgBDYCGAwDCyABQRkgAkEBdmtBH3FBACACQR9HG3QhBANAIAMgBEEddkEEcWpBEGoiBSgCACICRQ0CIARBAXQhBCACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBSAANgIAIAAgAzYCGAsgACAANgIMIAAgADYCCAv8AQEDfyMAQTBrIgYkACAGIAI2AiggBiABNgIkIAYgAjYCICAGQQhqIAZBIGoiARAcIAEgBigCCCICIAYoAgwiBxADIAYoAiQiAQRAIAYoAiAhCCAGQRBqIAEgBigCKEJ/An4gAyAFt6OcIgNEAAAAAAAA8ENjIANEAAAAAAAAAABmIgVxBEAgA7EMAQtCAAtCACAFGyADRP///////+9DZBsgBBAEIAgEQCABEAgLIAcEQCACEAgLIAZBKGogBkEYaigCADYCACAGIAYpAxA3AyAgBiAGQSBqEBwgACAGKQMANwMAIAZBMGokAA8LQeSKwABBK0HogMAAEB4AC8MBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgAiAkEBdCIEIAEgASAESRsiASABQQhNGyIBQX9zQR92IQQCQCACBEAgA0EBNgIYIAMgAjYCFCADIABBBGooAgA2AhAMAQsgA0EANgIYCyADIAEgBCADQRBqEBYgAygCAEUEQCADKAIEIQIgACABNgIAIAAgAjYCBAwCCyADQQhqKAIAIgBBgYCAgHhGDQEgAEUNAAALECAACyADQSBqJAALwwIBA38jAEEgayICJAACQAJAIAFBAWoiA0UNAEEIIAAoAgAiBEEBdCIBIAMgASADSxsiASABQQhNGyIBQX9zQR92IQMCQCAEBEAgAkEBNgIYIAIgBDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACQRBqIQQgAgJ/An8CQAJAIAMEQAJAIAFBAE4EQCAEKAIIDQEMBAsMAgsgBCgCBCIDRQ0CIAQoAgAgA0EBIAEQCQwDCyACIAE2AgQLIAJBCGpBADYCAEEBDAILIAEQAAsiAwRAIAIgAzYCBCACQQhqIAE2AgBBAAwBCyACIAE2AgQgAkEIakEBNgIAQQELNgIAIAIoAgBFBEAgAigCBCEDIAAgATYCACAAIAM2AgQMAgsgAkEIaigCACIAQYGAgIB4Rg0BIABFDQAACxAgAAsgAkEgaiQAC50BAQV/IAAgAigCACABKAIMIgMgASgCCCIEIAEoAgQiBXNzIAEoAgAiAUEFd2pqIgZBHnciBzYCDCAAIAIoAgQgAyAEIAEgBUEedyIFc3NqaiAGQQV3aiIDQR53NgIIIAAgBCACKAIIaiAFIAFBHnciAXMgBnNqIANBBXdqIgQ2AgQgACACKAIMIAVqIAEgB3MgA3NqIARBBXdqNgIAC5IBAAJ/AkACQCACBEACQCABQQBOBEAgAygCCA0BDAQLDAILIAMoAgQiAkUNAiADKAIAIAJBASABEAkMAwsgACABNgIECyAAQQhqQQA2AgAgAEEBNgIADwsgARAACyICBEAgACACNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIakEBNgIAIABBATYCAAuEAQEBfyMAQTBrIgUkACAFIAI2AiggBSABNgIkIAUgAjYCICAFQQhqIAVBIGoQHCAFQRBqIAUoAggiASAFKAIMIgIgAyAEEAQgAgRAIAEQCAsgBUEoaiAFQRhqKAIANgIAIAUgBSkDEDcDICAFIAVBIGoQHCAAIAUpAwA3AwAgBUEwaiQAC4MBAQF/IAEoAhAiBEUEQEGgjMAAQRlBjIzAABAeAAsgAEEANgIIIAAgAzYCBCAAIAI2AgAgACABKQIANwIUIABBHGogAUEIaikCADcCACAAQSRqIAFBEGooAgA2AgAgACABKAIEIARuIgE2AhAgACABIAIgA2tBAnYiACAAIAFLGzYCDAt5AQF/IwBBMGsiASQAIAFBBDYCBCABIAA2AgAgAUEUakEDNgIAIAFBHGpBAjYCACABQSxqQQE2AgAgAUGEh8AANgIQIAFBADYCCCABQQE2AiQgASABQSBqNgIYIAEgATYCKCABIAFBBGo2AiAgAUEIakGQjcAAECMAC3YBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQQI2AgAgA0EcakECNgIAIANBLGpBATYCACADQciEwAA2AhAgA0EANgIIIANBATYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQIwALWAEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEaiACQQhqEAohACACQSBqJAAgAAtjAQN/AkAgASgCACIEIAEoAggiA0sEQCABKAIEIQICQCADRQRAIAIQCEEBIQIMAQsgAiAEQQEgAxAJIgJFDQILIAEgAzYCACABIAI2AgQLIAAgAzYCBCAAIAEoAgQ2AgAPCwALWAEBf0GkjcAAQaSNwAAoAgAiAUEBajYCAAJAIAFBAEgNAEHskMAAQeyQwAAoAgBBAWoiATYCACABQQJLDQAgAEVBoI3AACgCAEEASCABQQFLcnINAAALAAtRAQF/IwBBIGsiAyQAIANBDGpBATYCACADQRRqQQA2AgAgA0G8jMAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQIwALRgEBfyACIAAoAgAiACgCACAAKAIIIgNrSwRAIAAgAyACEBMgACgCCCEDCyAAKAIEIANqIAEgAhAsGiAAIAIgA2o2AghBAAtJAQF/IwBBIGsiACQAIABBFGpBATYCACAAQRxqQQA2AgAgAEHsgcAANgIQIABBvIzAADYCGCAAQQA2AgggAEEIakH0gcAAECMACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADQQAgASgCDBEBAAs1AQF/AkAgAUUEQEEBIQIMAQsgAUEATgRAIAEQACICDQEACxAgAAsgACACNgIEIAAgATYCAAuyAQEBfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQdiEwAA2AgwgAkG8jMAANgIIIwBBEGsiACQAIAJBCGoiASgCCCICRQRAQeSKwABBK0Gsi8AAEB4ACyAAIAEoAgw2AgggACABNgIEIAAgAjYCACAAKAIAIgFBFGooAgAhAgJAAkAgAUEMaigCAA4CAAABCyACDQAgACgCBC0AEBAdAAsgACgCBC0AEBAdAAsyAAJAIABB/P///wdLDQAgAEUEQEEEDwsgACAAQf3///8HSUECdBAOIgBFDQAgAA8LAAsiAAJAIAFB/P///wdNBEAgACABQQQgAhAJIgANAQsACyAACxkAIAEoAgBBnInAAEEFIAEoAgQoAgwRAQALFAAgACgCACABIAAoAgQoAgwRAAAL8Q4BDX8CfyAAKAIAIQQgACgCBCEGAkACQCABIgcoAggiCkEBRyABKAIQIgBBAUdxRQRAAkAgAEEBRw0AIAQgBmohCCAHQRRqKAIAQQFqIQUgBCEBA0ACQCABIQAgBUEBayIFRQ0AIAAgCEYNAgJ/IAAsAAAiAUEATgRAIAFB/wFxIQIgAEEBagwBCyAALQABQT9xIQkgAUEfcSECIAFBX00EQCACQQZ0IAlyIQIgAEECagwBCyAALQACQT9xIAlBBnRyIQkgAUFwSQRAIAkgAkEMdHIhAiAAQQNqDAELIAJBEnRBgIDwAHEgAC0AA0E/cSAJQQZ0cnIiAkGAgMQARg0DIABBBGoLIgEgAyAAa2ohAyACQYCAxABHDQEMAgsLIAAgCEYNACAALAAAIgFBAE4gAUFgSXIgAUFwSXJFBEAgAUH/AXFBEnRBgIDwAHEgAC0AA0E/cSAALQACQT9xQQZ0IAAtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIANFDQAgAyAGTwRAQQAhACADIAZGDQEMAgtBACEAIAMgBGosAABBQEgNAQsgBCEACyADIAYgABshBiAAIAQgABshBAsgCkUNAiAHQQxqKAIAIQsCQAJAAkACQCAGQRBPBEAgBiAEQQNqQXxxIgAgBGsiCEkgCEEES3INAyAGIAhrIglBBEkNAyAJQQNxIQpBACEDQQAhAQJAIAAgBEYNACAIQQNxIQICQCAAIARBf3NqQQNJBEAgBCEADAELIAhBfHEhBSAEIQADQCABIAAsAABBv39KaiAALAABQb9/SmogACwAAkG/f0pqIAAsAANBv39KaiEBIABBBGohACAFQQRrIgUNAAsLIAJFDQADQCABIAAsAABBv39KaiEBIABBAWohACACQQFrIgINAAsLIAQgCGohAAJAIApFDQAgACAJQXxxaiICLAAAQb9/SiEDIApBAUYNACADIAIsAAFBv39KaiEDIApBAkYNACADIAIsAAJBv39KaiEDCyAJQQJ2IQUgASADaiEBA0AgACEDIAVFDQVBwAEgBSAFQcABTxsiCEEDcSEJIAhBAnQhDAJAIAhB/AFxIgpFBEBBACECDAELIAMgCkECdGohDUEAIQIDQCAARQ0BIAIgACgCACIOQX9zQQd2IA5BBnZyQYGChAhxaiAAQQRqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBCGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEMaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIABBEGoiACANRw0ACwsgBSAIayEFIAMgDGohACACQQh2Qf+B/AdxIAJB/4H8B3FqQYGABGxBEHYgAWohASAJRQ0ACyADRQRAQQAhAgwDCyADIApBAnRqIQAgCUEBa0H/////A3EiA0EBaiICQQNxIQUgA0EDSQRAQQAhAgwCCyACQfz///8HcSEDQQAhAgNAIAIgACgCACIIQX9zQQd2IAhBBnZyQYGChAhxaiAAQQRqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBCGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEMaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIABBEGohACADQQRrIgMNAAsMAQsgBkUEQEEAIQEMBAsgBkEDcSECAkAgBkEBa0EDSQRAQQAhASAEIQAMAQsgBkF8cSEFQQAhASAEIQADQCABIAAsAABBv39KaiAALAABQb9/SmogACwAAkG/f0pqIAAsAANBv39KaiEBIABBBGohACAFQQRrIgUNAAsLIAJFDQMDQCABIAAsAABBv39KaiEBIABBAWohACACQQFrIgINAAsMAwsgBUUNAANAIAAoAgAiA0F/c0EHdiADQQZ2ckGBgoQIcSACaiECIABB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ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5c291cmNlIHNsaWNlIGxlbmd0aCAoKSBkb2VzIG5vdCBtYXRjaCBkZXN0aW5hdGlvbiBzbGljZSBsZW5ndGggKEQDEAAVAAAAWQMQACsAAAAUAhAAAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEHeiMAACzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQAQZyJwAALgQRFcnJvcmludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAChBBAAKgAAAHVua25vd24gaWNvc2Fyb3VuZCBpbmRleNQEEAAYAAAAL2hvbWUvbmVjdGFyLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3NoYS0xLTAuMTAuMS9zcmMvY29tcHJlc3Mvc29mdC5ycwAA9AQQAF4AAAA5AAAADgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAI8FEAAcAAAAQgIAAB4AAAAvcnVzdGMvODRjODk4ZDY1YWRmMmYzOWE1YTk4NTA3ZjFmZTBjZTEwYTJiOGRiYy9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL2l0ZXIucnMAALwFEABOAAAA9wcAABEAAAAAAAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwAAAC9ob21lL25lY3Rhci8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zaGEtMS0wLjEwLjEvc3JjL2xpYi5yczwGEABUAAAAcQAAABM="; 3 | -------------------------------------------------------------------------------- /examples/browser/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@types/node': ^18.7.16 5 | '@vitejs/plugin-vue': ^3.1.0 6 | '@vueuse/components': ^9.2.0 7 | naive-ui: ^2.33.2 8 | qrcode.vue: ^3.3.3 9 | sass: ^1.54.9 10 | typescript: ^4.6.4 11 | unplugin-auto-import: ^0.11.2 12 | unplugin-vue-components: ^0.22.4 13 | vite: ^3.1.0 14 | vite-svg-loader: ^3.6.0 15 | vue: ^3.2.37 16 | vue-tsc: ^0.40.4 17 | 18 | dependencies: 19 | '@vueuse/components': 9.2.0_vue@3.2.39 20 | qrcode.vue: 3.3.3_vue@3.2.39 21 | vue: 3.2.39 22 | 23 | devDependencies: 24 | '@types/node': 18.7.16 25 | '@vitejs/plugin-vue': 3.1.0_vite@3.1.0+vue@3.2.39 26 | naive-ui: 2.33.2_vue@3.2.39 27 | sass: 1.54.9 28 | typescript: 4.8.3 29 | unplugin-auto-import: 0.11.2_vite@3.1.0 30 | unplugin-vue-components: 0.22.4_vite@3.1.0+vue@3.2.39 31 | vite: 3.1.0_sass@1.54.9 32 | vite-svg-loader: 3.6.0 33 | vue-tsc: 0.40.13_typescript@4.8.3 34 | 35 | packages: 36 | 37 | /@antfu/utils/0.5.2: 38 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} 39 | dev: true 40 | 41 | /@babel/helper-string-parser/7.18.10: 42 | resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} 43 | engines: {node: '>=6.9.0'} 44 | 45 | /@babel/helper-validator-identifier/7.18.6: 46 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 47 | engines: {node: '>=6.9.0'} 48 | 49 | /@babel/parser/7.19.0: 50 | resolution: {integrity: sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==} 51 | engines: {node: '>=6.0.0'} 52 | hasBin: true 53 | dependencies: 54 | '@babel/types': 7.19.0 55 | 56 | /@babel/types/7.19.0: 57 | resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==} 58 | engines: {node: '>=6.9.0'} 59 | dependencies: 60 | '@babel/helper-string-parser': 7.18.10 61 | '@babel/helper-validator-identifier': 7.18.6 62 | to-fast-properties: 2.0.0 63 | 64 | /@css-render/plugin-bem/0.15.11_css-render@0.15.11: 65 | resolution: {integrity: sha512-Bn8qadYPIz5DhZ4obTGHOJzeziQH6kY0+Fk5AEvwuuy378SLwwvXuuoechLjBHcgKkPCM03Oo4dDSGP/6NMdyw==} 66 | peerDependencies: 67 | css-render: ~0.15.11 68 | dependencies: 69 | css-render: 0.15.11 70 | dev: true 71 | 72 | /@css-render/vue3-ssr/0.15.11_vue@3.2.39: 73 | resolution: {integrity: sha512-n+SuqLPbY30FUTM8slX75OaEG+c8XlTOFrAklekX2XQGvBbz9XdBE6hTEgGlV5kPcTMqTJeCG7Vzhs9/29VC7w==} 74 | peerDependencies: 75 | vue: ^3.0.11 76 | dependencies: 77 | vue: 3.2.39 78 | dev: true 79 | 80 | /@emotion/hash/0.8.0: 81 | resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} 82 | dev: true 83 | 84 | /@esbuild/linux-loong64/0.15.7: 85 | resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==} 86 | engines: {node: '>=12'} 87 | cpu: [loong64] 88 | os: [linux] 89 | requiresBuild: true 90 | dev: true 91 | optional: true 92 | 93 | /@juggle/resize-observer/3.4.0: 94 | resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} 95 | dev: true 96 | 97 | /@nodelib/fs.scandir/2.1.5: 98 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 99 | engines: {node: '>= 8'} 100 | dependencies: 101 | '@nodelib/fs.stat': 2.0.5 102 | run-parallel: 1.2.0 103 | dev: true 104 | 105 | /@nodelib/fs.stat/2.0.5: 106 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 107 | engines: {node: '>= 8'} 108 | dev: true 109 | 110 | /@nodelib/fs.walk/1.2.8: 111 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 112 | engines: {node: '>= 8'} 113 | dependencies: 114 | '@nodelib/fs.scandir': 2.1.5 115 | fastq: 1.13.0 116 | dev: true 117 | 118 | /@rollup/pluginutils/4.2.1: 119 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 120 | engines: {node: '>= 8.0.0'} 121 | dependencies: 122 | estree-walker: 2.0.2 123 | picomatch: 2.3.1 124 | dev: true 125 | 126 | /@trysound/sax/0.2.0: 127 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} 128 | engines: {node: '>=10.13.0'} 129 | dev: true 130 | 131 | /@types/lodash-es/4.17.6: 132 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} 133 | dependencies: 134 | '@types/lodash': 4.14.184 135 | dev: true 136 | 137 | /@types/lodash/4.14.184: 138 | resolution: {integrity: sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q==} 139 | dev: true 140 | 141 | /@types/node/17.0.45: 142 | resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} 143 | dev: true 144 | 145 | /@types/node/18.7.16: 146 | resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} 147 | dev: true 148 | 149 | /@types/web-bluetooth/0.0.15: 150 | resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==} 151 | dev: false 152 | 153 | /@vitejs/plugin-vue/3.1.0_vite@3.1.0+vue@3.2.39: 154 | resolution: {integrity: sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==} 155 | engines: {node: ^14.18.0 || >=16.0.0} 156 | peerDependencies: 157 | vite: ^3.0.0 158 | vue: ^3.2.25 159 | dependencies: 160 | vite: 3.1.0_sass@1.54.9 161 | vue: 3.2.39 162 | dev: true 163 | 164 | /@volar/code-gen/0.40.13: 165 | resolution: {integrity: sha512-4gShBWuMce868OVvgyA1cU5WxHbjfEme18Tw6uVMfweZCF5fB2KECG0iPrA9D54vHk3FeHarODNwgIaaFfUBlA==} 166 | dependencies: 167 | '@volar/source-map': 0.40.13 168 | dev: true 169 | 170 | /@volar/source-map/0.40.13: 171 | resolution: {integrity: sha512-dbdkAB2Nxb0wLjAY5O64o3ywVWlAGONnBIoKAkXSf6qkGZM+nJxcizsoiI66K+RHQG0XqlyvjDizfnTxr+6PWg==} 172 | dependencies: 173 | '@vue/reactivity': 3.2.38 174 | dev: true 175 | 176 | /@volar/typescript-faster/0.40.13: 177 | resolution: {integrity: sha512-uy+TlcFkKoNlKEnxA4x5acxdxLyVDIXGSc8cYDNXpPKjBKXrQaetzCzlO3kVBqu1VLMxKNGJMTKn35mo+ILQmw==} 178 | dependencies: 179 | semver: 7.3.7 180 | dev: true 181 | 182 | /@volar/vue-language-core/0.40.13: 183 | resolution: {integrity: sha512-QkCb8msi2KUitTdM6Y4kAb7/ZlEvuLcbBFOC2PLBlFuoZwyxvSP7c/dBGmKGtJlEvMX0LdCyrg5V2aBYxD38/Q==} 184 | dependencies: 185 | '@volar/code-gen': 0.40.13 186 | '@volar/source-map': 0.40.13 187 | '@vue/compiler-core': 3.2.39 188 | '@vue/compiler-dom': 3.2.39 189 | '@vue/compiler-sfc': 3.2.39 190 | '@vue/reactivity': 3.2.39 191 | '@vue/shared': 3.2.39 192 | dev: true 193 | 194 | /@volar/vue-typescript/0.40.13: 195 | resolution: {integrity: sha512-o7bNztwjs8JmbQjVkrnbZUOfm7q4B8ZYssETISN1tRaBdun6cfNqgpkvDYd+VUBh1O4CdksvN+5BUNnwAz4oCQ==} 196 | dependencies: 197 | '@volar/code-gen': 0.40.13 198 | '@volar/typescript-faster': 0.40.13 199 | '@volar/vue-language-core': 0.40.13 200 | dev: true 201 | 202 | /@vue/compiler-core/3.2.39: 203 | resolution: {integrity: sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==} 204 | dependencies: 205 | '@babel/parser': 7.19.0 206 | '@vue/shared': 3.2.39 207 | estree-walker: 2.0.2 208 | source-map: 0.6.1 209 | 210 | /@vue/compiler-dom/3.2.39: 211 | resolution: {integrity: sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==} 212 | dependencies: 213 | '@vue/compiler-core': 3.2.39 214 | '@vue/shared': 3.2.39 215 | 216 | /@vue/compiler-sfc/3.2.39: 217 | resolution: {integrity: sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==} 218 | dependencies: 219 | '@babel/parser': 7.19.0 220 | '@vue/compiler-core': 3.2.39 221 | '@vue/compiler-dom': 3.2.39 222 | '@vue/compiler-ssr': 3.2.39 223 | '@vue/reactivity-transform': 3.2.39 224 | '@vue/shared': 3.2.39 225 | estree-walker: 2.0.2 226 | magic-string: 0.25.9 227 | postcss: 8.4.16 228 | source-map: 0.6.1 229 | 230 | /@vue/compiler-ssr/3.2.39: 231 | resolution: {integrity: sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==} 232 | dependencies: 233 | '@vue/compiler-dom': 3.2.39 234 | '@vue/shared': 3.2.39 235 | 236 | /@vue/reactivity-transform/3.2.39: 237 | resolution: {integrity: sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==} 238 | dependencies: 239 | '@babel/parser': 7.19.0 240 | '@vue/compiler-core': 3.2.39 241 | '@vue/shared': 3.2.39 242 | estree-walker: 2.0.2 243 | magic-string: 0.25.9 244 | 245 | /@vue/reactivity/3.2.38: 246 | resolution: {integrity: sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==} 247 | dependencies: 248 | '@vue/shared': 3.2.38 249 | dev: true 250 | 251 | /@vue/reactivity/3.2.39: 252 | resolution: {integrity: sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==} 253 | dependencies: 254 | '@vue/shared': 3.2.39 255 | 256 | /@vue/runtime-core/3.2.39: 257 | resolution: {integrity: sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==} 258 | dependencies: 259 | '@vue/reactivity': 3.2.39 260 | '@vue/shared': 3.2.39 261 | 262 | /@vue/runtime-dom/3.2.39: 263 | resolution: {integrity: sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==} 264 | dependencies: 265 | '@vue/runtime-core': 3.2.39 266 | '@vue/shared': 3.2.39 267 | csstype: 2.6.20 268 | 269 | /@vue/server-renderer/3.2.39_vue@3.2.39: 270 | resolution: {integrity: sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==} 271 | peerDependencies: 272 | vue: 3.2.39 273 | dependencies: 274 | '@vue/compiler-ssr': 3.2.39 275 | '@vue/shared': 3.2.39 276 | vue: 3.2.39 277 | 278 | /@vue/shared/3.2.38: 279 | resolution: {integrity: sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==} 280 | dev: true 281 | 282 | /@vue/shared/3.2.39: 283 | resolution: {integrity: sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==} 284 | 285 | /@vueuse/components/9.2.0_vue@3.2.39: 286 | resolution: {integrity: sha512-NgQRhq5v1LRZsQq21rJlY8VjEqYg5xWiGErBftY+HaBhHsLAn4PxJxtvbe9uZNdOQlRdWM3UPUF6NO/sWfnyWw==} 287 | dependencies: 288 | '@vueuse/core': 9.2.0_vue@3.2.39 289 | '@vueuse/shared': 9.2.0_vue@3.2.39 290 | vue-demi: 0.13.11_vue@3.2.39 291 | transitivePeerDependencies: 292 | - '@vue/composition-api' 293 | - vue 294 | dev: false 295 | 296 | /@vueuse/core/9.2.0_vue@3.2.39: 297 | resolution: {integrity: sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==} 298 | dependencies: 299 | '@types/web-bluetooth': 0.0.15 300 | '@vueuse/metadata': 9.2.0 301 | '@vueuse/shared': 9.2.0_vue@3.2.39 302 | vue-demi: 0.13.11_vue@3.2.39 303 | transitivePeerDependencies: 304 | - '@vue/composition-api' 305 | - vue 306 | dev: false 307 | 308 | /@vueuse/metadata/9.2.0: 309 | resolution: {integrity: sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==} 310 | dev: false 311 | 312 | /@vueuse/shared/9.2.0_vue@3.2.39: 313 | resolution: {integrity: sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==} 314 | dependencies: 315 | vue-demi: 0.13.11_vue@3.2.39 316 | transitivePeerDependencies: 317 | - '@vue/composition-api' 318 | - vue 319 | dev: false 320 | 321 | /acorn/8.8.0: 322 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 323 | engines: {node: '>=0.4.0'} 324 | hasBin: true 325 | dev: true 326 | 327 | /anymatch/3.1.2: 328 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 329 | engines: {node: '>= 8'} 330 | dependencies: 331 | normalize-path: 3.0.0 332 | picomatch: 2.3.1 333 | dev: true 334 | 335 | /async-validator/4.2.5: 336 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} 337 | dev: true 338 | 339 | /balanced-match/1.0.2: 340 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 341 | dev: true 342 | 343 | /binary-extensions/2.2.0: 344 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 345 | engines: {node: '>=8'} 346 | dev: true 347 | 348 | /boolbase/1.0.0: 349 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 350 | dev: true 351 | 352 | /brace-expansion/2.0.1: 353 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 354 | dependencies: 355 | balanced-match: 1.0.2 356 | dev: true 357 | 358 | /braces/3.0.2: 359 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 360 | engines: {node: '>=8'} 361 | dependencies: 362 | fill-range: 7.0.1 363 | dev: true 364 | 365 | /chokidar/3.5.3: 366 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 367 | engines: {node: '>= 8.10.0'} 368 | dependencies: 369 | anymatch: 3.1.2 370 | braces: 3.0.2 371 | glob-parent: 5.1.2 372 | is-binary-path: 2.1.0 373 | is-glob: 4.0.3 374 | normalize-path: 3.0.0 375 | readdirp: 3.6.0 376 | optionalDependencies: 377 | fsevents: 2.3.2 378 | dev: true 379 | 380 | /commander/7.2.0: 381 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 382 | engines: {node: '>= 10'} 383 | dev: true 384 | 385 | /css-render/0.15.11: 386 | resolution: {integrity: sha512-hnLrHPUndVUTF5nmNPRey6hpixK02IPUGdEsm2xRjvJuewToyrVFx9Nmai8rgfVzhTFo5SJVh2PHAtzaIV8JKw==} 387 | dependencies: 388 | '@emotion/hash': 0.8.0 389 | '@types/node': 17.0.45 390 | csstype: 3.0.11 391 | dev: true 392 | 393 | /css-select/4.3.0: 394 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} 395 | dependencies: 396 | boolbase: 1.0.0 397 | css-what: 6.1.0 398 | domhandler: 4.3.1 399 | domutils: 2.8.0 400 | nth-check: 2.1.1 401 | dev: true 402 | 403 | /css-tree/1.1.3: 404 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 405 | engines: {node: '>=8.0.0'} 406 | dependencies: 407 | mdn-data: 2.0.14 408 | source-map: 0.6.1 409 | dev: true 410 | 411 | /css-what/6.1.0: 412 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 413 | engines: {node: '>= 6'} 414 | dev: true 415 | 416 | /csso/4.2.0: 417 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} 418 | engines: {node: '>=8.0.0'} 419 | dependencies: 420 | css-tree: 1.1.3 421 | dev: true 422 | 423 | /csstype/2.6.20: 424 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} 425 | 426 | /csstype/3.0.11: 427 | resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} 428 | dev: true 429 | 430 | /date-fns-tz/1.3.7_date-fns@2.29.2: 431 | resolution: {integrity: sha512-1t1b8zyJo+UI8aR+g3iqr5fkUHWpd58VBx8J/ZSQ+w7YrGlw80Ag4sA86qkfCXRBLmMc4I2US+aPMd4uKvwj5g==} 432 | peerDependencies: 433 | date-fns: '>=2.0.0' 434 | dependencies: 435 | date-fns: 2.29.2 436 | dev: true 437 | 438 | /date-fns/2.29.2: 439 | resolution: {integrity: sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA==} 440 | engines: {node: '>=0.11'} 441 | dev: true 442 | 443 | /debug/4.3.4: 444 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 445 | engines: {node: '>=6.0'} 446 | peerDependencies: 447 | supports-color: '*' 448 | peerDependenciesMeta: 449 | supports-color: 450 | optional: true 451 | dependencies: 452 | ms: 2.1.2 453 | dev: true 454 | 455 | /dom-serializer/1.4.1: 456 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} 457 | dependencies: 458 | domelementtype: 2.3.0 459 | domhandler: 4.3.1 460 | entities: 2.2.0 461 | dev: true 462 | 463 | /domelementtype/2.3.0: 464 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 465 | dev: true 466 | 467 | /domhandler/4.3.1: 468 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} 469 | engines: {node: '>= 4'} 470 | dependencies: 471 | domelementtype: 2.3.0 472 | dev: true 473 | 474 | /domutils/2.8.0: 475 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 476 | dependencies: 477 | dom-serializer: 1.4.1 478 | domelementtype: 2.3.0 479 | domhandler: 4.3.1 480 | dev: true 481 | 482 | /entities/2.2.0: 483 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 484 | dev: true 485 | 486 | /esbuild-android-64/0.15.7: 487 | resolution: {integrity: sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==} 488 | engines: {node: '>=12'} 489 | cpu: [x64] 490 | os: [android] 491 | requiresBuild: true 492 | dev: true 493 | optional: true 494 | 495 | /esbuild-android-arm64/0.15.7: 496 | resolution: {integrity: sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==} 497 | engines: {node: '>=12'} 498 | cpu: [arm64] 499 | os: [android] 500 | requiresBuild: true 501 | dev: true 502 | optional: true 503 | 504 | /esbuild-darwin-64/0.15.7: 505 | resolution: {integrity: sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==} 506 | engines: {node: '>=12'} 507 | cpu: [x64] 508 | os: [darwin] 509 | requiresBuild: true 510 | dev: true 511 | optional: true 512 | 513 | /esbuild-darwin-arm64/0.15.7: 514 | resolution: {integrity: sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==} 515 | engines: {node: '>=12'} 516 | cpu: [arm64] 517 | os: [darwin] 518 | requiresBuild: true 519 | dev: true 520 | optional: true 521 | 522 | /esbuild-freebsd-64/0.15.7: 523 | resolution: {integrity: sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==} 524 | engines: {node: '>=12'} 525 | cpu: [x64] 526 | os: [freebsd] 527 | requiresBuild: true 528 | dev: true 529 | optional: true 530 | 531 | /esbuild-freebsd-arm64/0.15.7: 532 | resolution: {integrity: sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==} 533 | engines: {node: '>=12'} 534 | cpu: [arm64] 535 | os: [freebsd] 536 | requiresBuild: true 537 | dev: true 538 | optional: true 539 | 540 | /esbuild-linux-32/0.15.7: 541 | resolution: {integrity: sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==} 542 | engines: {node: '>=12'} 543 | cpu: [ia32] 544 | os: [linux] 545 | requiresBuild: true 546 | dev: true 547 | optional: true 548 | 549 | /esbuild-linux-64/0.15.7: 550 | resolution: {integrity: sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==} 551 | engines: {node: '>=12'} 552 | cpu: [x64] 553 | os: [linux] 554 | requiresBuild: true 555 | dev: true 556 | optional: true 557 | 558 | /esbuild-linux-arm/0.15.7: 559 | resolution: {integrity: sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==} 560 | engines: {node: '>=12'} 561 | cpu: [arm] 562 | os: [linux] 563 | requiresBuild: true 564 | dev: true 565 | optional: true 566 | 567 | /esbuild-linux-arm64/0.15.7: 568 | resolution: {integrity: sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==} 569 | engines: {node: '>=12'} 570 | cpu: [arm64] 571 | os: [linux] 572 | requiresBuild: true 573 | dev: true 574 | optional: true 575 | 576 | /esbuild-linux-mips64le/0.15.7: 577 | resolution: {integrity: sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==} 578 | engines: {node: '>=12'} 579 | cpu: [mips64el] 580 | os: [linux] 581 | requiresBuild: true 582 | dev: true 583 | optional: true 584 | 585 | /esbuild-linux-ppc64le/0.15.7: 586 | resolution: {integrity: sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==} 587 | engines: {node: '>=12'} 588 | cpu: [ppc64] 589 | os: [linux] 590 | requiresBuild: true 591 | dev: true 592 | optional: true 593 | 594 | /esbuild-linux-riscv64/0.15.7: 595 | resolution: {integrity: sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==} 596 | engines: {node: '>=12'} 597 | cpu: [riscv64] 598 | os: [linux] 599 | requiresBuild: true 600 | dev: true 601 | optional: true 602 | 603 | /esbuild-linux-s390x/0.15.7: 604 | resolution: {integrity: sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==} 605 | engines: {node: '>=12'} 606 | cpu: [s390x] 607 | os: [linux] 608 | requiresBuild: true 609 | dev: true 610 | optional: true 611 | 612 | /esbuild-netbsd-64/0.15.7: 613 | resolution: {integrity: sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==} 614 | engines: {node: '>=12'} 615 | cpu: [x64] 616 | os: [netbsd] 617 | requiresBuild: true 618 | dev: true 619 | optional: true 620 | 621 | /esbuild-openbsd-64/0.15.7: 622 | resolution: {integrity: sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==} 623 | engines: {node: '>=12'} 624 | cpu: [x64] 625 | os: [openbsd] 626 | requiresBuild: true 627 | dev: true 628 | optional: true 629 | 630 | /esbuild-sunos-64/0.15.7: 631 | resolution: {integrity: sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==} 632 | engines: {node: '>=12'} 633 | cpu: [x64] 634 | os: [sunos] 635 | requiresBuild: true 636 | dev: true 637 | optional: true 638 | 639 | /esbuild-windows-32/0.15.7: 640 | resolution: {integrity: sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==} 641 | engines: {node: '>=12'} 642 | cpu: [ia32] 643 | os: [win32] 644 | requiresBuild: true 645 | dev: true 646 | optional: true 647 | 648 | /esbuild-windows-64/0.15.7: 649 | resolution: {integrity: sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==} 650 | engines: {node: '>=12'} 651 | cpu: [x64] 652 | os: [win32] 653 | requiresBuild: true 654 | dev: true 655 | optional: true 656 | 657 | /esbuild-windows-arm64/0.15.7: 658 | resolution: {integrity: sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==} 659 | engines: {node: '>=12'} 660 | cpu: [arm64] 661 | os: [win32] 662 | requiresBuild: true 663 | dev: true 664 | optional: true 665 | 666 | /esbuild/0.15.7: 667 | resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==} 668 | engines: {node: '>=12'} 669 | hasBin: true 670 | requiresBuild: true 671 | optionalDependencies: 672 | '@esbuild/linux-loong64': 0.15.7 673 | esbuild-android-64: 0.15.7 674 | esbuild-android-arm64: 0.15.7 675 | esbuild-darwin-64: 0.15.7 676 | esbuild-darwin-arm64: 0.15.7 677 | esbuild-freebsd-64: 0.15.7 678 | esbuild-freebsd-arm64: 0.15.7 679 | esbuild-linux-32: 0.15.7 680 | esbuild-linux-64: 0.15.7 681 | esbuild-linux-arm: 0.15.7 682 | esbuild-linux-arm64: 0.15.7 683 | esbuild-linux-mips64le: 0.15.7 684 | esbuild-linux-ppc64le: 0.15.7 685 | esbuild-linux-riscv64: 0.15.7 686 | esbuild-linux-s390x: 0.15.7 687 | esbuild-netbsd-64: 0.15.7 688 | esbuild-openbsd-64: 0.15.7 689 | esbuild-sunos-64: 0.15.7 690 | esbuild-windows-32: 0.15.7 691 | esbuild-windows-64: 0.15.7 692 | esbuild-windows-arm64: 0.15.7 693 | dev: true 694 | 695 | /escape-string-regexp/5.0.0: 696 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 697 | engines: {node: '>=12'} 698 | dev: true 699 | 700 | /estree-walker/2.0.2: 701 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 702 | 703 | /evtd/0.2.4: 704 | resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} 705 | dev: true 706 | 707 | /fast-glob/3.2.11: 708 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 709 | engines: {node: '>=8.6.0'} 710 | dependencies: 711 | '@nodelib/fs.stat': 2.0.5 712 | '@nodelib/fs.walk': 1.2.8 713 | glob-parent: 5.1.2 714 | merge2: 1.4.1 715 | micromatch: 4.0.5 716 | dev: true 717 | 718 | /fastq/1.13.0: 719 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 720 | dependencies: 721 | reusify: 1.0.4 722 | dev: true 723 | 724 | /fill-range/7.0.1: 725 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 726 | engines: {node: '>=8'} 727 | dependencies: 728 | to-regex-range: 5.0.1 729 | dev: true 730 | 731 | /fsevents/2.3.2: 732 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 733 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 734 | os: [darwin] 735 | requiresBuild: true 736 | dev: true 737 | optional: true 738 | 739 | /function-bind/1.1.1: 740 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 741 | dev: true 742 | 743 | /glob-parent/5.1.2: 744 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 745 | engines: {node: '>= 6'} 746 | dependencies: 747 | is-glob: 4.0.3 748 | dev: true 749 | 750 | /has/1.0.3: 751 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 752 | engines: {node: '>= 0.4.0'} 753 | dependencies: 754 | function-bind: 1.1.1 755 | dev: true 756 | 757 | /highlight.js/11.6.0: 758 | resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==} 759 | engines: {node: '>=12.0.0'} 760 | dev: true 761 | 762 | /immutable/4.1.0: 763 | resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} 764 | dev: true 765 | 766 | /is-binary-path/2.1.0: 767 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 768 | engines: {node: '>=8'} 769 | dependencies: 770 | binary-extensions: 2.2.0 771 | dev: true 772 | 773 | /is-core-module/2.10.0: 774 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 775 | dependencies: 776 | has: 1.0.3 777 | dev: true 778 | 779 | /is-extglob/2.1.1: 780 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 781 | engines: {node: '>=0.10.0'} 782 | dev: true 783 | 784 | /is-glob/4.0.3: 785 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 786 | engines: {node: '>=0.10.0'} 787 | dependencies: 788 | is-extglob: 2.1.1 789 | dev: true 790 | 791 | /is-number/7.0.0: 792 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 793 | engines: {node: '>=0.12.0'} 794 | dev: true 795 | 796 | /jsonc-parser/3.2.0: 797 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 798 | dev: true 799 | 800 | /local-pkg/0.4.2: 801 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} 802 | engines: {node: '>=14'} 803 | dev: true 804 | 805 | /lodash-es/4.17.21: 806 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 807 | dev: true 808 | 809 | /lodash/4.17.21: 810 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 811 | dev: true 812 | 813 | /lru-cache/6.0.0: 814 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 815 | engines: {node: '>=10'} 816 | dependencies: 817 | yallist: 4.0.0 818 | dev: true 819 | 820 | /magic-string/0.25.9: 821 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 822 | dependencies: 823 | sourcemap-codec: 1.4.8 824 | 825 | /magic-string/0.26.3: 826 | resolution: {integrity: sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg==} 827 | engines: {node: '>=12'} 828 | dependencies: 829 | sourcemap-codec: 1.4.8 830 | dev: true 831 | 832 | /mdn-data/2.0.14: 833 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 834 | dev: true 835 | 836 | /merge2/1.4.1: 837 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 838 | engines: {node: '>= 8'} 839 | dev: true 840 | 841 | /micromatch/4.0.5: 842 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 843 | engines: {node: '>=8.6'} 844 | dependencies: 845 | braces: 3.0.2 846 | picomatch: 2.3.1 847 | dev: true 848 | 849 | /minimatch/5.1.0: 850 | resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} 851 | engines: {node: '>=10'} 852 | dependencies: 853 | brace-expansion: 2.0.1 854 | dev: true 855 | 856 | /mlly/0.5.14: 857 | resolution: {integrity: sha512-DgRgNUSX9NIxxCxygX4Xeg9C7GX7OUx1wuQ8cXx9o9LE0e9wrH+OZ9fcnrlEedsC/rtqry3ZhUddC759XD/L0w==} 858 | dependencies: 859 | acorn: 8.8.0 860 | pathe: 0.3.7 861 | pkg-types: 0.3.5 862 | ufo: 0.8.5 863 | dev: true 864 | 865 | /ms/2.1.2: 866 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 867 | dev: true 868 | 869 | /naive-ui/2.33.2_vue@3.2.39: 870 | resolution: {integrity: sha512-XT18dOE7dK15xedO9MlrPsD3AXBKncr0lqlsxakHl/DckqOaAbdA7yxDl/qtVTBC+1Rlf29cFP/th7P7DSy5zg==} 871 | peerDependencies: 872 | vue: ^3.0.0 873 | dependencies: 874 | '@css-render/plugin-bem': 0.15.11_css-render@0.15.11 875 | '@css-render/vue3-ssr': 0.15.11_vue@3.2.39 876 | '@types/lodash': 4.14.184 877 | '@types/lodash-es': 4.17.6 878 | async-validator: 4.2.5 879 | css-render: 0.15.11 880 | date-fns: 2.29.2 881 | date-fns-tz: 1.3.7_date-fns@2.29.2 882 | evtd: 0.2.4 883 | highlight.js: 11.6.0 884 | lodash: 4.17.21 885 | lodash-es: 4.17.21 886 | seemly: 0.3.6 887 | treemate: 0.3.11 888 | vdirs: 0.1.8_vue@3.2.39 889 | vooks: 0.2.12_vue@3.2.39 890 | vue: 3.2.39 891 | vueuc: 0.4.48_vue@3.2.39 892 | dev: true 893 | 894 | /nanoid/3.3.4: 895 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 896 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 897 | hasBin: true 898 | 899 | /normalize-path/3.0.0: 900 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 901 | engines: {node: '>=0.10.0'} 902 | dev: true 903 | 904 | /nth-check/2.1.1: 905 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 906 | dependencies: 907 | boolbase: 1.0.0 908 | dev: true 909 | 910 | /path-parse/1.0.7: 911 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 912 | dev: true 913 | 914 | /pathe/0.3.7: 915 | resolution: {integrity: sha512-yz7GK+kSsS27x727jtXpd5VT4dDfP/JDIQmaowfxyWCnFjOWtE1VIh7i6TzcSfzW0n4+bRQztj1VdKnITNq/MA==} 916 | dev: true 917 | 918 | /picocolors/1.0.0: 919 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 920 | 921 | /picomatch/2.3.1: 922 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 923 | engines: {node: '>=8.6'} 924 | dev: true 925 | 926 | /pkg-types/0.3.5: 927 | resolution: {integrity: sha512-VkxCBFVgQhNHYk9subx+HOhZ4jzynH11ah63LZsprTKwPCWG9pfWBlkElWFbvkP9BVR0dP1jS9xPdhaHQNK74Q==} 928 | dependencies: 929 | jsonc-parser: 3.2.0 930 | mlly: 0.5.14 931 | pathe: 0.3.7 932 | dev: true 933 | 934 | /postcss/8.4.16: 935 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} 936 | engines: {node: ^10 || ^12 || >=14} 937 | dependencies: 938 | nanoid: 3.3.4 939 | picocolors: 1.0.0 940 | source-map-js: 1.0.2 941 | 942 | /qrcode.vue/3.3.3_vue@3.2.39: 943 | resolution: {integrity: sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw==} 944 | peerDependencies: 945 | vue: ^3.0.0 946 | dependencies: 947 | vue: 3.2.39 948 | dev: false 949 | 950 | /queue-microtask/1.2.3: 951 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 952 | dev: true 953 | 954 | /readdirp/3.6.0: 955 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 956 | engines: {node: '>=8.10.0'} 957 | dependencies: 958 | picomatch: 2.3.1 959 | dev: true 960 | 961 | /resolve/1.22.1: 962 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 963 | hasBin: true 964 | dependencies: 965 | is-core-module: 2.10.0 966 | path-parse: 1.0.7 967 | supports-preserve-symlinks-flag: 1.0.0 968 | dev: true 969 | 970 | /reusify/1.0.4: 971 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 972 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 973 | dev: true 974 | 975 | /rollup/2.78.1: 976 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} 977 | engines: {node: '>=10.0.0'} 978 | hasBin: true 979 | optionalDependencies: 980 | fsevents: 2.3.2 981 | dev: true 982 | 983 | /run-parallel/1.2.0: 984 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 985 | dependencies: 986 | queue-microtask: 1.2.3 987 | dev: true 988 | 989 | /sass/1.54.9: 990 | resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==} 991 | engines: {node: '>=12.0.0'} 992 | hasBin: true 993 | dependencies: 994 | chokidar: 3.5.3 995 | immutable: 4.1.0 996 | source-map-js: 1.0.2 997 | dev: true 998 | 999 | /scule/0.3.2: 1000 | resolution: {integrity: sha512-zIvPdjOH8fv8CgrPT5eqtxHQXmPNnV/vHJYffZhE43KZkvULvpCTvOt1HPlFaCZx287INL9qaqrZg34e8NgI4g==} 1001 | dev: true 1002 | 1003 | /seemly/0.3.6: 1004 | resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==} 1005 | dev: true 1006 | 1007 | /semver/7.3.7: 1008 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 1009 | engines: {node: '>=10'} 1010 | hasBin: true 1011 | dependencies: 1012 | lru-cache: 6.0.0 1013 | dev: true 1014 | 1015 | /source-map-js/1.0.2: 1016 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1017 | engines: {node: '>=0.10.0'} 1018 | 1019 | /source-map/0.6.1: 1020 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1021 | engines: {node: '>=0.10.0'} 1022 | 1023 | /sourcemap-codec/1.4.8: 1024 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1025 | 1026 | /stable/0.1.8: 1027 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} 1028 | deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' 1029 | dev: true 1030 | 1031 | /strip-literal/0.4.0: 1032 | resolution: {integrity: sha512-ql/sBDoJOybTKSIOWrrh8kgUEMjXMwRAkZTD0EwiwxQH/6tTPkZvMIEjp0CRlpi6V5FMiJyvxeRkEi1KrGISoA==} 1033 | dependencies: 1034 | acorn: 8.8.0 1035 | dev: true 1036 | 1037 | /supports-preserve-symlinks-flag/1.0.0: 1038 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1039 | engines: {node: '>= 0.4'} 1040 | dev: true 1041 | 1042 | /svgo/2.8.0: 1043 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} 1044 | engines: {node: '>=10.13.0'} 1045 | hasBin: true 1046 | dependencies: 1047 | '@trysound/sax': 0.2.0 1048 | commander: 7.2.0 1049 | css-select: 4.3.0 1050 | css-tree: 1.1.3 1051 | csso: 4.2.0 1052 | picocolors: 1.0.0 1053 | stable: 0.1.8 1054 | dev: true 1055 | 1056 | /to-fast-properties/2.0.0: 1057 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1058 | engines: {node: '>=4'} 1059 | 1060 | /to-regex-range/5.0.1: 1061 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1062 | engines: {node: '>=8.0'} 1063 | dependencies: 1064 | is-number: 7.0.0 1065 | dev: true 1066 | 1067 | /treemate/0.3.11: 1068 | resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} 1069 | dev: true 1070 | 1071 | /typescript/4.8.3: 1072 | resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==} 1073 | engines: {node: '>=4.2.0'} 1074 | hasBin: true 1075 | dev: true 1076 | 1077 | /ufo/0.8.5: 1078 | resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} 1079 | dev: true 1080 | 1081 | /unimport/0.6.7_vite@3.1.0: 1082 | resolution: {integrity: sha512-EMoVqDjswHkU+nD098QYHXH7Mkw7KwGDQAyeRF2lgairJnuO+wpkhIcmCqrD1OPJmsjkTbJ2tW6Ap8St0PuWZA==} 1083 | dependencies: 1084 | '@rollup/pluginutils': 4.2.1 1085 | escape-string-regexp: 5.0.0 1086 | fast-glob: 3.2.11 1087 | local-pkg: 0.4.2 1088 | magic-string: 0.26.3 1089 | mlly: 0.5.14 1090 | pathe: 0.3.7 1091 | scule: 0.3.2 1092 | strip-literal: 0.4.0 1093 | unplugin: 0.9.5_vite@3.1.0 1094 | transitivePeerDependencies: 1095 | - esbuild 1096 | - rollup 1097 | - vite 1098 | - webpack 1099 | dev: true 1100 | 1101 | /unplugin-auto-import/0.11.2_vite@3.1.0: 1102 | resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==} 1103 | engines: {node: '>=14'} 1104 | peerDependencies: 1105 | '@vueuse/core': '*' 1106 | peerDependenciesMeta: 1107 | '@vueuse/core': 1108 | optional: true 1109 | dependencies: 1110 | '@antfu/utils': 0.5.2 1111 | '@rollup/pluginutils': 4.2.1 1112 | local-pkg: 0.4.2 1113 | magic-string: 0.26.3 1114 | unimport: 0.6.7_vite@3.1.0 1115 | unplugin: 0.9.5_vite@3.1.0 1116 | transitivePeerDependencies: 1117 | - esbuild 1118 | - rollup 1119 | - vite 1120 | - webpack 1121 | dev: true 1122 | 1123 | /unplugin-vue-components/0.22.4_vite@3.1.0+vue@3.2.39: 1124 | resolution: {integrity: sha512-2rRZcM9OnJGXnYxQNfaceEYuPeVACcWySIjy8WBwIiN3onr980TmA3XE5pRJFt8zoQrUA+c46oyIq96noLqrEQ==} 1125 | engines: {node: '>=14'} 1126 | peerDependencies: 1127 | '@babel/parser': ^7.15.8 1128 | vue: 2 || 3 1129 | peerDependenciesMeta: 1130 | '@babel/parser': 1131 | optional: true 1132 | dependencies: 1133 | '@antfu/utils': 0.5.2 1134 | '@rollup/pluginutils': 4.2.1 1135 | chokidar: 3.5.3 1136 | debug: 4.3.4 1137 | fast-glob: 3.2.11 1138 | local-pkg: 0.4.2 1139 | magic-string: 0.26.3 1140 | minimatch: 5.1.0 1141 | resolve: 1.22.1 1142 | unplugin: 0.9.5_vite@3.1.0 1143 | vue: 3.2.39 1144 | transitivePeerDependencies: 1145 | - esbuild 1146 | - rollup 1147 | - supports-color 1148 | - vite 1149 | - webpack 1150 | dev: true 1151 | 1152 | /unplugin/0.9.5_vite@3.1.0: 1153 | resolution: {integrity: sha512-luraheyfxwtvkvHpsOvMNv7IjLdORTWKZp0gWYNHGLi2ImON3iIZOj464qEyyEwLA/EMt12fC415HW9zRpOfTg==} 1154 | peerDependencies: 1155 | esbuild: '>=0.13' 1156 | rollup: ^2.50.0 1157 | vite: ^2.3.0 || ^3.0.0-0 1158 | webpack: 4 || 5 1159 | peerDependenciesMeta: 1160 | esbuild: 1161 | optional: true 1162 | rollup: 1163 | optional: true 1164 | vite: 1165 | optional: true 1166 | webpack: 1167 | optional: true 1168 | dependencies: 1169 | acorn: 8.8.0 1170 | chokidar: 3.5.3 1171 | vite: 3.1.0_sass@1.54.9 1172 | webpack-sources: 3.2.3 1173 | webpack-virtual-modules: 0.4.4 1174 | dev: true 1175 | 1176 | /vdirs/0.1.8_vue@3.2.39: 1177 | resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} 1178 | peerDependencies: 1179 | vue: ^3.0.11 1180 | dependencies: 1181 | evtd: 0.2.4 1182 | vue: 3.2.39 1183 | dev: true 1184 | 1185 | /vite-svg-loader/3.6.0: 1186 | resolution: {integrity: sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==} 1187 | dependencies: 1188 | '@vue/compiler-sfc': 3.2.39 1189 | svgo: 2.8.0 1190 | dev: true 1191 | 1192 | /vite/3.1.0_sass@1.54.9: 1193 | resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==} 1194 | engines: {node: ^14.18.0 || >=16.0.0} 1195 | hasBin: true 1196 | peerDependencies: 1197 | less: '*' 1198 | sass: '*' 1199 | stylus: '*' 1200 | terser: ^5.4.0 1201 | peerDependenciesMeta: 1202 | less: 1203 | optional: true 1204 | sass: 1205 | optional: true 1206 | stylus: 1207 | optional: true 1208 | terser: 1209 | optional: true 1210 | dependencies: 1211 | esbuild: 0.15.7 1212 | postcss: 8.4.16 1213 | resolve: 1.22.1 1214 | rollup: 2.78.1 1215 | sass: 1.54.9 1216 | optionalDependencies: 1217 | fsevents: 2.3.2 1218 | dev: true 1219 | 1220 | /vooks/0.2.12_vue@3.2.39: 1221 | resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} 1222 | peerDependencies: 1223 | vue: ^3.0.0 1224 | dependencies: 1225 | evtd: 0.2.4 1226 | vue: 3.2.39 1227 | dev: true 1228 | 1229 | /vue-demi/0.13.11_vue@3.2.39: 1230 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} 1231 | engines: {node: '>=12'} 1232 | hasBin: true 1233 | requiresBuild: true 1234 | peerDependencies: 1235 | '@vue/composition-api': ^1.0.0-rc.1 1236 | vue: ^3.0.0-0 || ^2.6.0 1237 | peerDependenciesMeta: 1238 | '@vue/composition-api': 1239 | optional: true 1240 | dependencies: 1241 | vue: 3.2.39 1242 | dev: false 1243 | 1244 | /vue-tsc/0.40.13_typescript@4.8.3: 1245 | resolution: {integrity: sha512-xzuN3g5PnKfJcNrLv4+mAjteMd5wLm5fRhW0034OfNJZY4WhB07vhngea/XeGn7wNYt16r7syonzvW/54dcNiA==} 1246 | hasBin: true 1247 | peerDependencies: 1248 | typescript: '*' 1249 | dependencies: 1250 | '@volar/vue-language-core': 0.40.13 1251 | '@volar/vue-typescript': 0.40.13 1252 | typescript: 4.8.3 1253 | dev: true 1254 | 1255 | /vue/3.2.39: 1256 | resolution: {integrity: sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==} 1257 | dependencies: 1258 | '@vue/compiler-dom': 3.2.39 1259 | '@vue/compiler-sfc': 3.2.39 1260 | '@vue/runtime-dom': 3.2.39 1261 | '@vue/server-renderer': 3.2.39_vue@3.2.39 1262 | '@vue/shared': 3.2.39 1263 | 1264 | /vueuc/0.4.48_vue@3.2.39: 1265 | resolution: {integrity: sha512-dQTBLxCzfaPuzD3c4/dIxAULtnyY+xwdotCRFUDgf0DJiwuR3tI+txJ9K8uJKmaHwc1JDUVqhRAj9Jd/pvInWg==} 1266 | peerDependencies: 1267 | vue: ^3.0.11 1268 | dependencies: 1269 | '@css-render/vue3-ssr': 0.15.11_vue@3.2.39 1270 | '@juggle/resize-observer': 3.4.0 1271 | css-render: 0.15.11 1272 | evtd: 0.2.4 1273 | seemly: 0.3.6 1274 | vdirs: 0.1.8_vue@3.2.39 1275 | vooks: 0.2.12_vue@3.2.39 1276 | vue: 3.2.39 1277 | dev: true 1278 | 1279 | /webpack-sources/3.2.3: 1280 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 1281 | engines: {node: '>=10.13.0'} 1282 | dev: true 1283 | 1284 | /webpack-virtual-modules/0.4.4: 1285 | resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==} 1286 | dev: true 1287 | 1288 | /yallist/4.0.0: 1289 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1290 | dev: true 1291 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | importers: 4 | 5 | .: 6 | devDependencies: 7 | binaryen: 8 | specifier: ^111.0.0 9 | version: 111.0.0 10 | 11 | examples/browser: 12 | dependencies: 13 | '@vueuse/components': 14 | specifier: ^9.2.0 15 | version: 9.2.0(vue@3.2.37) 16 | qrcode.vue: 17 | specifier: ^3.3.3 18 | version: 3.3.3(vue@3.2.37) 19 | vue: 20 | specifier: ^3.2.37 21 | version: 3.2.37 22 | devDependencies: 23 | '@types/node': 24 | specifier: ^18.7.16 25 | version: 18.7.16 26 | '@vitejs/plugin-vue': 27 | specifier: ^3.1.0 28 | version: 3.1.0(vite@3.1.0)(vue@3.2.37) 29 | naive-ui: 30 | specifier: ^2.33.2 31 | version: 2.33.2(vue@3.2.37) 32 | sass: 33 | specifier: ^1.54.9 34 | version: 1.54.9 35 | typescript: 36 | specifier: ^4.6.4 37 | version: 4.6.4 38 | unplugin-auto-import: 39 | specifier: ^0.11.2 40 | version: 0.11.2 41 | unplugin-vue-components: 42 | specifier: ^0.22.4 43 | version: 0.22.4(vue@3.2.37) 44 | vite: 45 | specifier: ^3.1.0 46 | version: 3.1.0(sass@1.54.9) 47 | vite-svg-loader: 48 | specifier: ^3.6.0 49 | version: 3.6.0 50 | vue-tsc: 51 | specifier: ^0.40.4 52 | version: 0.40.4(typescript@4.6.4) 53 | 54 | examples/node: 55 | devDependencies: 56 | '@types/node': 57 | specifier: ^18.7.16 58 | version: 18.7.16 59 | esno: 60 | specifier: ^0.16.3 61 | version: 0.16.3 62 | 63 | packages/totp-wasm: {} 64 | 65 | packages: 66 | 67 | /@antfu/utils@0.5.2: 68 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} 69 | dev: true 70 | 71 | /@babel/helper-string-parser@7.19.4: 72 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 73 | engines: {node: '>=6.9.0'} 74 | 75 | /@babel/helper-validator-identifier@7.19.1: 76 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 77 | engines: {node: '>=6.9.0'} 78 | 79 | /@babel/parser@7.21.4: 80 | resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} 81 | engines: {node: '>=6.0.0'} 82 | hasBin: true 83 | dependencies: 84 | '@babel/types': 7.21.4 85 | 86 | /@babel/types@7.21.4: 87 | resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} 88 | engines: {node: '>=6.9.0'} 89 | dependencies: 90 | '@babel/helper-string-parser': 7.19.4 91 | '@babel/helper-validator-identifier': 7.19.1 92 | to-fast-properties: 2.0.0 93 | 94 | /@css-render/plugin-bem@0.15.12(css-render@0.15.12): 95 | resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==} 96 | peerDependencies: 97 | css-render: ~0.15.12 98 | dependencies: 99 | css-render: 0.15.12 100 | dev: true 101 | 102 | /@css-render/vue3-ssr@0.15.12(vue@3.2.37): 103 | resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} 104 | peerDependencies: 105 | vue: ^3.0.11 106 | dependencies: 107 | vue: 3.2.37 108 | dev: true 109 | 110 | /@emotion/hash@0.8.0: 111 | resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} 112 | dev: true 113 | 114 | /@esbuild-kit/cjs-loader@2.4.2: 115 | resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} 116 | dependencies: 117 | '@esbuild-kit/core-utils': 3.1.0 118 | get-tsconfig: 4.5.0 119 | dev: true 120 | 121 | /@esbuild-kit/core-utils@3.1.0: 122 | resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} 123 | dependencies: 124 | esbuild: 0.17.17 125 | source-map-support: 0.5.21 126 | dev: true 127 | 128 | /@esbuild-kit/esm-loader@2.5.5: 129 | resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} 130 | dependencies: 131 | '@esbuild-kit/core-utils': 3.1.0 132 | get-tsconfig: 4.5.0 133 | dev: true 134 | 135 | /@esbuild/android-arm64@0.17.17: 136 | resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} 137 | engines: {node: '>=12'} 138 | cpu: [arm64] 139 | os: [android] 140 | requiresBuild: true 141 | dev: true 142 | optional: true 143 | 144 | /@esbuild/android-arm@0.15.18: 145 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 146 | engines: {node: '>=12'} 147 | cpu: [arm] 148 | os: [android] 149 | requiresBuild: true 150 | dev: true 151 | optional: true 152 | 153 | /@esbuild/android-arm@0.17.17: 154 | resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==} 155 | engines: {node: '>=12'} 156 | cpu: [arm] 157 | os: [android] 158 | requiresBuild: true 159 | dev: true 160 | optional: true 161 | 162 | /@esbuild/android-x64@0.17.17: 163 | resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==} 164 | engines: {node: '>=12'} 165 | cpu: [x64] 166 | os: [android] 167 | requiresBuild: true 168 | dev: true 169 | optional: true 170 | 171 | /@esbuild/darwin-arm64@0.17.17: 172 | resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==} 173 | engines: {node: '>=12'} 174 | cpu: [arm64] 175 | os: [darwin] 176 | requiresBuild: true 177 | dev: true 178 | optional: true 179 | 180 | /@esbuild/darwin-x64@0.17.17: 181 | resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==} 182 | engines: {node: '>=12'} 183 | cpu: [x64] 184 | os: [darwin] 185 | requiresBuild: true 186 | dev: true 187 | optional: true 188 | 189 | /@esbuild/freebsd-arm64@0.17.17: 190 | resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==} 191 | engines: {node: '>=12'} 192 | cpu: [arm64] 193 | os: [freebsd] 194 | requiresBuild: true 195 | dev: true 196 | optional: true 197 | 198 | /@esbuild/freebsd-x64@0.17.17: 199 | resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==} 200 | engines: {node: '>=12'} 201 | cpu: [x64] 202 | os: [freebsd] 203 | requiresBuild: true 204 | dev: true 205 | optional: true 206 | 207 | /@esbuild/linux-arm64@0.17.17: 208 | resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==} 209 | engines: {node: '>=12'} 210 | cpu: [arm64] 211 | os: [linux] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | /@esbuild/linux-arm@0.17.17: 217 | resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==} 218 | engines: {node: '>=12'} 219 | cpu: [arm] 220 | os: [linux] 221 | requiresBuild: true 222 | dev: true 223 | optional: true 224 | 225 | /@esbuild/linux-ia32@0.17.17: 226 | resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==} 227 | engines: {node: '>=12'} 228 | cpu: [ia32] 229 | os: [linux] 230 | requiresBuild: true 231 | dev: true 232 | optional: true 233 | 234 | /@esbuild/linux-loong64@0.15.18: 235 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 236 | engines: {node: '>=12'} 237 | cpu: [loong64] 238 | os: [linux] 239 | requiresBuild: true 240 | dev: true 241 | optional: true 242 | 243 | /@esbuild/linux-loong64@0.17.17: 244 | resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==} 245 | engines: {node: '>=12'} 246 | cpu: [loong64] 247 | os: [linux] 248 | requiresBuild: true 249 | dev: true 250 | optional: true 251 | 252 | /@esbuild/linux-mips64el@0.17.17: 253 | resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==} 254 | engines: {node: '>=12'} 255 | cpu: [mips64el] 256 | os: [linux] 257 | requiresBuild: true 258 | dev: true 259 | optional: true 260 | 261 | /@esbuild/linux-ppc64@0.17.17: 262 | resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==} 263 | engines: {node: '>=12'} 264 | cpu: [ppc64] 265 | os: [linux] 266 | requiresBuild: true 267 | dev: true 268 | optional: true 269 | 270 | /@esbuild/linux-riscv64@0.17.17: 271 | resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==} 272 | engines: {node: '>=12'} 273 | cpu: [riscv64] 274 | os: [linux] 275 | requiresBuild: true 276 | dev: true 277 | optional: true 278 | 279 | /@esbuild/linux-s390x@0.17.17: 280 | resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==} 281 | engines: {node: '>=12'} 282 | cpu: [s390x] 283 | os: [linux] 284 | requiresBuild: true 285 | dev: true 286 | optional: true 287 | 288 | /@esbuild/linux-x64@0.17.17: 289 | resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==} 290 | engines: {node: '>=12'} 291 | cpu: [x64] 292 | os: [linux] 293 | requiresBuild: true 294 | dev: true 295 | optional: true 296 | 297 | /@esbuild/netbsd-x64@0.17.17: 298 | resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==} 299 | engines: {node: '>=12'} 300 | cpu: [x64] 301 | os: [netbsd] 302 | requiresBuild: true 303 | dev: true 304 | optional: true 305 | 306 | /@esbuild/openbsd-x64@0.17.17: 307 | resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==} 308 | engines: {node: '>=12'} 309 | cpu: [x64] 310 | os: [openbsd] 311 | requiresBuild: true 312 | dev: true 313 | optional: true 314 | 315 | /@esbuild/sunos-x64@0.17.17: 316 | resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==} 317 | engines: {node: '>=12'} 318 | cpu: [x64] 319 | os: [sunos] 320 | requiresBuild: true 321 | dev: true 322 | optional: true 323 | 324 | /@esbuild/win32-arm64@0.17.17: 325 | resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==} 326 | engines: {node: '>=12'} 327 | cpu: [arm64] 328 | os: [win32] 329 | requiresBuild: true 330 | dev: true 331 | optional: true 332 | 333 | /@esbuild/win32-ia32@0.17.17: 334 | resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==} 335 | engines: {node: '>=12'} 336 | cpu: [ia32] 337 | os: [win32] 338 | requiresBuild: true 339 | dev: true 340 | optional: true 341 | 342 | /@esbuild/win32-x64@0.17.17: 343 | resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==} 344 | engines: {node: '>=12'} 345 | cpu: [x64] 346 | os: [win32] 347 | requiresBuild: true 348 | dev: true 349 | optional: true 350 | 351 | /@juggle/resize-observer@3.4.0: 352 | resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} 353 | dev: true 354 | 355 | /@nodelib/fs.scandir@2.1.5: 356 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 357 | engines: {node: '>= 8'} 358 | dependencies: 359 | '@nodelib/fs.stat': 2.0.5 360 | run-parallel: 1.2.0 361 | dev: true 362 | 363 | /@nodelib/fs.stat@2.0.5: 364 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 365 | engines: {node: '>= 8'} 366 | dev: true 367 | 368 | /@nodelib/fs.walk@1.2.8: 369 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 370 | engines: {node: '>= 8'} 371 | dependencies: 372 | '@nodelib/fs.scandir': 2.1.5 373 | fastq: 1.15.0 374 | dev: true 375 | 376 | /@rollup/pluginutils@4.2.1: 377 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 378 | engines: {node: '>= 8.0.0'} 379 | dependencies: 380 | estree-walker: 2.0.2 381 | picomatch: 2.3.1 382 | dev: true 383 | 384 | /@trysound/sax@0.2.0: 385 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} 386 | engines: {node: '>=10.13.0'} 387 | dev: true 388 | 389 | /@types/lodash-es@4.17.7: 390 | resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==} 391 | dependencies: 392 | '@types/lodash': 4.14.194 393 | dev: true 394 | 395 | /@types/lodash@4.14.194: 396 | resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==} 397 | dev: true 398 | 399 | /@types/node@18.7.16: 400 | resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} 401 | dev: true 402 | 403 | /@types/web-bluetooth@0.0.15: 404 | resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==} 405 | dev: false 406 | 407 | /@vitejs/plugin-vue@3.1.0(vite@3.1.0)(vue@3.2.37): 408 | resolution: {integrity: sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==} 409 | engines: {node: ^14.18.0 || >=16.0.0} 410 | peerDependencies: 411 | vite: ^3.0.0 412 | vue: ^3.2.25 413 | dependencies: 414 | vite: 3.1.0(sass@1.54.9) 415 | vue: 3.2.37 416 | dev: true 417 | 418 | /@volar/code-gen@0.40.4: 419 | resolution: {integrity: sha512-APTt9DWgMejaSCxaoqqhSODALFOgkMWJ72PbB7NAb7eiYhfB4//RkExLfSJgZEXijJmWIpPsKGENoCDlr0cLZA==} 420 | dependencies: 421 | '@volar/source-map': 0.40.4 422 | dev: true 423 | 424 | /@volar/source-map@0.40.4: 425 | resolution: {integrity: sha512-urODM9J7SH8Xcj5DU6SxvL0TQV8H/HsMZ+Y9fSNQqlYJw2vRzSTYQP/wJuY3xAkE8oWBh4EubJ5pyx8ghARuBg==} 426 | dependencies: 427 | '@vue/reactivity': 3.2.37 428 | dev: true 429 | 430 | /@volar/typescript-faster@0.40.4: 431 | resolution: {integrity: sha512-xmuaHNRC0rgvJ5yMDRTjpmqNts4XSU2rOUDt8+slYz2InAK8gzn1qdD2rpzc51oip0RiqJ8XXQKpjDhOwodhog==} 432 | dependencies: 433 | semver: 7.5.0 434 | dev: true 435 | 436 | /@volar/vue-language-core@0.40.4: 437 | resolution: {integrity: sha512-NCWTmUruEOeOOcgjsUbrSN4mmBLFeWdFIA3lzTnrlGQ+93WryW8M6wyaSLCTsL9hjRmSHOJjvp67w8AAsskEJw==} 438 | dependencies: 439 | '@volar/code-gen': 0.40.4 440 | '@volar/source-map': 0.40.4 441 | '@vue/compiler-core': 3.2.47 442 | '@vue/compiler-dom': 3.2.47 443 | '@vue/compiler-sfc': 3.2.47 444 | '@vue/reactivity': 3.2.47 445 | '@vue/shared': 3.2.47 446 | dev: true 447 | 448 | /@volar/vue-typescript@0.40.4: 449 | resolution: {integrity: sha512-2ZnmEtRHDv5rqzqM7qr1pAZmaBHkMW6mfpEzW0uchRP3QHhZ3XhNv45B+uVgmwCCJH8Ke7H0nL6yVcpwC/TiDw==} 450 | dependencies: 451 | '@volar/code-gen': 0.40.4 452 | '@volar/typescript-faster': 0.40.4 453 | '@volar/vue-language-core': 0.40.4 454 | dev: true 455 | 456 | /@vue/compiler-core@3.2.37: 457 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} 458 | dependencies: 459 | '@babel/parser': 7.21.4 460 | '@vue/shared': 3.2.37 461 | estree-walker: 2.0.2 462 | source-map: 0.6.1 463 | 464 | /@vue/compiler-core@3.2.47: 465 | resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} 466 | dependencies: 467 | '@babel/parser': 7.21.4 468 | '@vue/shared': 3.2.47 469 | estree-walker: 2.0.2 470 | source-map: 0.6.1 471 | dev: true 472 | 473 | /@vue/compiler-dom@3.2.37: 474 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==} 475 | dependencies: 476 | '@vue/compiler-core': 3.2.37 477 | '@vue/shared': 3.2.37 478 | 479 | /@vue/compiler-dom@3.2.47: 480 | resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} 481 | dependencies: 482 | '@vue/compiler-core': 3.2.47 483 | '@vue/shared': 3.2.47 484 | dev: true 485 | 486 | /@vue/compiler-sfc@3.2.37: 487 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==} 488 | dependencies: 489 | '@babel/parser': 7.21.4 490 | '@vue/compiler-core': 3.2.37 491 | '@vue/compiler-dom': 3.2.37 492 | '@vue/compiler-ssr': 3.2.37 493 | '@vue/reactivity-transform': 3.2.37 494 | '@vue/shared': 3.2.37 495 | estree-walker: 2.0.2 496 | magic-string: 0.25.9 497 | postcss: 8.4.22 498 | source-map: 0.6.1 499 | 500 | /@vue/compiler-sfc@3.2.47: 501 | resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} 502 | dependencies: 503 | '@babel/parser': 7.21.4 504 | '@vue/compiler-core': 3.2.47 505 | '@vue/compiler-dom': 3.2.47 506 | '@vue/compiler-ssr': 3.2.47 507 | '@vue/reactivity-transform': 3.2.47 508 | '@vue/shared': 3.2.47 509 | estree-walker: 2.0.2 510 | magic-string: 0.25.9 511 | postcss: 8.4.22 512 | source-map: 0.6.1 513 | dev: true 514 | 515 | /@vue/compiler-ssr@3.2.37: 516 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==} 517 | dependencies: 518 | '@vue/compiler-dom': 3.2.37 519 | '@vue/shared': 3.2.37 520 | 521 | /@vue/compiler-ssr@3.2.47: 522 | resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} 523 | dependencies: 524 | '@vue/compiler-dom': 3.2.47 525 | '@vue/shared': 3.2.47 526 | dev: true 527 | 528 | /@vue/reactivity-transform@3.2.37: 529 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} 530 | dependencies: 531 | '@babel/parser': 7.21.4 532 | '@vue/compiler-core': 3.2.37 533 | '@vue/shared': 3.2.37 534 | estree-walker: 2.0.2 535 | magic-string: 0.25.9 536 | 537 | /@vue/reactivity-transform@3.2.47: 538 | resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} 539 | dependencies: 540 | '@babel/parser': 7.21.4 541 | '@vue/compiler-core': 3.2.47 542 | '@vue/shared': 3.2.47 543 | estree-walker: 2.0.2 544 | magic-string: 0.25.9 545 | dev: true 546 | 547 | /@vue/reactivity@3.2.37: 548 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==} 549 | dependencies: 550 | '@vue/shared': 3.2.37 551 | 552 | /@vue/reactivity@3.2.47: 553 | resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} 554 | dependencies: 555 | '@vue/shared': 3.2.47 556 | dev: true 557 | 558 | /@vue/runtime-core@3.2.37: 559 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==} 560 | dependencies: 561 | '@vue/reactivity': 3.2.37 562 | '@vue/shared': 3.2.37 563 | 564 | /@vue/runtime-dom@3.2.37: 565 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==} 566 | dependencies: 567 | '@vue/runtime-core': 3.2.37 568 | '@vue/shared': 3.2.37 569 | csstype: 2.6.21 570 | 571 | /@vue/server-renderer@3.2.37(vue@3.2.37): 572 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==} 573 | peerDependencies: 574 | vue: 3.2.37 575 | dependencies: 576 | '@vue/compiler-ssr': 3.2.37 577 | '@vue/shared': 3.2.37 578 | vue: 3.2.37 579 | 580 | /@vue/shared@3.2.37: 581 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==} 582 | 583 | /@vue/shared@3.2.47: 584 | resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} 585 | dev: true 586 | 587 | /@vueuse/components@9.2.0(vue@3.2.37): 588 | resolution: {integrity: sha512-NgQRhq5v1LRZsQq21rJlY8VjEqYg5xWiGErBftY+HaBhHsLAn4PxJxtvbe9uZNdOQlRdWM3UPUF6NO/sWfnyWw==} 589 | dependencies: 590 | '@vueuse/core': 9.2.0(vue@3.2.37) 591 | '@vueuse/shared': 9.2.0(vue@3.2.37) 592 | vue-demi: 0.14.0(vue@3.2.37) 593 | transitivePeerDependencies: 594 | - '@vue/composition-api' 595 | - vue 596 | dev: false 597 | 598 | /@vueuse/core@9.2.0(vue@3.2.37): 599 | resolution: {integrity: sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==} 600 | dependencies: 601 | '@types/web-bluetooth': 0.0.15 602 | '@vueuse/metadata': 9.2.0 603 | '@vueuse/shared': 9.2.0(vue@3.2.37) 604 | vue-demi: 0.14.0(vue@3.2.37) 605 | transitivePeerDependencies: 606 | - '@vue/composition-api' 607 | - vue 608 | dev: false 609 | 610 | /@vueuse/metadata@9.2.0: 611 | resolution: {integrity: sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==} 612 | dev: false 613 | 614 | /@vueuse/shared@9.2.0(vue@3.2.37): 615 | resolution: {integrity: sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==} 616 | dependencies: 617 | vue-demi: 0.14.0(vue@3.2.37) 618 | transitivePeerDependencies: 619 | - '@vue/composition-api' 620 | - vue 621 | dev: false 622 | 623 | /acorn@8.8.2: 624 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 625 | engines: {node: '>=0.4.0'} 626 | hasBin: true 627 | dev: true 628 | 629 | /anymatch@3.1.3: 630 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 631 | engines: {node: '>= 8'} 632 | dependencies: 633 | normalize-path: 3.0.0 634 | picomatch: 2.3.1 635 | dev: true 636 | 637 | /async-validator@4.2.5: 638 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} 639 | dev: true 640 | 641 | /balanced-match@1.0.2: 642 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 643 | dev: true 644 | 645 | /binary-extensions@2.2.0: 646 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 647 | engines: {node: '>=8'} 648 | dev: true 649 | 650 | /binaryen@111.0.0: 651 | resolution: {integrity: sha512-PEXOSHFO85aj1aP4t+KGzvxQ00qXbjCysWlsDjlGkP1e9owNiYdpEkLej21Ax8LDD7xJ01rEmJDqZ/JPoW2GXw==} 652 | hasBin: true 653 | dev: true 654 | 655 | /boolbase@1.0.0: 656 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 657 | dev: true 658 | 659 | /brace-expansion@2.0.1: 660 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 661 | dependencies: 662 | balanced-match: 1.0.2 663 | dev: true 664 | 665 | /braces@3.0.2: 666 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 667 | engines: {node: '>=8'} 668 | dependencies: 669 | fill-range: 7.0.1 670 | dev: true 671 | 672 | /buffer-from@1.1.2: 673 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 674 | dev: true 675 | 676 | /chokidar@3.5.3: 677 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 678 | engines: {node: '>= 8.10.0'} 679 | dependencies: 680 | anymatch: 3.1.3 681 | braces: 3.0.2 682 | glob-parent: 5.1.2 683 | is-binary-path: 2.1.0 684 | is-glob: 4.0.3 685 | normalize-path: 3.0.0 686 | readdirp: 3.6.0 687 | optionalDependencies: 688 | fsevents: 2.3.2 689 | dev: true 690 | 691 | /commander@7.2.0: 692 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 693 | engines: {node: '>= 10'} 694 | dev: true 695 | 696 | /css-render@0.15.12: 697 | resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} 698 | dependencies: 699 | '@emotion/hash': 0.8.0 700 | csstype: 3.0.11 701 | dev: true 702 | 703 | /css-select@4.3.0: 704 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} 705 | dependencies: 706 | boolbase: 1.0.0 707 | css-what: 6.1.0 708 | domhandler: 4.3.1 709 | domutils: 2.8.0 710 | nth-check: 2.1.1 711 | dev: true 712 | 713 | /css-tree@1.1.3: 714 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 715 | engines: {node: '>=8.0.0'} 716 | dependencies: 717 | mdn-data: 2.0.14 718 | source-map: 0.6.1 719 | dev: true 720 | 721 | /css-what@6.1.0: 722 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 723 | engines: {node: '>= 6'} 724 | dev: true 725 | 726 | /csso@4.2.0: 727 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} 728 | engines: {node: '>=8.0.0'} 729 | dependencies: 730 | css-tree: 1.1.3 731 | dev: true 732 | 733 | /csstype@2.6.21: 734 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} 735 | 736 | /csstype@3.0.11: 737 | resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} 738 | dev: true 739 | 740 | /date-fns-tz@1.3.8(date-fns@2.29.3): 741 | resolution: {integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==} 742 | peerDependencies: 743 | date-fns: '>=2.0.0' 744 | dependencies: 745 | date-fns: 2.29.3 746 | dev: true 747 | 748 | /date-fns@2.29.3: 749 | resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} 750 | engines: {node: '>=0.11'} 751 | dev: true 752 | 753 | /debug@4.3.4: 754 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 755 | engines: {node: '>=6.0'} 756 | peerDependencies: 757 | supports-color: '*' 758 | peerDependenciesMeta: 759 | supports-color: 760 | optional: true 761 | dependencies: 762 | ms: 2.1.2 763 | dev: true 764 | 765 | /dom-serializer@1.4.1: 766 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} 767 | dependencies: 768 | domelementtype: 2.3.0 769 | domhandler: 4.3.1 770 | entities: 2.2.0 771 | dev: true 772 | 773 | /domelementtype@2.3.0: 774 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 775 | dev: true 776 | 777 | /domhandler@4.3.1: 778 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} 779 | engines: {node: '>= 4'} 780 | dependencies: 781 | domelementtype: 2.3.0 782 | dev: true 783 | 784 | /domutils@2.8.0: 785 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 786 | dependencies: 787 | dom-serializer: 1.4.1 788 | domelementtype: 2.3.0 789 | domhandler: 4.3.1 790 | dev: true 791 | 792 | /entities@2.2.0: 793 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 794 | dev: true 795 | 796 | /esbuild-android-64@0.15.18: 797 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 798 | engines: {node: '>=12'} 799 | cpu: [x64] 800 | os: [android] 801 | requiresBuild: true 802 | dev: true 803 | optional: true 804 | 805 | /esbuild-android-arm64@0.15.18: 806 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 807 | engines: {node: '>=12'} 808 | cpu: [arm64] 809 | os: [android] 810 | requiresBuild: true 811 | dev: true 812 | optional: true 813 | 814 | /esbuild-darwin-64@0.15.18: 815 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 816 | engines: {node: '>=12'} 817 | cpu: [x64] 818 | os: [darwin] 819 | requiresBuild: true 820 | dev: true 821 | optional: true 822 | 823 | /esbuild-darwin-arm64@0.15.18: 824 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 825 | engines: {node: '>=12'} 826 | cpu: [arm64] 827 | os: [darwin] 828 | requiresBuild: true 829 | dev: true 830 | optional: true 831 | 832 | /esbuild-freebsd-64@0.15.18: 833 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 834 | engines: {node: '>=12'} 835 | cpu: [x64] 836 | os: [freebsd] 837 | requiresBuild: true 838 | dev: true 839 | optional: true 840 | 841 | /esbuild-freebsd-arm64@0.15.18: 842 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 843 | engines: {node: '>=12'} 844 | cpu: [arm64] 845 | os: [freebsd] 846 | requiresBuild: true 847 | dev: true 848 | optional: true 849 | 850 | /esbuild-linux-32@0.15.18: 851 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 852 | engines: {node: '>=12'} 853 | cpu: [ia32] 854 | os: [linux] 855 | requiresBuild: true 856 | dev: true 857 | optional: true 858 | 859 | /esbuild-linux-64@0.15.18: 860 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 861 | engines: {node: '>=12'} 862 | cpu: [x64] 863 | os: [linux] 864 | requiresBuild: true 865 | dev: true 866 | optional: true 867 | 868 | /esbuild-linux-arm64@0.15.18: 869 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 870 | engines: {node: '>=12'} 871 | cpu: [arm64] 872 | os: [linux] 873 | requiresBuild: true 874 | dev: true 875 | optional: true 876 | 877 | /esbuild-linux-arm@0.15.18: 878 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 879 | engines: {node: '>=12'} 880 | cpu: [arm] 881 | os: [linux] 882 | requiresBuild: true 883 | dev: true 884 | optional: true 885 | 886 | /esbuild-linux-mips64le@0.15.18: 887 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 888 | engines: {node: '>=12'} 889 | cpu: [mips64el] 890 | os: [linux] 891 | requiresBuild: true 892 | dev: true 893 | optional: true 894 | 895 | /esbuild-linux-ppc64le@0.15.18: 896 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 897 | engines: {node: '>=12'} 898 | cpu: [ppc64] 899 | os: [linux] 900 | requiresBuild: true 901 | dev: true 902 | optional: true 903 | 904 | /esbuild-linux-riscv64@0.15.18: 905 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 906 | engines: {node: '>=12'} 907 | cpu: [riscv64] 908 | os: [linux] 909 | requiresBuild: true 910 | dev: true 911 | optional: true 912 | 913 | /esbuild-linux-s390x@0.15.18: 914 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 915 | engines: {node: '>=12'} 916 | cpu: [s390x] 917 | os: [linux] 918 | requiresBuild: true 919 | dev: true 920 | optional: true 921 | 922 | /esbuild-netbsd-64@0.15.18: 923 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 924 | engines: {node: '>=12'} 925 | cpu: [x64] 926 | os: [netbsd] 927 | requiresBuild: true 928 | dev: true 929 | optional: true 930 | 931 | /esbuild-openbsd-64@0.15.18: 932 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 933 | engines: {node: '>=12'} 934 | cpu: [x64] 935 | os: [openbsd] 936 | requiresBuild: true 937 | dev: true 938 | optional: true 939 | 940 | /esbuild-sunos-64@0.15.18: 941 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 942 | engines: {node: '>=12'} 943 | cpu: [x64] 944 | os: [sunos] 945 | requiresBuild: true 946 | dev: true 947 | optional: true 948 | 949 | /esbuild-windows-32@0.15.18: 950 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 951 | engines: {node: '>=12'} 952 | cpu: [ia32] 953 | os: [win32] 954 | requiresBuild: true 955 | dev: true 956 | optional: true 957 | 958 | /esbuild-windows-64@0.15.18: 959 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 960 | engines: {node: '>=12'} 961 | cpu: [x64] 962 | os: [win32] 963 | requiresBuild: true 964 | dev: true 965 | optional: true 966 | 967 | /esbuild-windows-arm64@0.15.18: 968 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 969 | engines: {node: '>=12'} 970 | cpu: [arm64] 971 | os: [win32] 972 | requiresBuild: true 973 | dev: true 974 | optional: true 975 | 976 | /esbuild@0.15.18: 977 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 978 | engines: {node: '>=12'} 979 | hasBin: true 980 | requiresBuild: true 981 | optionalDependencies: 982 | '@esbuild/android-arm': 0.15.18 983 | '@esbuild/linux-loong64': 0.15.18 984 | esbuild-android-64: 0.15.18 985 | esbuild-android-arm64: 0.15.18 986 | esbuild-darwin-64: 0.15.18 987 | esbuild-darwin-arm64: 0.15.18 988 | esbuild-freebsd-64: 0.15.18 989 | esbuild-freebsd-arm64: 0.15.18 990 | esbuild-linux-32: 0.15.18 991 | esbuild-linux-64: 0.15.18 992 | esbuild-linux-arm: 0.15.18 993 | esbuild-linux-arm64: 0.15.18 994 | esbuild-linux-mips64le: 0.15.18 995 | esbuild-linux-ppc64le: 0.15.18 996 | esbuild-linux-riscv64: 0.15.18 997 | esbuild-linux-s390x: 0.15.18 998 | esbuild-netbsd-64: 0.15.18 999 | esbuild-openbsd-64: 0.15.18 1000 | esbuild-sunos-64: 0.15.18 1001 | esbuild-windows-32: 0.15.18 1002 | esbuild-windows-64: 0.15.18 1003 | esbuild-windows-arm64: 0.15.18 1004 | dev: true 1005 | 1006 | /esbuild@0.17.17: 1007 | resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==} 1008 | engines: {node: '>=12'} 1009 | hasBin: true 1010 | requiresBuild: true 1011 | optionalDependencies: 1012 | '@esbuild/android-arm': 0.17.17 1013 | '@esbuild/android-arm64': 0.17.17 1014 | '@esbuild/android-x64': 0.17.17 1015 | '@esbuild/darwin-arm64': 0.17.17 1016 | '@esbuild/darwin-x64': 0.17.17 1017 | '@esbuild/freebsd-arm64': 0.17.17 1018 | '@esbuild/freebsd-x64': 0.17.17 1019 | '@esbuild/linux-arm': 0.17.17 1020 | '@esbuild/linux-arm64': 0.17.17 1021 | '@esbuild/linux-ia32': 0.17.17 1022 | '@esbuild/linux-loong64': 0.17.17 1023 | '@esbuild/linux-mips64el': 0.17.17 1024 | '@esbuild/linux-ppc64': 0.17.17 1025 | '@esbuild/linux-riscv64': 0.17.17 1026 | '@esbuild/linux-s390x': 0.17.17 1027 | '@esbuild/linux-x64': 0.17.17 1028 | '@esbuild/netbsd-x64': 0.17.17 1029 | '@esbuild/openbsd-x64': 0.17.17 1030 | '@esbuild/sunos-x64': 0.17.17 1031 | '@esbuild/win32-arm64': 0.17.17 1032 | '@esbuild/win32-ia32': 0.17.17 1033 | '@esbuild/win32-x64': 0.17.17 1034 | dev: true 1035 | 1036 | /escape-string-regexp@5.0.0: 1037 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1038 | engines: {node: '>=12'} 1039 | dev: true 1040 | 1041 | /esno@0.16.3: 1042 | resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==} 1043 | hasBin: true 1044 | dependencies: 1045 | tsx: 3.12.6 1046 | dev: true 1047 | 1048 | /estree-walker@2.0.2: 1049 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1050 | 1051 | /evtd@0.2.4: 1052 | resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} 1053 | dev: true 1054 | 1055 | /fast-glob@3.2.12: 1056 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1057 | engines: {node: '>=8.6.0'} 1058 | dependencies: 1059 | '@nodelib/fs.stat': 2.0.5 1060 | '@nodelib/fs.walk': 1.2.8 1061 | glob-parent: 5.1.2 1062 | merge2: 1.4.1 1063 | micromatch: 4.0.5 1064 | dev: true 1065 | 1066 | /fastq@1.15.0: 1067 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1068 | dependencies: 1069 | reusify: 1.0.4 1070 | dev: true 1071 | 1072 | /fill-range@7.0.1: 1073 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1074 | engines: {node: '>=8'} 1075 | dependencies: 1076 | to-regex-range: 5.0.1 1077 | dev: true 1078 | 1079 | /fsevents@2.3.2: 1080 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1081 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1082 | os: [darwin] 1083 | requiresBuild: true 1084 | dev: true 1085 | optional: true 1086 | 1087 | /function-bind@1.1.1: 1088 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1089 | dev: true 1090 | 1091 | /get-tsconfig@4.5.0: 1092 | resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} 1093 | dev: true 1094 | 1095 | /glob-parent@5.1.2: 1096 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1097 | engines: {node: '>= 6'} 1098 | dependencies: 1099 | is-glob: 4.0.3 1100 | dev: true 1101 | 1102 | /has@1.0.3: 1103 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1104 | engines: {node: '>= 0.4.0'} 1105 | dependencies: 1106 | function-bind: 1.1.1 1107 | dev: true 1108 | 1109 | /highlight.js@11.7.0: 1110 | resolution: {integrity: sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==} 1111 | engines: {node: '>=12.0.0'} 1112 | dev: true 1113 | 1114 | /immutable@4.3.0: 1115 | resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} 1116 | dev: true 1117 | 1118 | /is-binary-path@2.1.0: 1119 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1120 | engines: {node: '>=8'} 1121 | dependencies: 1122 | binary-extensions: 2.2.0 1123 | dev: true 1124 | 1125 | /is-core-module@2.12.0: 1126 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} 1127 | dependencies: 1128 | has: 1.0.3 1129 | dev: true 1130 | 1131 | /is-extglob@2.1.1: 1132 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1133 | engines: {node: '>=0.10.0'} 1134 | dev: true 1135 | 1136 | /is-glob@4.0.3: 1137 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1138 | engines: {node: '>=0.10.0'} 1139 | dependencies: 1140 | is-extglob: 2.1.1 1141 | dev: true 1142 | 1143 | /is-number@7.0.0: 1144 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1145 | engines: {node: '>=0.12.0'} 1146 | dev: true 1147 | 1148 | /jsonc-parser@3.2.0: 1149 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1150 | dev: true 1151 | 1152 | /local-pkg@0.4.3: 1153 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1154 | engines: {node: '>=14'} 1155 | dev: true 1156 | 1157 | /lodash-es@4.17.21: 1158 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1159 | dev: true 1160 | 1161 | /lodash@4.17.21: 1162 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1163 | dev: true 1164 | 1165 | /lru-cache@6.0.0: 1166 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1167 | engines: {node: '>=10'} 1168 | dependencies: 1169 | yallist: 4.0.0 1170 | dev: true 1171 | 1172 | /magic-string@0.25.9: 1173 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1174 | dependencies: 1175 | sourcemap-codec: 1.4.8 1176 | 1177 | /magic-string@0.26.7: 1178 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} 1179 | engines: {node: '>=12'} 1180 | dependencies: 1181 | sourcemap-codec: 1.4.8 1182 | dev: true 1183 | 1184 | /mdn-data@2.0.14: 1185 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 1186 | dev: true 1187 | 1188 | /merge2@1.4.1: 1189 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1190 | engines: {node: '>= 8'} 1191 | dev: true 1192 | 1193 | /micromatch@4.0.5: 1194 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1195 | engines: {node: '>=8.6'} 1196 | dependencies: 1197 | braces: 3.0.2 1198 | picomatch: 2.3.1 1199 | dev: true 1200 | 1201 | /minimatch@5.1.6: 1202 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1203 | engines: {node: '>=10'} 1204 | dependencies: 1205 | brace-expansion: 2.0.1 1206 | dev: true 1207 | 1208 | /mlly@0.5.17: 1209 | resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==} 1210 | dependencies: 1211 | acorn: 8.8.2 1212 | pathe: 1.1.0 1213 | pkg-types: 1.0.2 1214 | ufo: 1.1.1 1215 | dev: true 1216 | 1217 | /mlly@1.2.0: 1218 | resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} 1219 | dependencies: 1220 | acorn: 8.8.2 1221 | pathe: 1.1.0 1222 | pkg-types: 1.0.2 1223 | ufo: 1.1.1 1224 | dev: true 1225 | 1226 | /ms@2.1.2: 1227 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1228 | dev: true 1229 | 1230 | /naive-ui@2.33.2(vue@3.2.37): 1231 | resolution: {integrity: sha512-XT18dOE7dK15xedO9MlrPsD3AXBKncr0lqlsxakHl/DckqOaAbdA7yxDl/qtVTBC+1Rlf29cFP/th7P7DSy5zg==} 1232 | peerDependencies: 1233 | vue: ^3.0.0 1234 | dependencies: 1235 | '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) 1236 | '@css-render/vue3-ssr': 0.15.12(vue@3.2.37) 1237 | '@types/lodash': 4.14.194 1238 | '@types/lodash-es': 4.17.7 1239 | async-validator: 4.2.5 1240 | css-render: 0.15.12 1241 | date-fns: 2.29.3 1242 | date-fns-tz: 1.3.8(date-fns@2.29.3) 1243 | evtd: 0.2.4 1244 | highlight.js: 11.7.0 1245 | lodash: 4.17.21 1246 | lodash-es: 4.17.21 1247 | seemly: 0.3.6 1248 | treemate: 0.3.11 1249 | vdirs: 0.1.8(vue@3.2.37) 1250 | vooks: 0.2.12(vue@3.2.37) 1251 | vue: 3.2.37 1252 | vueuc: 0.4.51(vue@3.2.37) 1253 | dev: true 1254 | 1255 | /nanoid@3.3.6: 1256 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1257 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1258 | hasBin: true 1259 | 1260 | /normalize-path@3.0.0: 1261 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1262 | engines: {node: '>=0.10.0'} 1263 | dev: true 1264 | 1265 | /nth-check@2.1.1: 1266 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1267 | dependencies: 1268 | boolbase: 1.0.0 1269 | dev: true 1270 | 1271 | /path-parse@1.0.7: 1272 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1273 | dev: true 1274 | 1275 | /pathe@0.3.9: 1276 | resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} 1277 | dev: true 1278 | 1279 | /pathe@1.1.0: 1280 | resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} 1281 | dev: true 1282 | 1283 | /picocolors@1.0.0: 1284 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1285 | 1286 | /picomatch@2.3.1: 1287 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1288 | engines: {node: '>=8.6'} 1289 | dev: true 1290 | 1291 | /pkg-types@1.0.2: 1292 | resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} 1293 | dependencies: 1294 | jsonc-parser: 3.2.0 1295 | mlly: 1.2.0 1296 | pathe: 1.1.0 1297 | dev: true 1298 | 1299 | /postcss@8.4.22: 1300 | resolution: {integrity: sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==} 1301 | engines: {node: ^10 || ^12 || >=14} 1302 | dependencies: 1303 | nanoid: 3.3.6 1304 | picocolors: 1.0.0 1305 | source-map-js: 1.0.2 1306 | 1307 | /qrcode.vue@3.3.3(vue@3.2.37): 1308 | resolution: {integrity: sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw==} 1309 | peerDependencies: 1310 | vue: ^3.0.0 1311 | dependencies: 1312 | vue: 3.2.37 1313 | dev: false 1314 | 1315 | /queue-microtask@1.2.3: 1316 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1317 | dev: true 1318 | 1319 | /readdirp@3.6.0: 1320 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1321 | engines: {node: '>=8.10.0'} 1322 | dependencies: 1323 | picomatch: 2.3.1 1324 | dev: true 1325 | 1326 | /resolve@1.22.2: 1327 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} 1328 | hasBin: true 1329 | dependencies: 1330 | is-core-module: 2.12.0 1331 | path-parse: 1.0.7 1332 | supports-preserve-symlinks-flag: 1.0.0 1333 | dev: true 1334 | 1335 | /reusify@1.0.4: 1336 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1337 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1338 | dev: true 1339 | 1340 | /rollup@2.78.1: 1341 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} 1342 | engines: {node: '>=10.0.0'} 1343 | hasBin: true 1344 | optionalDependencies: 1345 | fsevents: 2.3.2 1346 | dev: true 1347 | 1348 | /run-parallel@1.2.0: 1349 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1350 | dependencies: 1351 | queue-microtask: 1.2.3 1352 | dev: true 1353 | 1354 | /sass@1.54.9: 1355 | resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==} 1356 | engines: {node: '>=12.0.0'} 1357 | hasBin: true 1358 | dependencies: 1359 | chokidar: 3.5.3 1360 | immutable: 4.3.0 1361 | source-map-js: 1.0.2 1362 | dev: true 1363 | 1364 | /scule@0.3.2: 1365 | resolution: {integrity: sha512-zIvPdjOH8fv8CgrPT5eqtxHQXmPNnV/vHJYffZhE43KZkvULvpCTvOt1HPlFaCZx287INL9qaqrZg34e8NgI4g==} 1366 | dev: true 1367 | 1368 | /seemly@0.3.6: 1369 | resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==} 1370 | dev: true 1371 | 1372 | /semver@7.5.0: 1373 | resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} 1374 | engines: {node: '>=10'} 1375 | hasBin: true 1376 | dependencies: 1377 | lru-cache: 6.0.0 1378 | dev: true 1379 | 1380 | /source-map-js@1.0.2: 1381 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1382 | engines: {node: '>=0.10.0'} 1383 | 1384 | /source-map-support@0.5.21: 1385 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1386 | dependencies: 1387 | buffer-from: 1.1.2 1388 | source-map: 0.6.1 1389 | dev: true 1390 | 1391 | /source-map@0.6.1: 1392 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1393 | engines: {node: '>=0.10.0'} 1394 | 1395 | /sourcemap-codec@1.4.8: 1396 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1397 | deprecated: Please use @jridgewell/sourcemap-codec instead 1398 | 1399 | /stable@0.1.8: 1400 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} 1401 | deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' 1402 | dev: true 1403 | 1404 | /strip-literal@0.4.2: 1405 | resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} 1406 | dependencies: 1407 | acorn: 8.8.2 1408 | dev: true 1409 | 1410 | /supports-preserve-symlinks-flag@1.0.0: 1411 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1412 | engines: {node: '>= 0.4'} 1413 | dev: true 1414 | 1415 | /svgo@2.8.0: 1416 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} 1417 | engines: {node: '>=10.13.0'} 1418 | hasBin: true 1419 | dependencies: 1420 | '@trysound/sax': 0.2.0 1421 | commander: 7.2.0 1422 | css-select: 4.3.0 1423 | css-tree: 1.1.3 1424 | csso: 4.2.0 1425 | picocolors: 1.0.0 1426 | stable: 0.1.8 1427 | dev: true 1428 | 1429 | /to-fast-properties@2.0.0: 1430 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1431 | engines: {node: '>=4'} 1432 | 1433 | /to-regex-range@5.0.1: 1434 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1435 | engines: {node: '>=8.0'} 1436 | dependencies: 1437 | is-number: 7.0.0 1438 | dev: true 1439 | 1440 | /treemate@0.3.11: 1441 | resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} 1442 | dev: true 1443 | 1444 | /tsx@3.12.6: 1445 | resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==} 1446 | hasBin: true 1447 | dependencies: 1448 | '@esbuild-kit/cjs-loader': 2.4.2 1449 | '@esbuild-kit/core-utils': 3.1.0 1450 | '@esbuild-kit/esm-loader': 2.5.5 1451 | optionalDependencies: 1452 | fsevents: 2.3.2 1453 | dev: true 1454 | 1455 | /typescript@4.6.4: 1456 | resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} 1457 | engines: {node: '>=4.2.0'} 1458 | hasBin: true 1459 | dev: true 1460 | 1461 | /ufo@1.1.1: 1462 | resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} 1463 | dev: true 1464 | 1465 | /unimport@0.6.8: 1466 | resolution: {integrity: sha512-MWkaPYvN0j+6jfEuiVFhfmy+aOtgAP11CozSbu/I3Cx+8ybjXIueB7GVlKofHabtjzSlPeAvWKJSFjHWsG2JaA==} 1467 | dependencies: 1468 | '@rollup/pluginutils': 4.2.1 1469 | escape-string-regexp: 5.0.0 1470 | fast-glob: 3.2.12 1471 | local-pkg: 0.4.3 1472 | magic-string: 0.26.7 1473 | mlly: 0.5.17 1474 | pathe: 0.3.9 1475 | scule: 0.3.2 1476 | strip-literal: 0.4.2 1477 | unplugin: 0.9.6 1478 | dev: true 1479 | 1480 | /unplugin-auto-import@0.11.2: 1481 | resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==} 1482 | engines: {node: '>=14'} 1483 | peerDependencies: 1484 | '@vueuse/core': '*' 1485 | peerDependenciesMeta: 1486 | '@vueuse/core': 1487 | optional: true 1488 | dependencies: 1489 | '@antfu/utils': 0.5.2 1490 | '@rollup/pluginutils': 4.2.1 1491 | local-pkg: 0.4.3 1492 | magic-string: 0.26.7 1493 | unimport: 0.6.8 1494 | unplugin: 0.9.6 1495 | dev: true 1496 | 1497 | /unplugin-vue-components@0.22.4(vue@3.2.37): 1498 | resolution: {integrity: sha512-2rRZcM9OnJGXnYxQNfaceEYuPeVACcWySIjy8WBwIiN3onr980TmA3XE5pRJFt8zoQrUA+c46oyIq96noLqrEQ==} 1499 | engines: {node: '>=14'} 1500 | peerDependencies: 1501 | '@babel/parser': ^7.15.8 1502 | vue: 2 || 3 1503 | peerDependenciesMeta: 1504 | '@babel/parser': 1505 | optional: true 1506 | dependencies: 1507 | '@antfu/utils': 0.5.2 1508 | '@rollup/pluginutils': 4.2.1 1509 | chokidar: 3.5.3 1510 | debug: 4.3.4 1511 | fast-glob: 3.2.12 1512 | local-pkg: 0.4.3 1513 | magic-string: 0.26.7 1514 | minimatch: 5.1.6 1515 | resolve: 1.22.2 1516 | unplugin: 0.9.6 1517 | vue: 3.2.37 1518 | transitivePeerDependencies: 1519 | - supports-color 1520 | dev: true 1521 | 1522 | /unplugin@0.9.6: 1523 | resolution: {integrity: sha512-YYLtfoNiie/lxswy1GOsKXgnLJTE27la/PeCGznSItk+8METYZErO+zzV9KQ/hXhPwzIJsfJ4s0m1Rl7ZCWZ4Q==} 1524 | dependencies: 1525 | acorn: 8.8.2 1526 | chokidar: 3.5.3 1527 | webpack-sources: 3.2.3 1528 | webpack-virtual-modules: 0.4.6 1529 | dev: true 1530 | 1531 | /vdirs@0.1.8(vue@3.2.37): 1532 | resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} 1533 | peerDependencies: 1534 | vue: ^3.0.11 1535 | dependencies: 1536 | evtd: 0.2.4 1537 | vue: 3.2.37 1538 | dev: true 1539 | 1540 | /vite-svg-loader@3.6.0: 1541 | resolution: {integrity: sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==} 1542 | dependencies: 1543 | '@vue/compiler-sfc': 3.2.47 1544 | svgo: 2.8.0 1545 | dev: true 1546 | 1547 | /vite@3.1.0(sass@1.54.9): 1548 | resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==} 1549 | engines: {node: ^14.18.0 || >=16.0.0} 1550 | hasBin: true 1551 | peerDependencies: 1552 | less: '*' 1553 | sass: '*' 1554 | stylus: '*' 1555 | terser: ^5.4.0 1556 | peerDependenciesMeta: 1557 | less: 1558 | optional: true 1559 | sass: 1560 | optional: true 1561 | stylus: 1562 | optional: true 1563 | terser: 1564 | optional: true 1565 | dependencies: 1566 | esbuild: 0.15.18 1567 | postcss: 8.4.22 1568 | resolve: 1.22.2 1569 | rollup: 2.78.1 1570 | sass: 1.54.9 1571 | optionalDependencies: 1572 | fsevents: 2.3.2 1573 | dev: true 1574 | 1575 | /vooks@0.2.12(vue@3.2.37): 1576 | resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} 1577 | peerDependencies: 1578 | vue: ^3.0.0 1579 | dependencies: 1580 | evtd: 0.2.4 1581 | vue: 3.2.37 1582 | dev: true 1583 | 1584 | /vue-demi@0.14.0(vue@3.2.37): 1585 | resolution: {integrity: sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==} 1586 | engines: {node: '>=12'} 1587 | hasBin: true 1588 | requiresBuild: true 1589 | peerDependencies: 1590 | '@vue/composition-api': ^1.0.0-rc.1 1591 | vue: ^3.0.0-0 || ^2.6.0 1592 | peerDependenciesMeta: 1593 | '@vue/composition-api': 1594 | optional: true 1595 | dependencies: 1596 | vue: 3.2.37 1597 | dev: false 1598 | 1599 | /vue-tsc@0.40.4(typescript@4.6.4): 1600 | resolution: {integrity: sha512-UpK0GlGZHlS+G+LKl6+/f+78GY9MA38vHKBLh/6L/Cfa8NQEH4D5H/EpqcSHXZ7wRRFjzp9LWgj5vc5q1iEClA==} 1601 | hasBin: true 1602 | peerDependencies: 1603 | typescript: '*' 1604 | dependencies: 1605 | '@volar/vue-language-core': 0.40.4 1606 | '@volar/vue-typescript': 0.40.4 1607 | typescript: 4.6.4 1608 | dev: true 1609 | 1610 | /vue@3.2.37: 1611 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==} 1612 | dependencies: 1613 | '@vue/compiler-dom': 3.2.37 1614 | '@vue/compiler-sfc': 3.2.37 1615 | '@vue/runtime-dom': 3.2.37 1616 | '@vue/server-renderer': 3.2.37(vue@3.2.37) 1617 | '@vue/shared': 3.2.37 1618 | 1619 | /vueuc@0.4.51(vue@3.2.37): 1620 | resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} 1621 | peerDependencies: 1622 | vue: ^3.0.11 1623 | dependencies: 1624 | '@css-render/vue3-ssr': 0.15.12(vue@3.2.37) 1625 | '@juggle/resize-observer': 3.4.0 1626 | css-render: 0.15.12 1627 | evtd: 0.2.4 1628 | seemly: 0.3.6 1629 | vdirs: 0.1.8(vue@3.2.37) 1630 | vooks: 0.2.12(vue@3.2.37) 1631 | vue: 3.2.37 1632 | dev: true 1633 | 1634 | /webpack-sources@3.2.3: 1635 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 1636 | engines: {node: '>=10.13.0'} 1637 | dev: true 1638 | 1639 | /webpack-virtual-modules@0.4.6: 1640 | resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} 1641 | dev: true 1642 | 1643 | /yallist@4.0.0: 1644 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1645 | dev: true 1646 | --------------------------------------------------------------------------------