diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 000000000..2329dbab0 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,44 @@ + +name: 部署文档 + +on: + push: + branches: + # 确保这是你正在使用的分支名称 + - main + +jobs: + deploy-gh-pages: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + # 如果你文档需要 Git 子模块,取消注释下一行 + # submodules: true + + + + - name: 设置 Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: npm + + - name: 安装依赖 + run: npm ci + + - name: 构建文档 + env: + NODE_OPTIONS: --max_old_space_size=8192 + run: |- + npm run docs:build + > src/.vuepress/dist/.nojekyll + + - name: 部署文档 + uses: JamesIves/github-pages-deploy-action@v4 + with: + # 这是文档部署到的分支名称 + branch: gh-pages + folder: src/.vuepress/dist diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..411fb0d34 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +node_modules/ +src/.vuepress/.cache/ +src/.vuepress/.temp/ +src/.vuepress/dist/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..da6936de2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9710 @@ +{ + "name": "chi_scut_blog", + "version": "2.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "chi_scut_blog", + "version": "2.0.0", + "license": "MIT", + "devDependencies": { + "@vuepress/client": "2.0.0-beta.62", + "vue": "^3.2.47", + "vuepress": "2.0.0-beta.62", + "vuepress-theme-hope": "2.0.0-beta.211" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", + "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.8", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz", + "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.5", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.21.8", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz", + "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz", + "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz", + "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-member-expression-to-functions": "^7.21.5", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", + "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", + "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.21.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", + "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.21.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", + "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", + "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.21.5.tgz", + "integrity": "sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", + "@babel/plugin-proposal-async-generator-functions": "^7.20.7", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.21.0", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.21.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.21.5", + "@babel/plugin-transform-async-to-generator": "^7.20.7", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.21.0", + "@babel/plugin-transform-classes": "^7.21.0", + "@babel/plugin-transform-computed-properties": "^7.21.5", + "@babel/plugin-transform-destructuring": "^7.21.3", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.21.5", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.20.11", + "@babel/plugin-transform-modules-commonjs": "^7.21.5", + "@babel/plugin-transform-modules-systemjs": "^7.20.11", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.21.3", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.21.5", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.20.7", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.21.5", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.21.5", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", + "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==", + "dev": true + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@khanacademy/simple-markdown": { + "version": "0.8.6", + "resolved": "https://registry.npmmirror.com/@khanacademy/simple-markdown/-/simple-markdown-0.8.6.tgz", + "integrity": "sha512-mAUlR9lchzfqunR89pFvNI51jQKsMpJeWYsYWw0DQcUXczn/T/V6510utgvm7X0N3zN87j1SvuKk8cMbl9IAFw==", + "dev": true, + "dependencies": { + "@types/react": ">=16.0.0" + }, + "peerDependencies": { + "react": "16.14.0", + "react-dom": "16.14.0" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", + "dev": true + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==", + "dev": true + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@mdit-vue/plugin-component": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-component/-/plugin-component-0.12.0.tgz", + "integrity": "sha512-LrwV3f0Y6H7b7m/w1Y3bkGuR3HOiBK4QiHHW3HuRMza6MZodDQbj8Baik5/V5GiSg1/ltijS1CymVcycd1EfTw==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/plugin-frontmatter": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.12.0.tgz", + "integrity": "sha512-26Y3JktjGgNoCVH7NLqi5RcdAauAqxepTt2qXueRcRHtGpiRQV2/M1FveIhCOTCtHSuG5bBOHUxGaV6vRK3Vbw==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "gray-matter": "^4.0.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/plugin-headers": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-headers/-/plugin-headers-0.12.0.tgz", + "integrity": "sha512-7qR63J2uc/rXbjHT77WoYBm9imwzx1tVESmRK+Uth6kqFvSWAXAFPcm4PBatGEE8TgzhklPs5BTcQtQhmmsyaw==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "0.12.0", + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/plugin-sfc": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-sfc/-/plugin-sfc-0.12.0.tgz", + "integrity": "sha512-mH+rHsERzDxGucAQJILspRiD723AIWMmtMhp7lDKdkCIbIhYfupFv/CkSeX+LAx5UY5greWvUTPGYVKn4gw/5Q==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/plugin-title": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-title/-/plugin-title-0.12.0.tgz", + "integrity": "sha512-XrQcior1EmPgsDG88KsoF4LUSQw/RS1Nyfn5xNWGiurO70a2hml4kCe0XzT4sLKUAPG0HNbIY6b92ezNezqWTg==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "0.12.0", + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/plugin-toc": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/plugin-toc/-/plugin-toc-0.12.0.tgz", + "integrity": "sha512-tT985CqvLp17DFWHrSvmmJbh7qcy0Rl0dBbYN//Fn952a04dbr1mb2LqW0B1oStSAQj2q24HpK4ZPgYOt7Z1Jg==", + "dev": true, + "dependencies": { + "@mdit-vue/shared": "0.12.0", + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/shared": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/shared/-/shared-0.12.0.tgz", + "integrity": "sha512-E+sGSubhvnp+Gmb2hJXFDxdLwwQD1H52EVbA4yrxxI5q/cwtnPIN2eJU3zlZB9KcvzXYDFFwt/x2mfhK8RZKBg==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "0.12.0", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit-vue/types": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@mdit-vue/types/-/types-0.12.0.tgz", + "integrity": "sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA==", + "dev": true + }, + "node_modules/@mdit/plugin-align": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-align/-/plugin-align-0.4.5.tgz", + "integrity": "sha512-TwZXdfEPbPz2k8S+u9wML5RTO4R3vNxm5wLDuMbPmoT3hwp0cbA6mwYZp7XODEZ4FXLrlG4rnyHHsDoQ8kTBeA==", + "dev": true, + "dependencies": { + "@mdit/plugin-container": "0.4.5", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-attrs": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-attrs/-/plugin-attrs-0.4.5.tgz", + "integrity": "sha512-20sfnsVz0IhMMLXJMXhhp8nHF5H8nTnSINlA0bK1b4aaVNLTXXxHqOgXVsfKY+LcjH/rXA1VefItsat0xPN9aw==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-container": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-container/-/plugin-container-0.4.5.tgz", + "integrity": "sha512-fWZAaGYPN5WvJWFXghOiefOGw56lFQrU+UxE1PWb9M2am18Bn6XPbQvrIToHiqOdoSipYpLuZTp6a1Vcap85dQ==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-figure": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-figure/-/plugin-figure-0.4.5.tgz", + "integrity": "sha512-bCctdCFSa2OnB994NJ2276Ym4sS16HMkJJ/+y6IllWzN33oUowjneCnfoSizE6ysge44QtNDueMhXn2eSPC1TQ==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-footnote": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-footnote/-/plugin-footnote-0.4.5.tgz", + "integrity": "sha512-XKcnWlnu1vtFwgGdG4sykWLhCkt9mHhbPZlJvQGyXHWcC+W2wo27n82q8nT/fBfrSC+k7mzjGR7+jAtHLup5Xg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-img-lazyload": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-img-lazyload/-/plugin-img-lazyload-0.4.5.tgz", + "integrity": "sha512-eYG7YBBOPYwSPOP0ku8RHKWLlQXilcCD9BhqYUc1rMOE/eMNDJakicu8w0IsFunaJMaoFBjtQgn9gPby7+MZwg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-img-mark": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-img-mark/-/plugin-img-mark-0.4.5.tgz", + "integrity": "sha512-e79VUTtW0aJkZXhFswHc4HR2lDsQVBa8i5E0kiFlR8/UiHrn3vP03QbXJs9SILUlaeWtSDmCUTQjsNg/Yd/RDg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-img-size": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-img-size/-/plugin-img-size-0.4.5.tgz", + "integrity": "sha512-RYnpsi+YAAyG6I7N9WtsOAp4iPCucbABPmjmkqdnoFtFPV3VQHCTA8Y4sKMm/PP/d56L3DVny+UaVSMs0zsdRA==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-include": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-include/-/plugin-include-0.4.5.tgz", + "integrity": "sha512-oq2fIPWGFUAUfWxxobbs9XuVXk5w0rL5jtqVCCPBKiSHRiTtFtmGm28bNLiiDm5RY7kItOqOrQ6pREE9X8Kdug==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1", + "upath": "^2.0.1" + } + }, + "node_modules/@mdit/plugin-katex": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-katex/-/plugin-katex-0.4.5.tgz", + "integrity": "sha512-ELW2n+s1f22sKBSATTllmTjEcui6ALFQbifJ7tdpGczfNZ3bRtUrdGYrN6C4vzataaELcp3MurG0XFfe0oIUCw==", + "dev": true, + "dependencies": { + "@mdit/plugin-tex": "0.4.5", + "@types/katex": "^0.16.0", + "@types/markdown-it": "^12.2.3", + "katex": "^0.16.7", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-mark": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-mark/-/plugin-mark-0.4.5.tgz", + "integrity": "sha512-gqC7qUxTq/BaABYwTKg2PBPO4BsugAQso3Nb8VibfPvbEOEJxpg7sCFe1qoYspIQ8e5fxTKQ94cBuuQbTHEABQ==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-mathjax": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-mathjax/-/plugin-mathjax-0.4.5.tgz", + "integrity": "sha512-5AddT0QC+ODH17yvNmx2kAfiY2bVg24HHhsI0nXg0ZX21LMHCjKM6k0Fuvj4BQLB9jYoZDf9v7325W7sRsfedQ==", + "dev": true, + "dependencies": { + "@mdit/plugin-tex": "0.4.5", + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1", + "mathjax-full": "^3.2.2", + "upath": "^2.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-stylize": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-stylize/-/plugin-stylize-0.4.5.tgz", + "integrity": "sha512-nRgYHFrEewL3lf55IrVsazpOgTwcxnEtLck/ruzYOYhxnvUVUb0tSo8c4rokLAcHq/2s7/UPXjQfb5fMCnwwWQ==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-sub": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-sub/-/plugin-sub-0.4.5.tgz", + "integrity": "sha512-Q7RLah3SrQDP+OXl38yPLYhSqRLEquN2YELccC0DHGwjBfDHk8wHThnExNJngTaGgkxoBysLfoG6HGX6pby1Mg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-sup": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-sup/-/plugin-sup-0.4.5.tgz", + "integrity": "sha512-8EWIfqdWLOuA46X7f1NxgIiLJy6giW+DJXlPguwg0bhXQI7b6QZgd7v9nv0IFesRcHwzYdfSbpgXqKFdrUBivw==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-tab": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-tab/-/plugin-tab-0.4.5.tgz", + "integrity": "sha512-ya3uDEA9I0+MSk8DQaJWrND/ZxBRnLspBouNvn49TqEqvMmLseK140DvKymb2PvnxE4AfJQY+eAeDPzpA7b7yw==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + } + }, + "node_modules/@mdit/plugin-tasklist": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-tasklist/-/plugin-tasklist-0.4.5.tgz", + "integrity": "sha512-c5agRjHLa+JWjm6ovs+MsYdjafDAVzo3KbmN8nj8bCm+Rn9CVyOzq/lW0xmCs2I86kiDNZBukaESsIiM8f2s4w==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-tex": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-tex/-/plugin-tex-0.4.5.tgz", + "integrity": "sha512-L7ekZLMdzBNqsHzFS00ULyV+6ADtNAw5n7wN48qkE63K7QRWpXKEdXkNQ3LyaUwPCfSm1GgUv/QzI7SYiiL6jg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mdit/plugin-uml": { + "version": "0.4.5", + "resolved": "https://registry.npmmirror.com/@mdit/plugin-uml/-/plugin-uml-0.4.5.tgz", + "integrity": "sha512-f9Y2AWz9Lt4hxx0c6VAFh2DZ9/aACJ+Uzrj7dvEmrW13WBNQxOhzxfoyTyo+dQmi7HyNdbz8RDXctJe+Yh+cWg==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "markdown-it": "^13.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@stackblitz/sdk": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@stackblitz/sdk/-/sdk-1.9.0.tgz", + "integrity": "sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==", + "dev": true + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true, + "peer": true + }, + "node_modules/@types/fs-extra": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-11.0.1.tgz", + "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", + "dev": true, + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "node_modules/@types/hash-sum": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@types/hash-sum/-/hash-sum-1.0.0.tgz", + "integrity": "sha512-FdLBT93h3kcZ586Aee66HPCVJ6qvxVjBlDWNmxSGSbCZe9hTsjRKdSsl4y1T+3zfujxo9auykQMnFsfyHWD7wg==", + "dev": true + }, + "node_modules/@types/js-yaml": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/@types/js-yaml/-/js-yaml-4.0.5.tgz", + "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/jsonfile": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/@types/jsonfile/-/jsonfile-6.1.1.tgz", + "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/katex": { + "version": "0.16.0", + "resolved": "https://registry.npmmirror.com/@types/katex/-/katex-0.16.0.tgz", + "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==", + "dev": true + }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/markdown-it-emoji": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/@types/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", + "integrity": "sha512-2ln8Wjbcj/0oRi/6VnuMeWEHHuK8uapFttvcLmDIe1GKCsFBLOLBX+D+xhDa9oWOQV0IpvxwrSfKKssAqqroog==", + "dev": true, + "dependencies": { + "@types/markdown-it": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.1.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.1.5.tgz", + "integrity": "sha512-IvGD1CD/nego63ySR7vrAKEX3AJTcmrAN2kn+/sDNLi1Ff5kBzDeEdqWDplK+0HAEoLYej137Sk0cUU8OLOlMg==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/raphael": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/@types/raphael/-/raphael-2.3.3.tgz", + "integrity": "sha512-Rhvq0q6wzyvipejki/9w87/pgapyE+s3gO66tdl1oD3qDrow+ek+4vVYAbRkeL58HCCK9EOZKwyjqYJ/TFkmtQ==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.6", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.6.tgz", + "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.17", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", + "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.2.tgz", + "integrity": "sha512-CKZWo1dzsQYTNTft7whzjL0HsrEpMfiK7pjZ2WFE3bC1NA7caUjWioHSK+49y/LK7Bsm4poJZzAMnvZMQ7OTeg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.2", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.2.tgz", + "integrity": "sha512-6gS3auANuKXLw0XH6QxkWqyPYPunziS2xb6VRenM3JY7gVfZcJvkCBHkb5RuNY1FCbBO3lkIi0CdXUCW1c7SXw==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.3.2", + "@vue/shared": "3.3.2" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.2.tgz", + "integrity": "sha512-jG4jQy28H4BqzEKsQqqW65BZgmo3vzdLHTBjF+35RwtDdlFE+Fk1VWJYUnDMMqkFBo6Ye1ltSKVOMPgkzYj7SQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.2", + "@vue/compiler-dom": "3.3.2", + "@vue/compiler-ssr": "3.3.2", + "@vue/reactivity-transform": "3.3.2", + "@vue/shared": "3.3.2", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.2.tgz", + "integrity": "sha512-K8OfY5FQtZaSOJHHe8xhEfIfLrefL/Y9frv4k4NsyQL3+0lRKxr9QuJhfdBDjkl7Fhz8CzKh63mULvmOfx3l2w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.2", + "@vue/shared": "3.3.2" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.2.tgz", + "integrity": "sha512-yX8C4uTgg2Tdj+512EEMnMKbLveoITl7YdQX35AYgx8vBvQGszKiiCN46g4RY6/deeo/5DLbeUUGxCq1qWMf5g==", + "dev": true, + "dependencies": { + "@vue/shared": "3.3.2" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.2.tgz", + "integrity": "sha512-iu2WaQvlJHdnONrsyv4ibIEnSsuKF+aHFngGj/y1lwpHQtalpVhKg9wsKMoiKXS9zPNjG9mNKzJS9vudvjzvyg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.2", + "@vue/shared": "3.3.2", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "node_modules/@vue/repl": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@vue/repl/-/repl-1.4.1.tgz", + "integrity": "sha512-7ONz/o1OtS611jW6SdAOZXn4HdN8gfyatcOzcEu+3bDMvgbyr7ZUcbRV6Y4xdkxDARKDBzs+sb3/oz1Na5hAeQ==", + "dev": true, + "peerDependencies": { + "vue": "^3.2.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.2.tgz", + "integrity": "sha512-qSl95qj0BvKfcsO+hICqFEoLhJn6++HtsPxmTkkadFbuhe3uQfJ8HmQwvEr7xbxBd2rcJB6XOJg7nWAn/ymC5A==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.3.2", + "@vue/shared": "3.3.2" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.2.tgz", + "integrity": "sha512-+drStsJT+0mtgHdarT7cXZReCcTFfm6ptxMrz0kAW5hms6UNBd8Q1pi4JKlncAhu+Ld/TevsSp7pqAZxBBoGng==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.2", + "@vue/shared": "3.3.2", + "csstype": "^3.1.1" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.2.tgz", + "integrity": "sha512-QCwh6OGwJg6GDLE0fbQhRTR6tnU+XDJ1iCsTYHXBiezCXAhqMygFRij7BiLF4ytvvHcg5kX9joX5R5vP85++wg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.3.2", + "@vue/shared": "3.3.2" + }, + "peerDependencies": { + "vue": "3.3.2" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.2.tgz", + "integrity": "sha512-0rFu3h8JbclbnvvKrs7Fe5FNGV9/5X2rPD7KmOzhLSUAiQH5//Hq437Gv0fR5Mev3u/nbtvmLl8XgwCU20/ZfQ==", + "dev": true + }, + "node_modules/@vuepress/bundler-vite": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/bundler-vite/-/bundler-vite-2.0.0-beta.62.tgz", + "integrity": "sha512-Dpb4rJycssM1gs3MlQ5z0cwQ0KCx9Iliojt+qs5lVIUHP9vfw6ANYx51R3ojctt3dCoWfC4bAL4NhGQndGKvrQ==", + "dev": true, + "dependencies": { + "@vitejs/plugin-vue": "^4.2.2", + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "autoprefixer": "^10.4.14", + "connect-history-api-fallback": "^2.0.0", + "postcss": "^8.4.23", + "postcss-load-config": "^4.0.1", + "rollup": "^3.21.6", + "vite": "~4.3.5", + "vue": "^3.3.1", + "vue-router": "^4.2.0" + } + }, + "node_modules/@vuepress/cli": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/cli/-/cli-2.0.0-beta.62.tgz", + "integrity": "sha512-z5mpxORVSZUWsSGtA0bqvsd4vhMDWXAGnQfHjYZ5ylUgnYMxBZMRWrQcpz9doMCk5Qkn56B2s2jKZEvhyFvdAg==", + "dev": true, + "dependencies": { + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "cac": "^6.7.14", + "chokidar": "^3.5.3", + "envinfo": "^7.8.1", + "esbuild": "~0.17.18" + }, + "bin": { + "vuepress-cli": "bin/vuepress.js" + } + }, + "node_modules/@vuepress/client": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/client/-/client-2.0.0-beta.62.tgz", + "integrity": "sha512-5JT0H6EibhZMVmg1fel2BWFFaAEv5zOoD397LOiMQmcEuUneeKNSwGcLrJDyvv8AOXz4wsXwET/to3TsOFoHDQ==", + "dev": true, + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "@vuepress/shared": "2.0.0-beta.62", + "vue": "^3.3.1", + "vue-router": "^4.2.0" + } + }, + "node_modules/@vuepress/core": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/core/-/core-2.0.0-beta.62.tgz", + "integrity": "sha512-IyL1lxkRg2PO6oFDcioa5YKckKO8jEIwPaNG4mwv7bIEwaN5kpsROVtBeYHKkcnncWQMrbBG/z8aHDvjO/vFJA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/markdown": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.1" + } + }, + "node_modules/@vuepress/markdown": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/markdown/-/markdown-2.0.0-beta.62.tgz", + "integrity": "sha512-OTGSHDALEE1zgAJgx9Py1AKR1JA/eLTjw63ul77ymt/5eNlU8/EVJg8Pj2nwL3cpvCpzB6sQ1Xkj4TF7D0aD1Q==", + "dev": true, + "dependencies": { + "@mdit-vue/plugin-component": "^0.12.0", + "@mdit-vue/plugin-frontmatter": "^0.12.0", + "@mdit-vue/plugin-headers": "^0.12.0", + "@mdit-vue/plugin-sfc": "^0.12.0", + "@mdit-vue/plugin-title": "^0.12.0", + "@mdit-vue/plugin-toc": "^0.12.0", + "@mdit-vue/shared": "^0.12.0", + "@mdit-vue/types": "^0.12.0", + "@types/markdown-it": "^12.2.3", + "@types/markdown-it-emoji": "^2.0.2", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "markdown-it": "^13.0.1", + "markdown-it-anchor": "^8.6.7", + "markdown-it-emoji": "^2.0.2", + "mdurl": "^1.0.1" + } + }, + "node_modules/@vuepress/plugin-active-header-links": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-beta.62.tgz", + "integrity": "sha512-NUoa0JP2npSydJQvM1oOPEtPCKRmtqpkPLxTeBCP6ucR/eHpCbBMrgYt3w6kdmMJykc/AWFd4oZA1QS/MAoEtw==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "ts-debounce": "^4.0.0", + "vue": "^3.3.1", + "vue-router": "^4.2.0" + } + }, + "node_modules/@vuepress/plugin-back-to-top": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-beta.62.tgz", + "integrity": "sha512-ndStdKobpq7/YxhtUg2YrSkd8FNoE0v4pPVdTBND6jlkPns4CCcyu+w6BZ8mkiiB2dzS27JrhKcXHz1Tsb0nUA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "ts-debounce": "^4.0.0", + "vue": "^3.3.1" + } + }, + "node_modules/@vuepress/plugin-container": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-container/-/plugin-container-2.0.0-beta.62.tgz", + "integrity": "sha512-ibo0J8ye5KA6zkwIttkVqleSLy4Sq0rcSW+X8cTzyFfoKKs0Y+ECjmf4wRrDl79m+lgpA43mlFpCcbgtmV9aqw==", + "dev": true, + "dependencies": { + "@types/markdown-it": "^12.2.3", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/markdown": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "markdown-it": "^13.0.1", + "markdown-it-container": "^3.0.0" + } + }, + "node_modules/@vuepress/plugin-external-link-icon": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-external-link-icon/-/plugin-external-link-icon-2.0.0-beta.62.tgz", + "integrity": "sha512-mQ7gj6pMHYCp7zk6N92omxUz9CjKYZtvZXkNmsloZsz0hiGS1SdG29vLo8yKm/qVzyu9F45WgVNcdQD5mkzx3Q==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/markdown": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.1" + } + }, + "node_modules/@vuepress/plugin-git": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-git/-/plugin-git-2.0.0-beta.62.tgz", + "integrity": "sha512-vTYUguI+X5G7JPTySDnZ6lcAGXBWlD1Nsw9IV42Hh4fvevWzZ3WIjkAhjZpdURIz+xQPEZBbgqnOKjBpbPx0jA==", + "dev": true, + "dependencies": { + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "execa": "^7.1.1" + } + }, + "node_modules/@vuepress/plugin-medium-zoom": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-beta.62.tgz", + "integrity": "sha512-1BolO1OE9Dxf4xLpEDEYjWTmx+luD6RSwjM+Wbgp7gBMK98yY8N9rHxWCzhLWbTffVezmAO0ze37l7hVd4ypTA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "medium-zoom": "^1.0.8", + "vue": "^3.3.1" + } + }, + "node_modules/@vuepress/plugin-nprogress": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-beta.62.tgz", + "integrity": "sha512-w1Qqw1pP7+fXN+Aznmbfdp62XnQJ2s/FJyoGfV7LjVfV+gWFtqymiJiahvd2aQpBi4/qZNvtFJ1SOQf5tn1CxA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.1", + "vue-router": "^4.2.0" + } + }, + "node_modules/@vuepress/plugin-palette": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-palette/-/plugin-palette-2.0.0-beta.62.tgz", + "integrity": "sha512-Tw+KFxC8c3KIGeXANqMXFLoQ96ZQ/hJaKC0qm6iN04Wk9hKYazkxhPZTAZkOG3SrxaxvOrgnzvicpci6FJgnGA==", + "dev": true, + "dependencies": { + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "chokidar": "^3.5.3" + } + }, + "node_modules/@vuepress/plugin-prismjs": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-beta.62.tgz", + "integrity": "sha512-kPrlh+I4w+YyU6joahjvuMo2zMwbpB36drZYfjXtYFFIxpBQ5Xdse4xx89vYOX0KqckOQrNa/tnYnfBuHBkgAQ==", + "dev": true, + "dependencies": { + "@vuepress/core": "2.0.0-beta.62", + "prismjs": "^1.29.0" + } + }, + "node_modules/@vuepress/plugin-theme-data": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-beta.62.tgz", + "integrity": "sha512-q6XHIDnZcJ5W55TlynKrwHtHormZedEY5man9zT4hlZywr3vVBgToHztObNTqgn6CssFaW2BFXDlW17iyS2D2A==", + "dev": true, + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.1" + } + }, + "node_modules/@vuepress/shared": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/shared/-/shared-2.0.0-beta.62.tgz", + "integrity": "sha512-+OH8WzFz7+IUv+WbcBbCiy3ZTWZ4a2uVRd4GYHWkTE4Ux5V2Sx3KwY17POIGpn/PfMqNHHtjpDH6rO7qmaD+pg==", + "dev": true, + "dependencies": { + "@mdit-vue/types": "^0.12.0", + "@vue/shared": "^3.3.1" + } + }, + "node_modules/@vuepress/theme-default": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/theme-default/-/theme-default-2.0.0-beta.62.tgz", + "integrity": "sha512-J6wLH4tevMnn/2y+MrTpZEVDWf5yvikx0S9TIfpcxjR/nN4XD9eSZrMB3Lt8JqTW/lwFze5MVBdTtVafZs4b3g==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/plugin-active-header-links": "2.0.0-beta.62", + "@vuepress/plugin-back-to-top": "2.0.0-beta.62", + "@vuepress/plugin-container": "2.0.0-beta.62", + "@vuepress/plugin-external-link-icon": "2.0.0-beta.62", + "@vuepress/plugin-git": "2.0.0-beta.62", + "@vuepress/plugin-medium-zoom": "2.0.0-beta.62", + "@vuepress/plugin-nprogress": "2.0.0-beta.62", + "@vuepress/plugin-palette": "2.0.0-beta.62", + "@vuepress/plugin-prismjs": "2.0.0-beta.62", + "@vuepress/plugin-theme-data": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "sass": "^1.62.1", + "sass-loader": "^13.2.2", + "vue": "^3.3.1", + "vue-router": "^4.2.0" + }, + "peerDependencies": { + "sass-loader": "^13.2.1" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + } + } + }, + "node_modules/@vuepress/utils": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/@vuepress/utils/-/utils-2.0.0-beta.62.tgz", + "integrity": "sha512-2hyGGrN1XCUapsSlckHc7FWkklSPZfqcM5eDYjxyIT9XpQrXKYn8r0CUVcveyFdHF76Tw0KyP57JCxUDTxHxVg==", + "dev": true, + "dependencies": { + "@types/debug": "^4.1.7", + "@types/fs-extra": "^11.0.1", + "@types/hash-sum": "^1.0.0", + "@vuepress/shared": "2.0.0-beta.62", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "globby": "^13.1.4", + "hash-sum": "^2.0.0", + "ora": "^6.3.0", + "picocolors": "^1.0.0", + "upath": "^2.0.1" + } + }, + "node_modules/@vueuse/core": { + "version": "10.1.2", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.1.2.tgz", + "integrity": "sha512-roNn8WuerI56A5uiTyF/TEYX0Y+VKlhZAF94unUfdhbDUI+NfwQMn4FUnUscIRUhv3344qvAghopU4bzLPNFlA==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.17", + "@vueuse/metadata": "10.1.2", + "@vueuse/shared": "10.1.2", + "vue-demi": ">=0.14.0" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.1.tgz", + "integrity": "sha512-rt+yuCtXvscYot9SQQj3WKZJVSriPNqVkpVBNEHPzSgBv7QIYzsS410VqVgvx8f9AAPgjg+XPKvmV3vOqqkJQQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.1.2", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.1.2.tgz", + "integrity": "sha512-3mc5BqN9aU2SqBeBuWE7ne4OtXHoHKggNgxZR2K+zIW4YLsy6xoZ4/9vErQs6tvoKDX6QAqm3lvsrv0mczAwIQ==", + "dev": true + }, + "node_modules/@vueuse/shared": { + "version": "10.1.2", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.1.2.tgz", + "integrity": "sha512-1uoUTPBlgyscK9v6ScGeVYDDzlPSFXBlxuK7SfrDGyUTBiznb3mNceqhwvZHjtDRELZEN79V5uWPTF1VDV8svA==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.0" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.1.tgz", + "integrity": "sha512-rt+yuCtXvscYot9SQQj3WKZJVSriPNqVkpVBNEHPzSgBv7QIYzsS410VqVgvx8f9AAPgjg+XPKvmV3vOqqkJQQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@waline/client": { + "version": "2.15.4", + "resolved": "https://registry.npmmirror.com/@waline/client/-/client-2.15.4.tgz", + "integrity": "sha512-wH5lO4gTlF9SSuKCNC5fDnk4brzZDn4u+bBpgwEyu0Tz0deD59hW6ttMizXAZUi5CGT2Me6XqwIVE4WWRBBs6A==", + "dev": true, + "dependencies": { + "@vueuse/core": "^10.1.0", + "autosize": "^6.0.1", + "marked": "^4.3.0", + "vue": "^3.2.47" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ajv/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "peer": true + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "node_modules/artalk": { + "version": "2.5.5", + "resolved": "https://registry.npmmirror.com/artalk/-/artalk-2.5.5.tgz", + "integrity": "sha512-35Dq9sOquQQlxvqZhRtZMp9g2SS94ryNEfSJy9BP9yq005CZoC64DTCBI2WBG+pd9YenihfB5QWwa+jfCZ/5Ew==", + "dev": true, + "dependencies": { + "abortcontroller-polyfill": "^1.7.5", + "hanabi": "^0.4.0", + "insane": "^2.6.2", + "marked": "^5.0.1" + } + }, + "node_modules/artalk/node_modules/marked": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/marked/-/marked-5.0.2.tgz", + "integrity": "sha512-TXksm9GwqXCRNbFUZmMtqNLvy3K2cQHuWmyBDLOrY1e6i9UvZpOTJXoz7fBjYkJkaUFzV9hBFxMuZSyQt8R6KQ==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/artplayer": { + "version": "5.0.9", + "resolved": "https://registry.npmmirror.com/artplayer/-/artplayer-5.0.9.tgz", + "integrity": "sha512-IM/DShYdmKFEA9jl08LYbTK2Jfz9s7qIjEH0xWjnxvVArUKZZKcoqwr6i54U0c4grtc/Uvb4wtCd78kvtSVlgw==", + "dev": true, + "dependencies": { + "option-validator": "^2.0.6" + } + }, + "node_modules/assignment": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/assignment/-/assignment-2.0.0.tgz", + "integrity": "sha512-naMULXjtgCs9SVUEtyvJNt68aF18em7/W+dhbR59kbz9cXWPEvUkCun2tqlgqRPSqZaKPpqLc5ZnwL8jVmJRvw==", + "dev": true + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/autosize": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/autosize/-/autosize-6.0.1.tgz", + "integrity": "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/balloon-css": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/balloon-css/-/balloon-css-1.2.0.tgz", + "integrity": "sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "node_modules/bcp-47": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/bcp-47/-/bcp-47-1.0.8.tgz", + "integrity": "sha512-Y9y1QNBBtYtv7hcmoX0tR+tUNSFZGZ6OL6vKPObq8BbOhkCoyayF6ogfLTgAli/KuAEbsYHYUNq2AQuY6IuLag==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "node_modules/bcp-47-match": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/bcp-47-match/-/bcp-47-match-1.0.3.tgz", + "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", + "dev": true + }, + "node_modules/bcp-47-normalize": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/bcp-47-normalize/-/bcp-47-normalize-1.1.1.tgz", + "integrity": "sha512-jWZ1Jdu3cs0EZdfCkS0UE9Gg01PtxnChjEBySeB+Zo6nkqtFfnvtoQQgP1qU1Oo4qgJgxhTI6Sf9y/pZIhPs0A==", + "dev": true, + "dependencies": { + "bcp-47": "^1.0.0", + "bcp-47-match": "^1.0.0" + } + }, + "node_modules/bcrypt-ts": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/bcrypt-ts/-/bcrypt-ts-3.0.1.tgz", + "integrity": "sha512-rRvmZZ+wAhsV8PA8bW+BQq5kWZzqmh20VdwqI19D2WdB7TLwNnYUB0wzFkp83WLvgpSqOF4L0w/uPr90Rao66g==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001487", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz", + "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==", + "dev": true + }, + "node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + } + }, + "node_modules/chart.js": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.3.0.tgz", + "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==", + "dev": true, + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=7" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/codem-isoboxer": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/codem-isoboxer/-/codem-isoboxer-0.3.9.tgz", + "integrity": "sha512-4XOTqEzBWrGOZaMd+sTED2hLpzfBbiQCf1W6OBGkIHqk1D8uwy8WFLazVbdQwfDpQ+vf39lqTGPa9IhWW0roTA==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/comment-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/comment-regex/-/comment-regex-1.0.1.tgz", + "integrity": "sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.30.2", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.5" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==", + "dev": true + }, + "node_modules/cytoscape": { + "version": "3.24.0", + "resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.24.0.tgz", + "integrity": "sha512-W9fJMrAfr/zKFzDCpRR/wn6uoEQ7gfbJmxPK5DadXj69XyAhZYi1QXLOE+UXJfXVXxqGM1o1eeiIrtxrtB43zA==", + "dev": true, + "dependencies": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dev": true, + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dev": true, + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "dev": true + }, + "node_modules/d3": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/d3/-/d3-7.8.4.tgz", + "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==", + "dev": true, + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.3.tgz", + "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "dev": true, + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dev": true, + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmmirror.com/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dev": true, + "dependencies": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dashjs": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/dashjs/-/dashjs-4.7.0.tgz", + "integrity": "sha512-+Sx5TJiT9eDOqODi3anXXBIx2oBM6ANMV5dzvCeSvYKwJ72SzX1bcJSPFLm7g7HTsRCh6pM1VL0XWfrzTlz9xw==", + "dev": true, + "dependencies": { + "bcp-47-match": "^1.0.3", + "bcp-47-normalize": "^1.1.1", + "codem-isoboxer": "0.3.9", + "es6-promise": "^4.2.8", + "fast-deep-equal": "2.0.1", + "html-entities": "^1.2.1", + "imsc": "^1.1.3", + "localforage": "^1.7.1", + "path-browserify": "^1.0.1", + "ua-parser-js": "^1.0.2" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dev": true, + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/dompurify": { + "version": "2.4.5", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==", + "dev": true + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "node_modules/echarts": { + "version": "5.4.2", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.2.tgz", + "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "dev": true, + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.3" + } + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.396", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.396.tgz", + "integrity": "sha512-pqKTdqp/c5vsrc0xUPYXTDBo9ixZuGY8es4ZOjjd6HD6bFYbu5QA09VoW3fkY4LF1T0zYk86lN6bZnNlBuOpdQ==", + "dev": true + }, + "node_modules/elkjs": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/elkjs/-/elkjs-0.8.2.tgz", + "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.14.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz", + "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmmirror.com/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true, + "peer": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmmirror.com/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eve-raphael": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/eve-raphael/-/eve-raphael-0.5.0.tgz", + "integrity": "sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==", + "dev": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flowchart.ts": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/flowchart.ts/-/flowchart.ts-0.1.6.tgz", + "integrity": "sha512-mPvyKIpsHuDnF/M1oQyClLcqRdnVzvxbyBBijlfz5YU8yJWlV9j2QHvFrqkRd3lFor7uQ1M46dRaTQ/bXXEsNg==", + "dev": true, + "dependencies": { + "@types/raphael": "2.3.3", + "raphael": "2.3.0", + "tslib": "2.5.0" + } + }, + "node_modules/flowchart.ts/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/giscus": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/giscus/-/giscus-1.2.8.tgz", + "integrity": "sha512-pufrgQYt1W+4ztiWp/PilLPN8NdyKvpbQ8jNqbAa1g84t6qqyevXHfkOYCi4x4d+y191vJAUc6seL1Dq74yUeA==", + "dev": true, + "dependencies": { + "lit": "^2.6.1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/globby": { + "version": "13.1.4", + "resolved": "https://registry.npmmirror.com/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/hanabi": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/hanabi/-/hanabi-0.4.0.tgz", + "integrity": "sha512-ixJH94fwmmVzUSdxl7TMkVZJmsq4d2JKrxedpM5V1V+91iVHL0q6NnJi4xiDahK6Vo00xT17H8H6b4F6RVbsOg==", + "dev": true, + "dependencies": { + "comment-regex": "^1.0.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "node_modules/he": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/he/-/he-0.5.0.tgz", + "integrity": "sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "dev": true + }, + "node_modules/hls.js": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/hls.js/-/hls.js-1.4.3.tgz", + "integrity": "sha512-EE1MjIYDNO+ynbmCpAWfhUwQpyG8gUcKKuGDGgYgfRmW/g+inQUQ8sVVVY5WZaCxEGxDMGLbXhXGepkmDIMvdw==", + "dev": true + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/imsc": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/imsc/-/imsc-1.1.3.tgz", + "integrity": "sha512-IY0hMkVTNoqoYwKEp5UvNNKp/A5jeJUOrIO7judgOyhHT+xC6PA4VBOMAOhdtAYbMRHx9DTgI8p6Z6jhYQPFDA==", + "dev": true, + "dependencies": { + "sax": "1.2.1" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/insane": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/insane/-/insane-2.6.2.tgz", + "integrity": "sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==", + "dev": true, + "dependencies": { + "assignment": "2.0.0", + "he": "0.5.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jake": { + "version": "10.8.6", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.8.6.tgz", + "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-Xk9C6oGKRwJTfqfIbtr0Kes9OSv6IFsuhFGc7tW4urlpMJtuh+7YhzU6YEG9n8gmWKcMAFzkp7nr+r69kV0zrA==", + "dev": true, + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/khroma": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lit": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/lit/-/lit-2.7.4.tgz", + "integrity": "sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g==", + "dev": true, + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/lit-element/-/lit-element-3.3.2.tgz", + "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-html": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/lit-html/-/lit-html-2.7.4.tgz", + "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loadjs": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/loadjs/-/loadjs-4.2.0.tgz", + "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==", + "dev": true + }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "dev": true, + "dependencies": { + "lie": "3.1.1" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmmirror.com/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmmirror.com/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it-container": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz", + "integrity": "sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==", + "dev": true + }, + "node_modules/markdown-it-emoji": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", + "integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==", + "dev": true + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dev": true, + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/medium-zoom": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/medium-zoom/-/medium-zoom-1.0.8.tgz", + "integrity": "sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mermaid": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/mermaid/-/mermaid-10.1.0.tgz", + "integrity": "sha512-LYekSMNJygI1VnMizAPUddY95hZxOjwZxr7pODczILInO0dhQKuhXeu4sargtnuTwCilSuLS7Uiq/Qn7HTVrmA==", + "dev": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.0", + "@khanacademy/simple-markdown": "^0.8.6", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.4.0", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "2.4.5", + "elkjs": "^0.8.2", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.2", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "node_modules/mhchemparser": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/mhchemparser/-/mhchemparser-4.1.1.tgz", + "integrity": "sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==", + "dev": true + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", + "dev": true + }, + "node_modules/mpegts.js": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/mpegts.js/-/mpegts.js-1.7.3.tgz", + "integrity": "sha512-kqZ1C1IsbAQN72cK8vMrzKeM7hwrwSBbFAwVAc7PPweOeoZxCANrc7fAVDKMfYUzxdNkMTnec9tVmlxmKZB0TQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.2.5", + "webworkify-webpack": "^2.1.5" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/option-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/option-validator/-/option-validator-2.0.6.tgz", + "integrity": "sha512-tmZDan2LRIRQyhUGvkff68/O0R8UmF+Btmiiz0SmSw2ng3CfPZB9wJlIjHpe/MKUZqyIZkVIXCrwr1tIN+0Dzg==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.3" + } + }, + "node_modules/ora": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/photoswipe": { + "version": "5.3.7", + "resolved": "https://registry.npmmirror.com/photoswipe/-/photoswipe-5.3.7.tgz", + "integrity": "sha512-zsyLsTTLFrj0XR1m4/hO7qNooboFKUrDy+Zt5i2d6qjFPAtBjzaj/Xtydso4uxzcXpcqbTmyxDibb3BcSISseg==", + "dev": true, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/plyr": { + "version": "3.7.8", + "resolved": "https://registry.npmmirror.com/plyr/-/plyr-3.7.8.tgz", + "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", + "dev": true, + "dependencies": { + "core-js": "^3.26.1", + "custom-event-polyfill": "^1.0.7", + "loadjs": "^4.2.0", + "rangetouch": "^2.0.1", + "url-polyfill": "^1.1.12" + } + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "dev": true, + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "dev": true, + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rangetouch": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/rangetouch/-/rangetouch-2.0.1.tgz", + "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==", + "dev": true + }, + "node_modules/raphael": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/raphael/-/raphael-2.3.0.tgz", + "integrity": "sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==", + "dev": true, + "dependencies": { + "eve-raphael": "0.5.0" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmmirror.com/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/reveal.js": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/reveal.js/-/reveal.js-4.5.0.tgz", + "integrity": "sha512-Lx1hUWhJR7Y7ScQNyGt7TFzxeviDAswK2B0cn9RwbPZogTMRgS8+FTr+/12KNHOegjvWKH0H0EGwBARNDPTgWQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==", + "dev": true + }, + "node_modules/rollup": { + "version": "3.21.8", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.21.8.tgz", + "integrity": "sha512-SSFV2T2fWtQ/vvBip85u2Nr0GNKireabH9d7nXswBg+XSH+jbVDSYptRAEbCEsquhs503rpPA9POYAp0/Jhasw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-13.2.2.tgz", + "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==", + "dev": true, + "dependencies": { + "klona": "^2.0.6", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dev": true, + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/sitemap/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dev": true, + "dependencies": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/speech-rule-engine/node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dev": true, + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/striptags": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/striptags/-/striptags-3.2.0.tgz", + "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==", + "dev": true + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "dev": true + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "5.17.4", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.17.4.tgz", + "integrity": "sha512-jcEKZw6UPrgugz/0Tuk/PVyLAPfMBJf5clnGueo45wTweoV8yh7Q7PEkhkJ5uuUbC7zAxEcG3tqNr1bstkQ8nw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.8", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz", + "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-debounce": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/ts-debounce/-/ts-debounce-4.0.0.tgz", + "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==", + "dev": true + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "dev": true + }, + "node_modules/twikoo": { + "version": "1.6.16", + "resolved": "https://registry.npmmirror.com/twikoo/-/twikoo-1.6.16.tgz", + "integrity": "sha512-U+yaZsM2h0WBoju5TKrm1sq+pb0WEzIynS8B/x4g7UMS30YlUbKePYU7nKU2bf00xubZvkbmICKRNy07naZhhQ==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-polyfill": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/url-polyfill/-/url-polyfill-1.1.12.tgz", + "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vite": { + "version": "4.3.6", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.6.tgz", + "integrity": "sha512-cqIyLSbA6gornMS659AXTVKF7cvSHMdKmJJwQ9DXq3lwsT1uZSdktuBRlpHQ8VnOWx0QHtjDwxPpGtyo9Fh/Qg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.2.tgz", + "integrity": "sha512-98hJcAhyDwZoOo2flAQBSPVYG/o0HA9ivIy2ktHshjE+6/q8IMQ+kvDKQzOZTFPxvnNMcGM+zS2A00xeZMA7tA==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.2", + "@vue/compiler-sfc": "3.3.2", + "@vue/runtime-dom": "3.3.2", + "@vue/server-renderer": "3.3.2", + "@vue/shared": "3.3.2" + } + }, + "node_modules/vue-router": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.2.0.tgz", + "integrity": "sha512-c+usESa6ZoWsm4PPdzRSyenp5A4dsUtnDJnrI03fY1IpIihA9TK3x5ffgkFDpjhLJZewsXoKURapNLFdZjuqTg==", + "dev": true, + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vuepress": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/vuepress/-/vuepress-2.0.0-beta.62.tgz", + "integrity": "sha512-kwoC7RA6PGetWSU/NwV6dJ3VItg+R+K2IpAJ4bKsnRueIqGpDZwPr423nRK0VwDhh2sN7lUn6LoyaybPwWrGZg==", + "dev": true, + "dependencies": { + "vuepress-vite": "2.0.0-beta.62" + }, + "bin": { + "vuepress": "bin/vuepress.js" + }, + "engines": { + "node": ">=16.19.0" + } + }, + "node_modules/vuepress-plugin-auto-catalog": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-auto-catalog/-/vuepress-plugin-auto-catalog-2.0.0-beta.211.tgz", + "integrity": "sha512-ywLZB1WUhpDrtMtFRbQX0jSVNFQqqHX8Cz8e0eA2UpkJIkK/m0jOLE4bBglakqN+/t5yqo5qYofvO5f6tHiRbA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-components": "2.0.0-beta.211", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-blog2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-blog2/-/vuepress-plugin-blog2-2.0.0-beta.211.tgz", + "integrity": "sha512-Wqiu0yxN3Sny7SSiHAzKsFmoe8lwfnXoxMKb3Y85QJTyJ/jP1QOe1Kj0yhPnVrBd0FCFjIatSwZzkJsnNR2ymQ==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "chokidar": "^3.5.3", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-comment2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-comment2/-/vuepress-plugin-comment2-2.0.0-beta.211.tgz", + "integrity": "sha512-TSZTaX9Gc37S/oSnXVVWiAeqYOLl1l+shUmipEspqLpPrrphtdEcs0TzakXo/V5ctF79OJArirxn7nFlPxn7jg==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@waline/client": "^2.15.4", + "artalk": "^2.5.5", + "giscus": "^1.2.8", + "twikoo": "^1.6.16", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-components": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-components/-/vuepress-plugin-components-2.0.0-beta.211.tgz", + "integrity": "sha512-zyBWdS2pxkVjB6zkAT+mN7CsF0ctmNLsoMJqI/DMWo/9Amg5v0eBAJkX7ZLgtR6wlvrqdQrp/bj2vv5zldxCoA==", + "dev": true, + "dependencies": { + "@stackblitz/sdk": "^1.9.0", + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "artplayer": "^5.0.9", + "balloon-css": "^1.2.0", + "dashjs": "^4.7.0", + "hls.js": "^1.4.3", + "mpegts.js": "^1.7.3", + "plyr": "^3.7.8", + "qrcode": "^1.5.3", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-reading-time2": "2.0.0-beta.211", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-copy-code2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-copy-code2/-/vuepress-plugin-copy-code2-2.0.0-beta.211.tgz", + "integrity": "sha512-6lrhLSOP6zpEqKpSN1lKvuKed5Hq5ufXmbgOLl8aU3pFN1dagJIPFHyS2O0BNTkxbmPzJQt4ppy66C9yQbvKSw==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "balloon-css": "^1.2.0", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-copyright2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-copyright2/-/vuepress-plugin-copyright2-2.0.0-beta.211.tgz", + "integrity": "sha512-8x/a0NQPBDw3LcM5h8ruRVqK5cIH13dV7xzS/TfpG2WLd2HgItv8lUqL32bhzGAP1OswWLsKw8NZbE6katJMxA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-feed2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-feed2/-/vuepress-plugin-feed2-2.0.0-beta.211.tgz", + "integrity": "sha512-Ir0XQtlLrYFUOZChvULLG///EOdjFAHPLJRNsFJhezjRiBY95nHK1Z9gsRLXBNi5j5mUEHJPWIU90LUQt+CYWQ==", + "dev": true, + "dependencies": { + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "cheerio": "1.0.0-rc.12", + "vuepress-shared": "2.0.0-beta.211", + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-md-enhance": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-md-enhance/-/vuepress-plugin-md-enhance-2.0.0-beta.211.tgz", + "integrity": "sha512-zJTlJU1sWLr2PmUkAVtwpq+OSA3x4Sq2C/k4ZGya+NGjMSR8FbrEnCNsFfCRqCSgpzgNUYwCSLHmRlVZpSfy/A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.8", + "@mdit/plugin-align": "^0.4.5", + "@mdit/plugin-attrs": "^0.4.5", + "@mdit/plugin-container": "^0.4.5", + "@mdit/plugin-figure": "^0.4.5", + "@mdit/plugin-footnote": "^0.4.5", + "@mdit/plugin-img-lazyload": "^0.4.5", + "@mdit/plugin-img-mark": "^0.4.5", + "@mdit/plugin-img-size": "^0.4.5", + "@mdit/plugin-include": "^0.4.5", + "@mdit/plugin-katex": "^0.4.5", + "@mdit/plugin-mark": "^0.4.5", + "@mdit/plugin-mathjax": "^0.4.5", + "@mdit/plugin-stylize": "^0.4.5", + "@mdit/plugin-sub": "^0.4.5", + "@mdit/plugin-sup": "^0.4.5", + "@mdit/plugin-tab": "^0.4.5", + "@mdit/plugin-tasklist": "^0.4.5", + "@mdit/plugin-tex": "^0.4.5", + "@mdit/plugin-uml": "^0.4.5", + "@types/js-yaml": "^4.0.5", + "@types/markdown-it": "^12.2.3", + "@vue/repl": "^1.4.1", + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "balloon-css": "^1.2.0", + "chart.js": "^4.3.0", + "echarts": "^5.4.2", + "flowchart.ts": "0.1.6", + "js-yaml": "^4.1.0", + "katex": "^0.16.7", + "markdown-it": "^13.0.1", + "mermaid": "10.1.0", + "reveal.js": "^4.5.0", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-md-enhance/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/vuepress-plugin-md-enhance/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/vuepress-plugin-photo-swipe": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-photo-swipe/-/vuepress-plugin-photo-swipe-2.0.0-beta.211.tgz", + "integrity": "sha512-WW/pnZRTPvw/RkGim+cBUWb/HrtISkPRvZYAygPMua0GAYH+cCjnLuHWqD5vSPZFKjJ8S/CdGPgduCPQ5NugZg==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "photoswipe": "^5.3.7", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-pwa2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-pwa2/-/vuepress-plugin-pwa2-2.0.0-beta.211.tgz", + "integrity": "sha512-ZLvICpqJZcM88KEuRsLYklI6cdEdlYVhMi5Cx55Ll9orjzkbJwz7ZtD17hw7axWNGRzu/YReEaWo0rD1R0OV1w==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "mitt": "^3.0.0", + "register-service-worker": "^1.7.2", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211", + "workbox-build": "^6.5.4" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-reading-time2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-reading-time2/-/vuepress-plugin-reading-time2-2.0.0-beta.211.tgz", + "integrity": "sha512-yN6zJRgPauAV4O8M9bax+wYwdnwDfSUvbwLcj/l047Ss/ip/T/vahDMOGL0q2bkgRzTsiHR7N3eRFwZ/ZhSijA==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "vue": "^3.3.2", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-rtl": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-rtl/-/vuepress-plugin-rtl-2.0.0-beta.211.tgz", + "integrity": "sha512-VKQC0crK2rohmvb7BF4T7V0HhvkmqioKgXU9UkZOSMqGLDdm0XLzYXPFHSckKfO4xTLxk2gzXi30FQdnKqsUCw==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vue": "^3.3.2", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-sass-palette": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-beta.211.tgz", + "integrity": "sha512-XGoVvKL6mNKcf3PYGAuyK0eGcH2p6uOjAQzlsAWWb27XlcToKrktkTiJAKFS4DKt1q2cgz696kISwVrAJvd6Mw==", + "dev": true, + "dependencies": { + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "chokidar": "^3.5.3", + "sass": "^1.62.1", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-seo2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-seo2/-/vuepress-plugin-seo2-2.0.0-beta.211.tgz", + "integrity": "sha512-maBaHjUg86lJeAb/kEfE9Q29Sy3Klc39hW8txLLNPmvtpfLy6VnHh+v2Q6cSWOZHQ2o5cGvsIAGNoDlNevCl6g==", + "dev": true, + "dependencies": { + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-plugin-sitemap2": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-plugin-sitemap2/-/vuepress-plugin-sitemap2-2.0.0-beta.211.tgz", + "integrity": "sha512-eJN9uPcs5LvgICRSx5mOA5mwyK4/Ak4PBh/494f3HaQn/oMEZt5LJcKe0Fxj6s6h4b+KHkWL7ckbLWB93N1KpQ==", + "dev": true, + "dependencies": { + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "sitemap": "^7.1.1", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-shared": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-shared/-/vuepress-shared-2.0.0-beta.211.tgz", + "integrity": "sha512-CHrLS0i/FsHj3XdgPbHKpCH7AEmFu04JEe8EIwIIPZswPphSbTFb8P+6K1jupoJm6I27owHzAY/FAntXXnyqhQ==", + "dev": true, + "dependencies": { + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "cheerio": "1.0.0-rc.12", + "dayjs": "^1.11.7", + "execa": "^7.1.1", + "fflate": "^0.7.4", + "gray-matter": "^4.0.3", + "semver": "^7.5.1", + "striptags": "^3.2.0", + "vue": "^3.3.2", + "vue-router": "^4.2.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-shared/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vuepress-shared/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vuepress-shared/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/vuepress-theme-hope": { + "version": "2.0.0-beta.211", + "resolved": "https://registry.npmmirror.com/vuepress-theme-hope/-/vuepress-theme-hope-2.0.0-beta.211.tgz", + "integrity": "sha512-vXSiMrwLXwUBmPuG/ipiGR78wSyH66aJ7BUh3Sv9HFrmLS7iTncVUftiFAtvv1wVYk55BnTSFqNPG3LtyUg1nQ==", + "dev": true, + "dependencies": { + "@vuepress/cli": "2.0.0-beta.62", + "@vuepress/client": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/plugin-active-header-links": "2.0.0-beta.62", + "@vuepress/plugin-container": "2.0.0-beta.62", + "@vuepress/plugin-external-link-icon": "2.0.0-beta.62", + "@vuepress/plugin-git": "2.0.0-beta.62", + "@vuepress/plugin-nprogress": "2.0.0-beta.62", + "@vuepress/plugin-palette": "2.0.0-beta.62", + "@vuepress/plugin-prismjs": "2.0.0-beta.62", + "@vuepress/plugin-theme-data": "2.0.0-beta.62", + "@vuepress/shared": "2.0.0-beta.62", + "@vuepress/utils": "2.0.0-beta.62", + "@vueuse/core": "^10.1.2", + "balloon-css": "^1.2.0", + "bcrypt-ts": "^3.0.1", + "cheerio": "1.0.0-rc.12", + "chokidar": "^3.5.3", + "gray-matter": "^4.0.3", + "vue": "^3.3.2", + "vue-router": "^4.2.0", + "vuepress-plugin-auto-catalog": "2.0.0-beta.211", + "vuepress-plugin-blog2": "2.0.0-beta.211", + "vuepress-plugin-comment2": "2.0.0-beta.211", + "vuepress-plugin-components": "2.0.0-beta.211", + "vuepress-plugin-copy-code2": "2.0.0-beta.211", + "vuepress-plugin-copyright2": "2.0.0-beta.211", + "vuepress-plugin-feed2": "2.0.0-beta.211", + "vuepress-plugin-md-enhance": "2.0.0-beta.211", + "vuepress-plugin-photo-swipe": "2.0.0-beta.211", + "vuepress-plugin-pwa2": "2.0.0-beta.211", + "vuepress-plugin-reading-time2": "2.0.0-beta.211", + "vuepress-plugin-rtl": "2.0.0-beta.211", + "vuepress-plugin-sass-palette": "2.0.0-beta.211", + "vuepress-plugin-seo2": "2.0.0-beta.211", + "vuepress-plugin-sitemap2": "2.0.0-beta.211", + "vuepress-shared": "2.0.0-beta.211" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8", + "pnpm": ">=7" + }, + "peerDependencies": { + "sass-loader": "^13.2.2", + "vuepress": "2.0.0-beta.62", + "vuepress-vite": "2.0.0-beta.62", + "vuepress-webpack": "2.0.0-beta.62" + }, + "peerDependenciesMeta": { + "sass-loader": { + "optional": true + }, + "vuepress": { + "optional": true + }, + "vuepress-vite": { + "optional": true + }, + "vuepress-webpack": { + "optional": true + } + } + }, + "node_modules/vuepress-vite": { + "version": "2.0.0-beta.62", + "resolved": "https://registry.npmmirror.com/vuepress-vite/-/vuepress-vite-2.0.0-beta.62.tgz", + "integrity": "sha512-C93T5ZCFMnbdXkZ/R/romtwPPP2zjPN38YZhrM6w6wWjSMDvrG26IFRwluXy+W84O0Pg7xOwqRom0wvO4kCxmA==", + "dev": true, + "dependencies": { + "@vuepress/bundler-vite": "2.0.0-beta.62", + "@vuepress/cli": "2.0.0-beta.62", + "@vuepress/core": "2.0.0-beta.62", + "@vuepress/theme-default": "2.0.0-beta.62", + "vue": "^3.3.1" + }, + "bin": { + "vuepress": "bin/vuepress.js", + "vuepress-vite": "bin/vuepress.js" + }, + "engines": { + "node": ">=16.19.0" + }, + "peerDependencies": { + "@vuepress/client": "2.0.0-beta.62", + "vue": "^3.3.1" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.82.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.82.1.tgz", + "integrity": "sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.14.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webworkify-webpack": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", + "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", + "dev": true + }, + "node_modules/workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workbox-build/node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dev": true, + "dependencies": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "node_modules/workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xml-js/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmmirror.com/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "dev": true, + "engines": { + "node": ">=0.1" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/zrender": { + "version": "5.4.3", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.3.tgz", + "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", + "dev": true, + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..b0af18169 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "chi_scut_blog", + "version": "2.0.0", + "description": "一个静态的个人blog", + "license": "MIT", + "type": "module", + "scripts": { + "docs:build": "vuepress build src", + "docs:clean-dev": "vuepress dev src --clean-cache", + "docs:dev": "vuepress dev src", + "docs:update-package": "npx vp-update" + }, + "devDependencies": { + "@vuepress/client": "2.0.0-beta.62", + "vue": "^3.2.47", + "vuepress": "2.0.0-beta.62", + "vuepress-theme-hope": "2.0.0-beta.211" + } +} diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts new file mode 100644 index 000000000..ef1c75583 --- /dev/null +++ b/src/.vuepress/config.ts @@ -0,0 +1,24 @@ +import { defineUserConfig } from "vuepress"; +import theme from "./theme.js"; + +export default defineUserConfig({ + base: "/", + + locales: { + "/": { + lang: "en-US", + title: "Blog Demo", + description: "A blog demo for vuepress-theme-hope", + }, + "/zh/": { + lang: "zh-CN", + title: "博客演示", + description: "vuepress-theme-hope 的博客演示", + }, + }, + + theme, + + // Enable it with pwa + // shouldPrefetch: false, +}); diff --git a/src/.vuepress/navbar/en.ts b/src/.vuepress/navbar/en.ts new file mode 100644 index 000000000..cc8ff7174 --- /dev/null +++ b/src/.vuepress/navbar/en.ts @@ -0,0 +1,52 @@ +import { navbar } from "vuepress-theme-hope"; + +export const enNavbar = navbar([ + "/", + { text: "Demo", icon: "discover", link: "/demo/" }, + { + text: "Posts", + icon: "edit", + prefix: "/posts/", + children: [ + { + text: "Apple", + icon: "edit", + prefix: "apple/", + children: [ + { text: "Apple1", icon: "edit", link: "1" }, + { text: "Apple2", icon: "edit", link: "2" }, + "3", + "4", + ], + }, + { + text: "Banana", + icon: "edit", + prefix: "banana/", + children: [ + { + text: "Banana 1", + icon: "edit", + link: "1", + }, + { + text: "Banana 2", + icon: "edit", + link: "2", + }, + "3", + "4", + ], + }, + { text: "Cherry", icon: "edit", link: "cherry" }, + { text: "Dragon Fruit", icon: "edit", link: "dragonfruit" }, + "tomato", + "strawberry", + ], + }, + { + text: "V2 Docs", + icon: "note", + link: "https://theme-hope.vuejs.press/", + }, +]); diff --git a/src/.vuepress/navbar/index.ts b/src/.vuepress/navbar/index.ts new file mode 100644 index 000000000..e50896810 --- /dev/null +++ b/src/.vuepress/navbar/index.ts @@ -0,0 +1,2 @@ +export * from "./en.js"; +export * from "./zh.js"; diff --git a/src/.vuepress/navbar/zh.ts b/src/.vuepress/navbar/zh.ts new file mode 100644 index 000000000..9738eaeb8 --- /dev/null +++ b/src/.vuepress/navbar/zh.ts @@ -0,0 +1,53 @@ +import { navbar } from "vuepress-theme-hope"; + +export const zhNavbar = navbar([ + "/zh/", + { text: "演示", icon: "discover", link: "/zh/demo/" }, + { + text: "博文", + icon: "edit", + prefix: "/zh/posts/", + children: [ + { + text: "编译原理", + icon: "edit", + prefix: "编译原理/", + children: [ + { text: "Chapter1 编译器组成", icon: "edit", link: "Chapter1 编译器组成" }, + { text: "Chapter2 词法分析", icon: "edit", link: "Chapter2 词法分析" }, + { text: "Chapter3 语法分析", icon: "edit", link: "Chapter3 语法分析" }, + { text: "Chapter4 语义分析", icon: "edit", link: "Chapter4 语义分析" }, + { text: "Chapter5 代码生成", icon: "edit", link: "Chapter5 代码生成" }, + ], + }, + { + text: "杂谈", + icon: "edit", + prefix: "杂谈/", + children: [ + { + text: "震惊,1=0!?", + icon: "edit", + link: "编程杂谈/震惊,1=0!?.md", + }, + { + text: "香蕉 2", + icon: "edit", + link: "2", + }, + "3", + "4", + ], + }, + { text: "樱桃", icon: "edit", link: "cherry" }, + { text: "火龙果", icon: "edit", link: "dragonfruit" }, + "tomato", + "strawberry", + ], + }, + { + text: "V2 文档", + icon: "note", + link: "https://theme-hope.vuejs.press/zh/", + }, +]); diff --git a/src/.vuepress/public/assets/icon/apple-icon-152.png b/src/.vuepress/public/assets/icon/apple-icon-152.png new file mode 100644 index 000000000..434fcc3d5 Binary files /dev/null and b/src/.vuepress/public/assets/icon/apple-icon-152.png differ diff --git a/src/.vuepress/public/assets/icon/chrome-192.png b/src/.vuepress/public/assets/icon/chrome-192.png new file mode 100644 index 000000000..6645f52b8 Binary files /dev/null and b/src/.vuepress/public/assets/icon/chrome-192.png differ diff --git a/src/.vuepress/public/assets/icon/chrome-512.png b/src/.vuepress/public/assets/icon/chrome-512.png new file mode 100644 index 000000000..a146f0003 Binary files /dev/null and b/src/.vuepress/public/assets/icon/chrome-512.png differ diff --git a/src/.vuepress/public/assets/icon/chrome-mask-192.png b/src/.vuepress/public/assets/icon/chrome-mask-192.png new file mode 100644 index 000000000..530977a9e Binary files /dev/null and b/src/.vuepress/public/assets/icon/chrome-mask-192.png differ diff --git a/src/.vuepress/public/assets/icon/chrome-mask-512.png b/src/.vuepress/public/assets/icon/chrome-mask-512.png new file mode 100644 index 000000000..a4f90ae48 Binary files /dev/null and b/src/.vuepress/public/assets/icon/chrome-mask-512.png differ diff --git a/src/.vuepress/public/assets/icon/guide-maskable.png b/src/.vuepress/public/assets/icon/guide-maskable.png new file mode 100644 index 000000000..75449b609 Binary files /dev/null and b/src/.vuepress/public/assets/icon/guide-maskable.png differ diff --git a/src/.vuepress/public/assets/icon/ms-icon-144.png b/src/.vuepress/public/assets/icon/ms-icon-144.png new file mode 100644 index 000000000..246412442 Binary files /dev/null and b/src/.vuepress/public/assets/icon/ms-icon-144.png differ diff --git a/src/.vuepress/public/assets/images/cover1.jpg b/src/.vuepress/public/assets/images/cover1.jpg new file mode 100644 index 000000000..06f33cf9c Binary files /dev/null and b/src/.vuepress/public/assets/images/cover1.jpg differ diff --git a/src/.vuepress/public/assets/images/cover2.jpg b/src/.vuepress/public/assets/images/cover2.jpg new file mode 100644 index 000000000..edf5b3869 Binary files /dev/null and b/src/.vuepress/public/assets/images/cover2.jpg differ diff --git a/src/.vuepress/public/assets/images/cover3.jpg b/src/.vuepress/public/assets/images/cover3.jpg new file mode 100644 index 000000000..ad79fc971 Binary files /dev/null and b/src/.vuepress/public/assets/images/cover3.jpg differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG1.png" new file mode 100644 index 000000000..02852cfb5 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG2.png" new file mode 100644 index 000000000..c24f64b45 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG3.png" new file mode 100644 index 000000000..b44df378d Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/DAG3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code1.png" new file mode 100644 index 000000000..803e75ec8 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code2.png" new file mode 100644 index 000000000..7e5cc7956 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code3.png" new file mode 100644 index 000000000..d7689adfb Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code4.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code4.png" new file mode 100644 index 000000000..de2de1b59 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Code4.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Instruction.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Instruction.png" new file mode 100644 index 000000000..ff007d582 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/TAC Instruction.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/and\347\273\223\346\236\204.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/and\347\273\223\346\236\204.png" new file mode 100644 index 000000000..64e32a707 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/and\347\273\223\346\236\204.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/flowgraph.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/flowgraph.png" new file mode 100644 index 000000000..df8d7a1e5 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/flowgraph.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if-else\347\273\223\346\236\204.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if-else\347\273\223\346\236\204.png" new file mode 100644 index 000000000..e73bd754b Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if-else\347\273\223\346\236\204.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if\347\273\223\346\236\204.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if\347\273\223\346\236\204.png" new file mode 100644 index 000000000..29a33191a Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/if\347\273\223\346\236\204.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/or\347\273\223\346\236\204.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/or\347\273\223\346\236\204.png" new file mode 100644 index 000000000..1b5747ee3 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/or\347\273\223\346\236\204.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/while\347\273\223\346\236\204.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/while\347\273\223\346\236\204.png" new file mode 100644 index 000000000..0bde369ba Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/while\347\273\223\346\236\204.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\344\273\243\347\240\201\347\247\273\345\212\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\344\273\243\347\240\201\347\247\273\345\212\250.png" new file mode 100644 index 000000000..a24fe5b16 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\344\273\243\347\240\201\347\247\273\345\212\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\210\240\351\231\244.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\210\240\351\231\244.png" new file mode 100644 index 000000000..5daf70cf2 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\210\240\351\231\244.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\260\276\351\200\222\345\275\222\344\274\230\345\214\226.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\260\276\351\200\222\345\275\222\344\274\230\345\214\226.png" new file mode 100644 index 000000000..7fd1fa6ce Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\260\276\351\200\222\345\275\222\344\274\230\345\214\226.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\270\203\345\260\224\350\241\250\350\276\276\345\274\217\344\276\213\345\255\220.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\270\203\345\260\224\350\241\250\350\276\276\345\274\217\344\276\213\345\255\220.png" new file mode 100644 index 000000000..9c0bc2ef1 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\345\270\203\345\260\224\350\241\250\350\276\276\345\274\217\344\276\213\345\255\220.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\346\265\201\347\250\213\346\216\247\345\210\266\347\244\272\344\276\213\345\233\276.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\346\265\201\347\250\213\346\216\247\345\210\266\347\244\272\344\276\213\345\233\276.png" new file mode 100644 index 000000000..ad963907b Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\346\265\201\347\250\213\346\216\247\345\210\266\347\244\272\344\276\213\345\233\276.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\345\210\206\346\236\220.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\345\210\206\346\236\220.png" new file mode 100644 index 000000000..65e5c783b Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\345\210\206\346\236\220.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2311.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2311.png" new file mode 100644 index 000000000..1d952f2cf Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2311.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2312.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2312.png" new file mode 100644 index 000000000..84f111096 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\344\273\243\347\240\201\347\224\237\346\210\220/\347\273\274\345\220\210\345\261\236\346\200\247\350\257\255\344\271\211\350\247\204\345\210\2312.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA.png" new file mode 100644 index 000000000..9468aea7a Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA2.png" new file mode 100644 index 000000000..bd5ac05a4 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/NFA2DFA2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA.png" new file mode 100644 index 000000000..c1cf840dd Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA1.png" new file mode 100644 index 000000000..5365d6257 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA3.png" new file mode 100644 index 000000000..e825b6f0b Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA4.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA4.png" new file mode 100644 index 000000000..762d092c7 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA4.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA5.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA5.png" new file mode 100644 index 000000000..9f589a718 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\345\255\220\350\241\250\350\276\276\345\274\217NFA5.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\211\253\346\217\217\350\277\207\347\250\213\345\233\276\347\244\272.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\211\253\346\217\217\350\277\207\347\250\213\345\233\276\347\244\272.png" new file mode 100644 index 000000000..041ad5bb2 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\211\253\346\217\217\350\277\207\347\250\213\345\233\276\347\244\272.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\234\200\345\260\217\345\214\226DFA.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\234\200\345\260\217\345\214\226DFA.png" new file mode 100644 index 000000000..253e94767 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\215\346\263\225\345\210\206\346\236\220/\346\234\200\345\260\217\345\214\226DFA.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2471.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2471.png" new file mode 100644 index 000000000..963d09092 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2471.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2472.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2472.png" new file mode 100644 index 000000000..bd181b8ab Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\2472.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2471.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2471.png" new file mode 100644 index 000000000..6683af412 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2471.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2472.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2472.png" new file mode 100644 index 000000000..876ce4aa0 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/LR\345\210\206\346\236\220\350\256\241\347\256\227\345\261\236\346\200\247\347\273\247\346\211\277\345\261\236\346\200\2472.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2251.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2251.png" new file mode 100644 index 000000000..8749cced5 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2251.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2252.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2252.png" new file mode 100644 index 000000000..3b3f5d3dd Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2252.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2253.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2253.png" new file mode 100644 index 000000000..3d254f832 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2253.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2254.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2254.png" new file mode 100644 index 000000000..4905f3c18 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/statement\347\232\204\345\261\236\346\200\247\346\226\207\346\263\2254.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2171.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2171.png" new file mode 100644 index 000000000..0bff24c07 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2171.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2172.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2172.png" new file mode 100644 index 000000000..3397a8470 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2172.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2173.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2173.png" new file mode 100644 index 000000000..960b6a8f1 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\344\276\235\350\265\226\345\233\276\345\222\214\350\256\241\347\256\227\351\241\272\345\272\2173.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\210\206\346\236\220\346\234\237\345\261\236\346\200\247\350\256\241\347\256\227\344\276\213\345\255\220.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\210\206\346\236\220\346\234\237\345\261\236\346\200\247\350\256\241\347\256\227\344\276\213\345\255\220.png" new file mode 100644 index 000000000..145002cac Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\210\206\346\236\220\346\234\237\345\261\236\346\200\247\350\256\241\347\256\227\344\276\213\345\255\220.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2471.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2471.png" new file mode 100644 index 000000000..c912d36da Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2471.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2472.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2472.png" new file mode 100644 index 000000000..2c34a6ea9 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\217\230\351\207\217\345\243\260\346\230\216\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213\345\261\236\346\200\2472.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\243\260\346\230\216\347\232\204\345\261\236\346\200\247\346\226\207\346\263\225.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\243\260\346\230\216\347\232\204\345\261\236\346\200\247\346\226\207\346\263\225.png" new file mode 100644 index 000000000..18c5b7638 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\243\260\346\230\216\347\232\204\345\261\236\346\200\247\346\226\207\346\263\225.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum1.png" new file mode 100644 index 000000000..144065faa Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum2.png" new file mode 100644 index 000000000..72cc2f356 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum3.png" new file mode 100644 index 000000000..c4ecf7c9d Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum4.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum4.png" new file mode 100644 index 000000000..7da83ede9 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum4.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum5.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum5.png" new file mode 100644 index 000000000..bebfd3f57 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227basenum5.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype1.png" new file mode 100644 index 000000000..441450cbd Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype2.png" new file mode 100644 index 000000000..eceb967f2 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype3.png" new file mode 100644 index 000000000..669cf9802 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype4.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype4.png" new file mode 100644 index 000000000..915434141 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\345\261\236\346\200\247\350\256\241\347\256\227dtype4.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\346\227\240\347\254\246\345\217\267\346\225\260\345\222\214\346\225\260\345\255\227\345\261\236\346\200\247.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\346\227\240\347\254\246\345\217\267\346\225\260\345\222\214\346\225\260\345\255\227\345\261\236\346\200\247.png" new file mode 100644 index 000000000..584779af7 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\346\227\240\347\254\246\345\217\267\346\225\260\345\222\214\346\225\260\345\255\227\345\261\236\346\200\247.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\254\246\345\217\267\350\241\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\254\246\345\217\267\350\241\250.png" new file mode 100644 index 000000000..8da0535a7 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\254\246\345\217\267\350\241\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\261\273\345\236\213\346\243\200\346\237\245\344\270\216\350\241\250\350\276\276\345\274\217\347\232\204\347\261\273\345\236\213\345\261\236\346\200\247.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\261\273\345\236\213\346\243\200\346\237\245\344\270\216\350\241\250\350\276\276\345\274\217\347\232\204\347\261\273\345\236\213\345\261\236\346\200\247.png" new file mode 100644 index 000000000..10526f471 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\261\273\345\236\213\346\243\200\346\237\245\344\270\216\350\241\250\350\276\276\345\274\217\347\232\204\347\261\273\345\236\213\345\261\236\346\200\247.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2131.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2131.png" new file mode 100644 index 000000000..b5a89df2f Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2131.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2132.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2132.png" new file mode 100644 index 000000000..6cea78542 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\247\346\211\277\345\261\236\346\200\247\347\244\272\344\276\2132.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\274\345\220\210\345\261\236\346\200\247\345\256\232\344\271\211.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\274\345\220\210\345\261\236\346\200\247\345\256\232\344\271\211.png" new file mode 100644 index 000000000..166fe5eed Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\347\273\274\345\220\210\345\261\236\346\200\247\345\256\232\344\271\211.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2471.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2471.png" new file mode 100644 index 000000000..1b23fb2d5 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2471.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2472.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2472.png" new file mode 100644 index 000000000..98f03bdcb Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2472.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2473.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2473.png" new file mode 100644 index 000000000..18c878250 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2473.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2474.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2474.png" new file mode 100644 index 000000000..cba9a4be9 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\344\271\211\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\350\256\241\347\256\227\345\261\236\346\200\2474.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 3.png" new file mode 100644 index 000000000..853e73755 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 4.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 4.png" new file mode 100644 index 000000000..319c8dd7e Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 4.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 5.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 5.png" new file mode 100644 index 000000000..576041525 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/First()\350\256\241\347\256\227 5.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/Follow()\350\256\241\347\256\227 2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/Follow()\350\256\241\347\256\227 2.png" new file mode 100644 index 000000000..3328933e0 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/Follow()\350\256\241\347\256\227 2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\344\270\276\344\276\213.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\344\270\276\344\276\213.png" new file mode 100644 index 000000000..70793c156 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\344\270\276\344\276\213.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\345\216\237\347\220\206.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\345\216\237\347\220\206.png" new file mode 100644 index 000000000..e43882f47 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\345\216\237\347\220\206.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\346\265\201\347\250\213\345\233\276.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\346\265\201\347\250\213\345\233\276.png" new file mode 100644 index 000000000..253d61c19 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LL(1)\346\265\201\347\250\213\345\233\276.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table.png" new file mode 100644 index 000000000..7752fbad1 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table2.png" new file mode 100644 index 000000000..e1c910d32 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing table2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing \345\237\272\346\234\254\345\216\237\347\220\206.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing \345\237\272\346\234\254\345\216\237\347\220\206.png" new file mode 100644 index 000000000..7d786ef68 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR Parsing \345\237\272\346\234\254\345\216\237\347\220\206.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing DFA.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing DFA.png" new file mode 100644 index 000000000..def34e1e1 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing DFA.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example.png" new file mode 100644 index 000000000..912fe70f6 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example2.png" new file mode 100644 index 000000000..dc51746be Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR parsing table example2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR \350\207\252\345\212\250\346\234\272\347\244\272\346\204\217\345\233\276.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR \350\207\252\345\212\250\346\234\272\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 000000000..cc1a40059 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR \350\207\252\345\212\250\346\234\272\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2761.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2761.png" new file mode 100644 index 000000000..b6bd772e0 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2761.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2762.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2762.png" new file mode 100644 index 000000000..23df78a4f Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) DFA\345\233\2762.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) item \347\244\272\344\276\2131.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) item \347\244\272\344\276\2131.png" new file mode 100644 index 000000000..7d1f88a57 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1) item \347\244\272\344\276\2131.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\345\210\206\346\236\220\350\241\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\345\210\206\346\236\220\350\241\250.png" new file mode 100644 index 000000000..16080db98 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\345\210\206\346\236\220\350\241\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\346\226\207\346\263\225.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\346\226\207\346\263\225.png" new file mode 100644 index 000000000..afb6bb002 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\346\226\207\346\263\225.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\347\256\227\346\263\225.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\347\256\227\346\263\225.png" new file mode 100644 index 000000000..e70ea8613 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\347\256\227\346\263\225.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\350\207\252\345\212\250\346\234\272.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\350\207\252\345\212\250\346\234\272.png" new file mode 100644 index 000000000..af418d130 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\350\207\252\345\212\250\346\234\272.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\351\241\271.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\351\241\271.png" new file mode 100644 index 000000000..f69e33b10 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR(1)\351\241\271.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR0\345\210\206\346\236\220\350\241\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR0\345\210\206\346\236\220\350\241\250.png" new file mode 100644 index 000000000..d496e84b6 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/LR0\345\210\206\346\236\220\350\241\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1) \345\210\206\346\236\220\350\241\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1) \345\210\206\346\236\220\350\241\250.png" new file mode 100644 index 000000000..564e9535d Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1) \345\210\206\346\236\220\350\241\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\346\226\207\346\263\225\344\276\213.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\346\226\207\346\263\225\344\276\213.png" new file mode 100644 index 000000000..047cbd08c Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\346\226\207\346\263\225\344\276\213.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\347\232\204\347\274\272\347\202\271.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\347\232\204\347\274\272\347\202\271.png" new file mode 100644 index 000000000..2da6b0aae Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\347\232\204\347\274\272\347\202\271.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\350\257\255\346\263\225.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\350\257\255\346\263\225.png" new file mode 100644 index 000000000..90ae85fd6 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/SLR(1)\350\257\255\346\263\225.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/ShiftAndReduce.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/ShiftAndReduce.png" new file mode 100644 index 000000000..57175fdbe Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/ShiftAndReduce.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/nullble set\350\256\241\347\256\227 2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/nullble set\350\256\241\347\256\227 2.png" new file mode 100644 index 000000000..a70135768 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/nullble set\350\256\241\347\256\227 2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 1.png" new file mode 100644 index 000000000..46e51c7ac Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 2.png" new file mode 100644 index 000000000..9cc2df926 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 3.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 3.png" new file mode 100644 index 000000000..574c085a4 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/panic mode 3.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\210\244\346\226\255LL(1)\347\244\272\344\276\213.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\210\244\346\226\255LL(1)\347\244\272\344\276\213.png" new file mode 100644 index 000000000..f98f56b89 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\210\244\346\226\255LL(1)\347\244\272\344\276\213.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\261\236\346\200\247\347\244\272\346\204\217\345\233\276.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\261\236\346\200\247\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 000000000..655eb482e Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\345\261\236\346\200\247\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)1.png" new file mode 100644 index 000000000..80ecaf269 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)2.png" new file mode 100644 index 000000000..540ff7975 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LALR(1)2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 1.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 1.png" new file mode 100644 index 000000000..45988b4f9 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 1.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 2.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 2.png" new file mode 100644 index 000000000..437873fc6 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272LL(1) parsing table 2.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2011.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2011.png" new file mode 100644 index 000000000..6c3a4c2cf Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2011.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2012.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2012.png" new file mode 100644 index 000000000..0044f6a7f Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\345\273\272\350\257\255\346\263\225\346\240\221\344\273\243\347\240\2012.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\250.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\250.png" new file mode 100644 index 000000000..d8924bbcd Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\250.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\2502.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\2502.png" new file mode 100644 index 000000000..4bd599ee2 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\236\204\351\200\240LR(1)\346\226\207\346\263\225\345\210\206\346\236\220\350\241\2502.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2111.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2111.png" new file mode 100644 index 000000000..3bcd4f56f Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2111.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2112.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2112.png" new file mode 100644 index 000000000..19f6baa1f Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2112.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2113.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2113.png" new file mode 100644 index 000000000..cdd9c53c3 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\346\266\210\351\231\244\346\255\247\344\271\2113.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\343\200\201\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221\347\244\272\344\276\213.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\343\200\201\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221\347\244\272\344\276\213.png" new file mode 100644 index 000000000..01af48278 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\343\200\201\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221\347\244\272\344\276\213.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\344\270\216\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\344\270\216\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221.png" new file mode 100644 index 000000000..da9481b2e Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\344\270\216\346\212\275\350\261\241\350\257\255\346\263\225\346\240\221.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\346\255\247\344\271\211.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\346\255\247\344\271\211.png" new file mode 100644 index 000000000..8c095c102 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\350\257\255\346\263\225\346\240\221\346\255\247\344\271\211.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2131.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2131.png" new file mode 100644 index 000000000..2e812f466 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2131.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2132.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2132.png" new file mode 100644 index 000000000..f02323780 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2132.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2133.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2133.png" new file mode 100644 index 000000000..3e1ba4004 Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2133.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2134.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2134.png" new file mode 100644 index 000000000..c8f3eaf1e Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2134.png" differ diff --git "a/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2135.png" "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2135.png" new file mode 100644 index 000000000..36d50dcec Binary files /dev/null and "b/src/.vuepress/public/assets/images/\347\274\226\350\257\221\345\216\237\347\220\206/\350\257\255\346\263\225\345\210\206\346\236\220/\351\200\222\345\275\222\344\270\213\351\231\215\347\244\272\344\276\2135.png" differ diff --git a/src/.vuepress/public/favicon.ico b/src/.vuepress/public/favicon.ico new file mode 100644 index 000000000..b411f79dd Binary files /dev/null and b/src/.vuepress/public/favicon.ico differ diff --git a/src/.vuepress/public/logo.png b/src/.vuepress/public/logo.png new file mode 100644 index 000000000..ccd732e1d Binary files /dev/null and b/src/.vuepress/public/logo.png differ diff --git a/src/.vuepress/public/logo.svg b/src/.vuepress/public/logo.svg new file mode 100644 index 000000000..364d184e1 --- /dev/null +++ b/src/.vuepress/public/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/.vuepress/sidebar/en.ts b/src/.vuepress/sidebar/en.ts new file mode 100644 index 000000000..afe01bb58 --- /dev/null +++ b/src/.vuepress/sidebar/en.ts @@ -0,0 +1,22 @@ +import { sidebar } from "vuepress-theme-hope"; + +export const enSidebar = sidebar({ + "/": [ + "", + { + icon: "discover", + text: "Demo", + prefix: "demo/", + link: "demo/", + children: "structure", + }, + { + text: "Articles", + icon: "note", + prefix: "posts/", + children: "structure", + }, + "intro", + "slides", + ], +}); diff --git a/src/.vuepress/sidebar/index.ts b/src/.vuepress/sidebar/index.ts new file mode 100644 index 000000000..e50896810 --- /dev/null +++ b/src/.vuepress/sidebar/index.ts @@ -0,0 +1,2 @@ +export * from "./en.js"; +export * from "./zh.js"; diff --git a/src/.vuepress/sidebar/zh.ts b/src/.vuepress/sidebar/zh.ts new file mode 100644 index 000000000..28b259f93 --- /dev/null +++ b/src/.vuepress/sidebar/zh.ts @@ -0,0 +1,22 @@ +import { sidebar } from "vuepress-theme-hope"; + +export const zhSidebar = sidebar({ + "/zh/": [ + "", + { + text: "如何使用", + icon: "creative", + prefix: "demo/", + link: "demo/", + children: "structure", + }, + { + text: "文章", + icon: "note", + prefix: "posts/", + children: "structure", + }, + "intro", + "slides", + ], +}); diff --git a/src/.vuepress/styles/config.scss b/src/.vuepress/styles/config.scss new file mode 100644 index 000000000..f91061d7b --- /dev/null +++ b/src/.vuepress/styles/config.scss @@ -0,0 +1,3 @@ +// you can change config here +$colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, + #7f8c8d !default; diff --git a/src/.vuepress/styles/index.scss b/src/.vuepress/styles/index.scss new file mode 100644 index 000000000..f6af38785 --- /dev/null +++ b/src/.vuepress/styles/index.scss @@ -0,0 +1 @@ +// place your custom styles here diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss new file mode 100644 index 000000000..356a42822 --- /dev/null +++ b/src/.vuepress/styles/palette.scss @@ -0,0 +1,2 @@ +// you can change colors here +$theme-color: #096dd9; diff --git a/src/.vuepress/theme.ts b/src/.vuepress/theme.ts new file mode 100644 index 000000000..907bdf04d --- /dev/null +++ b/src/.vuepress/theme.ts @@ -0,0 +1,224 @@ +import { hopeTheme } from "vuepress-theme-hope"; +import { enNavbar, zhNavbar } from "./navbar/index.js"; +import { enSidebar, zhSidebar } from "./sidebar/index.js"; + +const MR_HOPE_AVATAR = + ''; + +export default hopeTheme({ + hostname: "https://mister-hope.github.io", + + author: { + name: "Chi", + }, + + iconAssets: "iconfont", + + logo: "/logo.svg", + + repo: "vuepress-theme-hope/vuepress-theme-hope", + + docsDir: "docs", + + blog: { + medias: { + Baidu: "https://example.com", + BiliBili: "https://example.com", + Bitbucket: "https://example.com", + Dingding: "https://example.com", + Discord: "https://example.com", + Dribbble: "https://example.com", + Email: "mailto:info@example.com", + Evernote: "https://example.com", + Facebook: "https://example.com", + Flipboard: "https://example.com", + Gitee: "https://example.com", + GitHub: "https://example.com", + Gitlab: "https://example.com", + Gmail: "mailto:info@example.com", + Instagram: "https://example.com", + Lark: "https://example.com", + Lines: "https://example.com", + Linkedin: "https://example.com", + Pinterest: "https://example.com", + Pocket: "https://example.com", + QQ: "https://example.com", + Qzone: "https://example.com", + Reddit: "https://example.com", + Rss: "https://example.com", + Steam: "https://example.com", + Twitter: "https://example.com", + Wechat: "https://example.com", + Weibo: "https://example.com", + Whatsapp: "https://example.com", + Youtube: "https://example.com", + Zhihu: "https://example.com", + MrHope: ["https://mrhope.site", MR_HOPE_AVATAR], + }, + }, + + locales: { + "/": { + // navbar + navbar: enNavbar, + + // sidebar + sidebar: enSidebar, + + footer: "Default footer", + + displayFooter: true, + + blog: { + description: "A FrontEnd programmer", + intro: "/intro.html", + }, + + metaLocales: { + editLink: "Edit this page on GitHub", + }, + }, + + /** + * Chinese locale config + */ + "/zh/": { + // navbar + navbar: zhNavbar, + + // sidebar + sidebar: zhSidebar, + + footer: "默认页脚", + + displayFooter: true, + + blog: { + description: "一个前端开发者", + intro: "/zh/intro.html", + }, + + // page meta + metaLocales: { + editLink: "在 GitHub 上编辑此页", + }, + }, + }, + + encrypt: { + config: { + "/demo/encrypt.html": ["1234"], + "/zh/demo/encrypt.html": ["1234"], + }, + }, + + plugins: { + blog: true, + + comment: { + + provider: "Giscus", + }, + + // all features are enabled for demo, only preserve features you need here + mdEnhance: { + align: true, + attrs: true, + chart: true, + codetabs: true, + demo: true, + echarts: true, + figure: true, + flowchart: true, + gfm: true, + imgLazyload: true, + imgSize: true, + include: true, + katex: true, + mark: true, + mathjax: true, + mermaid: true, + playground: { + presets: ["ts", "vue"], + }, + presentation: { + plugins: ["highlight", "math", "search", "notes", "zoom"], + }, + stylize: [ + { + matcher: "Recommended", + replacer: ({ tag }) => { + if (tag === "em") + return { + tag: "Badge", + attrs: { type: "tip" }, + content: "Recommended", + }; + }, + }, + ], + sub: true, + sup: true, + tabs: true, + vPre: true, + vuePlayground: true, + }, + + // uncomment these if you want a PWA +// pwa: { +// favicon: "/favicon.ico", +// cacheHTML: true, +// cachePic: true, +// appendBase: true, +// apple: { +// icon: "/assets/icon/apple-icon-152.png", +// statusBarColor: "black", +// }, +// msTile: { +// image: "/assets/icon/ms-icon-144.png", +// color: "#ffffff", +// }, +// manifest: { +// icons: [ +// { +// src: "/assets/icon/chrome-mask-512.png", +// sizes: "512x512", +// purpose: "maskable", +// type: "image/png", +// }, +// { +// src: "/assets/icon/chrome-mask-192.png", +// sizes: "192x192", +// purpose: "maskable", +// type: "image/png", +// }, +// { +// src: "/assets/icon/chrome-512.png", +// sizes: "512x512", +// type: "image/png", +// }, +// { +// src: "/assets/icon/chrome-192.png", +// sizes: "192x192", +// type: "image/png", +// }, +// ], +// shortcuts: [ +// { +// name: "Demo", +// short_name: "Demo", +// url: "/demo/", +// icons: [ +// { +// src: "/assets/icon/guide-maskable.png", +// sizes: "192x192", +// purpose: "maskable", +// type: "image/png", +// }, +// ], +// }, +// ], +// }, +// }, + }, +}); diff --git a/src/README.md b/src/README.md new file mode 100644 index 000000000..726b05a3b --- /dev/null +++ b/src/README.md @@ -0,0 +1,48 @@ +--- +home: true +layout: BlogHome +icon: home +title: Blog Home +heroImage: /logo.svg +heroText: The name of your blog +tagline: You can put your slogan here +heroFullScreen: true +projects: + - icon: project + name: project name + desc: project detailed description + link: https://your.project.link + + - icon: link + name: link name + desc: link detailed description + link: https://link.address + + - icon: book + name: book name + desc: Detailed description of the book + link: https://link.to.your.book + + - icon: article + name: article name + desc: Detailed description of the article + link: https://link.to.your.article + + - icon: friend + name: friend name + desc: Detailed description of friend + link: https://link.to.your.friend + + - icon: /logo.svg + name: custom item + desc: Detailed description of this custom item + link: https://link.to.your.friend + +footer: customize your footer text +--- + +This is a blog home page demo. + +To use this layout, you should set both `layout: BlogHome` and `home: true` in the page front matter. + +For related configuration docs, please see [blog homepage](https://theme-hope.vuejs.press/guide/blog/home/). diff --git a/src/demo/README.md b/src/demo/README.md new file mode 100644 index 000000000..a3fba3ae4 --- /dev/null +++ b/src/demo/README.md @@ -0,0 +1,17 @@ +--- +title: Features Demo +index: false +icon: discover +category: + - Guide +--- + +## Catalog + +- [Markdown Enhance](markdown.md) + +- [Page Config](page.md) + +- [Function Disable](disable.md) + +- [Encryption Demo](encrypt.md) diff --git a/src/demo/disable.md b/src/demo/disable.md new file mode 100644 index 000000000..23577fbe7 --- /dev/null +++ b/src/demo/disable.md @@ -0,0 +1,42 @@ +--- +title: Disabling layout and features +icon: config +order: 3 +category: + - Guide +tag: + - disable + +navbar: false +sidebar: false + +breadcrumb: false +pageInfo: false +contributors: false +editLink: false +lastUpdated: false +prev: false +next: false +comment: false +footer: false + +backtotop: false +--- + +You can disable some function and layout on the page by setting the Frontmatter of the page. + + + +This page is an demo that disables the following features: + +- Navbar +- Sidebar +- Breadcrumb +- Page information +- Contributors +- Edit link +- Update time +- Prev/Next link +- Comment +- Footer +- Back to top button diff --git a/src/demo/encrypt.md b/src/demo/encrypt.md new file mode 100644 index 000000000..65161178c --- /dev/null +++ b/src/demo/encrypt.md @@ -0,0 +1,15 @@ +--- +icon: lock +category: + - Guide +tag: + - encryption +--- + +# Encryption Article + +The actual article content. + +Paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text paragraph 1 text. + +Paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text paragraph 2 text. diff --git a/src/demo/markdown.md b/src/demo/markdown.md new file mode 100644 index 000000000..89e981c2f --- /dev/null +++ b/src/demo/markdown.md @@ -0,0 +1,423 @@ +--- +title: Markdown Enhance +icon: markdown +order: 2 +category: + - Guide +tag: + - Markdown +--- + +VuePress basically generate pages from Markdown files. So you can use it to generate documentation or blog sites easily. + +You should create and write Markdown files, so that VuePress can convert them to different pages according to file structure. + + + +## Markdown Introduction + +If you are a new learner and don't know how to write Markdown, please read [Markdown Intro](https://theme-hope.vuejs.press/cookbook/markdown/) and [Markdown Demo](https://theme-hope.vuejs.press/cookbook/markdown/demo.html). + +## Markdown Config + +VuePress introduce configuration for each Markdown page using Frontmatter. + +::: info + +Frontmatter is a important concept in VuePress. If you don't know it, you need to read [Frontmatter Introduction](https://theme-hope.vuejs.press/cookbook/vuepress/page.html#front-matter). + +::: + +## Markdown Extension + +The Markdown content in VuePress will be parsed by [markdown-it](https://github.com/markdown-it/markdown-it), which supports [syntax extensions](https://github.com/markdown-it/markdown-it#syntax-extensions) via markdown-it plugins. + +### VuePress Enhancement + +To enrich document writing, VuePress has extended Markdown syntax. + +For these extensions, please read [Markdown extensions in VuePress](https://theme-hope.vuejs.press/basic/vuepress/markdown.html). + +### Theme Enhancement + +By using [`vuepress-plugin-md-enhance`][md-enhance], the theme extends more Markdown syntax and provides richer writing functions. + +#### Custom Container + +::: v-pre + +Safely use {{ variable }} in Markdown. + +::: + +::: info Custom Title + +A custom information container with `code`, [link](#custom-container). + +```js +const a = 1; +``` + +::: + +::: tip Custom Title + +A custom tip container + +::: + +::: warning Custom Title + +A custom warning container + +::: + +::: danger Custom Title + +A custom danger container + +::: + +::: details Custom Title + +A custom details container + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/container.html) + +#### Tabs + +::: tabs#fruit + +@tab apple + +Apple + +@tab banana + +Banana + +@tab orange + +Orange + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/tabs.html) + +#### Code Tabs + +::: code-tabs#shell + +@tab pnpm + +```bash +pnpm add -D vuepress-theme-hope +``` + +@tab yarn + +```bash +yarn add -D vuepress-theme-hope +``` + +@tab:active npm + +```bash +npm i -D vuepress-theme-hope +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/code-tabs.html) + +#### Superscript and Subscript + +19^th^ H~2~O + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/sup-sub.html) + +#### Align + +::: center + +I am center + +::: + +::: right + +I am right align + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/align.html) + +#### Attrs + +A **word**{#word} having id. + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/attrs.html) + +#### Footnote + +This text has footnote[^first]. + +[^first]: This is footnote content + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/footnote.html) + +#### Mark + +You can mark ==important words== . + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/mark.html) + +#### Tasklist + +- [x] Plan A +- [ ] Plan B + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/tasklist.html) + +#### Image Enhancement + +Support setting color scheme and size + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/image.html) + +#### Card + +```card +title: Mr.Hope +desc: Where there is light, there is hope +logo: https://mrhope.site/logo.svg +link: https://mrhope.site +color: rgba(253, 230, 138, 0.15) +``` + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/card.html) + +#### Chart + +::: chart A Scatter Chart + +```json +{ + "type": "scatter", + "data": { + "datasets": [ + { + "label": "Scatter Dataset", + "data": [ + { "x": -10, "y": 0 }, + { "x": 0, "y": 10 }, + { "x": 10, "y": 5 }, + { "x": 0.5, "y": 5.5 } + ], + "backgroundColor": "rgb(255, 99, 132)" + } + ] + }, + "options": { + "scales": { + "x": { + "type": "linear", + "position": "bottom" + } + } + } +} +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/chart.html) + +#### Echarts + +::: echarts A line chart + +```json +{ + "xAxis": { + "type": "category", + "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + }, + "yAxis": { + "type": "value" + }, + "series": [ + { + "data": [150, 230, 224, 218, 135, 147, 260], + "type": "line" + } + ] +} +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/echarts.html) + +#### Flowchart + +```flow +cond=>condition: Process? +process=>operation: Process +e=>end: End + +cond(yes)->process->e +cond(no)->e +``` + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/flowchart.html) + +#### Mermaid + +```mermaid +--- +title: Flowchart +--- +flowchart TB + c1-->a2 + subgraph one + a1-->a2 + end + subgraph two + b1-->b2 + end + subgraph three + c1-->c2 + end + one --> two + three --> two + two --> c2 +``` + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/mermaid.html) + +#### Tex + +$$ +\frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right) += \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^i r \cdots (r-i+1) (\log y)^{r-i}} {\omega^i} \right\} +$$ + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/tex.html) + +#### Include files + + + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/include.html) + +#### Code Demo + +::: normal-demo A normal demo + +```html +

VuePress Theme Hope

+

Is very powerful!

+``` + +```js +document.querySelector("#very").addEventListener("click", () => { + alert("Very powerful!"); +}); +``` + +```css +span { + color: red; +} +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/demo.html) + +#### Stylize + +Donate Mr.Hope a cup of coffee. _Recommended_ + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/stylize.html) + +#### Playground + +::: playground#ts TS demo + +@file index.ts + +```ts +const msg = "hello world"; + +const speak = (msg: string) => console.log(msg); + +speak(msg); +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/playground.html) + +#### Vue Playground + +::: vue-playground Vue Playground + +@file App.vue + +```vue + + + +``` + +::: + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/vue-playground.html) + +#### Presentation + +@slidestart + +## Slide 1 + +A paragraph with some text and a [link](https://mrhope.site) + +--- + +## Slide 2 + +- Item 1 +- Item 2 + +--- + +## Slide 3.1 + +```js +const a = 1; +``` + +-- + +## Slide 3.2 + +$$ +J(\theta_0,\theta_1) = \sum_{i=0} +$$ + +@slideend + +- [View Detail](https://theme-hope.vuejs.press/guide/markdown/presentation.html) + +[md-enhance]: https://md-enhance.vuejs.press/ diff --git a/src/demo/page.md b/src/demo/page.md new file mode 100644 index 000000000..d4a53d8e3 --- /dev/null +++ b/src/demo/page.md @@ -0,0 +1,74 @@ +--- +# This is the title of the article +title: Page Config +# You can customize cover image +cover: /assets/images/cover1.jpg +# This is the icon of the page +icon: page +# This control sidebar order +order: 1 +# Set author +author: Ms.Hope +# Set writing time +date: 2020-01-01 +# A page can have multiple categories +category: + - Guide +# A page can have multiple tags +tag: + - Page config + - Guide +# this page is sticky in article list +sticky: true +# this page will appear in starred articles +star: true +# You can customize footer content +footer: Footer content for test +# You can customize copyright content +copyright: No Copyright +--- + +Content before `more` comment is regarded as page excerpt. + + + +## Page Information + +You can set page information in Markdown's Frontmatter. + +- The author is Ms.Hope. +- The writing date is January 1, 2020 +- Category is "Guide" +- Tags are "Page Config" and "Guide" + +## Page Content + +You are free to write your Markdown here. + +::: tip Assets + +- You can place images besides your Markdown files, but you should use **relative links** (i.e.: starting with `./`) for them. + +- For images in `.vuepress/public` directory, please use absolute links (i.e.: starting with `/`) for them. + +::: + +The theme contains a custom badge: + +> A dark blue badge text badge at the end of line. + +## Page Structure + +This page should contain: + +- [BreadCrumb](https://theme-hope.vuejs.press/guide/layout/breadcrumb.html) +- [Title and information](https://theme-hope.vuejs.press/guide/feature/page-info.html) +- [TOC (Table of Contents)](https://theme-hope.vuejs.press/guide/layout/page.html#header-list) +- [Meta information including update time and contributors](https://theme-hope.vuejs.press/guide/feature/meta.html) +- [Comments](https://theme-hope.vuejs.press/guide/feature/comment.html) +- [Navbar](https://theme-hope.vuejs.press/guide/layout/navbar.html) +- [Sidebar](https://theme-hope.vuejs.press/guide/layout/sidebar.html) +- [Footer](https://theme-hope.vuejs.press/guide/layout/footer.html) +- Back to top button + +You can customize them in theme options and page frontmatter. diff --git a/src/intro.md b/src/intro.md new file mode 100644 index 000000000..26a0222b3 --- /dev/null +++ b/src/intro.md @@ -0,0 +1,8 @@ +--- +icon: info +cover: /assets/images/cover3.jpg +--- + +# Intro Page + +Place your introduction and profile here. diff --git a/src/posts/apple/1.md b/src/posts/apple/1.md new file mode 100644 index 000000000..96fce8f0a --- /dev/null +++ b/src/posts/apple/1.md @@ -0,0 +1,484 @@ +--- +icon: edit +date: 2022-01-01 +category: + - Apple +tag: + - red + - big + - round + - 笔记/编译原理 +--- +# 语法分析 + +- 正则表达式的能力有限,无法分析具体的语法细节(例如嵌套、$a^nb^n$的n值),与其等价的有穷自动机同理,因此引入了下推自动机和上下文有关、无关文法 + +# 大纲 + +- 语法分析的形式化——上下文无关文法 +- 语法分析算法 + +# 上下文无关文法(CFG) + +- 是用来描述一个编程语言的语法结构的文法 +- 和正则表达式一样,可以表示递归的规则,而且更强大 +- 是正则表达式的严格超集 + +## Chomsky语言层级 + +|Chomsky hierarchy|Production(产生式)|Explanation| +|---|---|---| +|unrestricted(type 0)(自然语言)|$\alpha \rightarrow \beta \quad V^+=V_N\cup V_T$$其中\alpha\in V^+,\; \beta\in V^*$|无严格约束| +|context sensitive(type 1)(上下文有关文法)|$\alpha A \gamma \rightarrow \alpha \beta \gamma,$$其中\alpha,\;\gamma\in V^*,\;A \in V_N, \; \beta \in V^+$|在不同的上下文中,$A$可能被不同的$\gamma$替换| +|context free(type 2)(上下文无关文法)|$A\rightarrow \beta ,\;A\in V_N,$$其中\beta \in V^*$|在任何$A$出现的地方都会被$\gamma$替换| +|regular(type 3)(正则表达式)|$A\rightarrow aB\;or\;A\rightarrow a$$(其中A,B\;A,b\in V_N\;,a\in V_T)$|等价于正则表达式| + +- $V_N和V_T$分别是非终止符号集(nonterminal)和终止符号(terminal)集,是由语言设计者设计的集合,终止符就是常说的token +- 如果一个符号由它自身定义($a\rightarrow a$或$int \rightarrow int$)那么就是一个终止符号,通常是标点符号,如分号,括号等 +- 如果一个符号有其定义的可再分的结构就是一个非终止符号($letter\rightarrow [A-Za-z]$),通常是句子,短语,表达式等 +- 要注意,$A^*$(Kleene闭包)是正则表达式特有的规则,CFG中没有,"|"在CFG中表示的是或,用来简化表示多个产生式,而不是正则表达式中的Union。 +- CFG文法规定的第一个文法的左部是开始符号,规定了该语言都满足的一个规则 +- 一个处于较低层级的文法是上级文法的特例,例如RE就是一种特殊的CFG + +## 形式化定义 + +$$\begin{array}{c} +CFG:G=(V_T,V_N,P,S)\\ +V_T\text{是终止符集合}\\ +V_N\text{是非终止符集合,}V_N\cap V_T=\varnothing\\ +P\text{是产生式集合,或称语法规则集,满足}A\rightarrow \beta \;A\in V_N和\beta \in (V_N\cup V_T)^*\\ +S\text{是初始符号,}S\in V_N +\end{array}$$ + +### EBNF(Extended Backus-Naur form) + +- $\rightarrow$:$X\rightarrow Y_1Y_2Y_3...Y_N$表示$X\text{可以用}Y_1Y_2Y_3...Y_N$来代替,$X\rightarrow \varepsilon$表示$X$可以用空串代替,这种$A\rightarrow \alpha$被称为BNF表示法 +- 简化表示: + 1. 除非特殊说明,否则第一个产生式的左部就是初始符号 + 2. 用小写字母表示终止符号 + 3. 用大写字符或者$<...>$表示非终止符号 + 4. 如果左部都为$A$的一系列产生式$A\rightarrow \alpha_2,\;...,\;A\rightarrow \alpha_n,\;$可以简写为$A\rightarrow \alpha_1 | \alpha _2|...|\alpha_n$ +- 特别注意: +$$\begin{array}{c} + S\rightarrow a^*b \text{(错误写法,没有Kleene闭包)}\\ + S\rightarrow Ab\\ + A\rightarrow Aa|\varepsilon +\end{array}$$ + +$$\begin{array}{c} +S\rightarrow a(b|c)(错误,没有括号)\\ +S\rightarrow aX\\ +X\rightarrow b|c +\end{array}$$ +- 左递归:$A \rightarrow A\alpha|\beta\;(left\;recursive)$可表示$\beta ,\;\beta \alpha,\; \beta \alpha \alpha...$即有推导$A\Rightarrow^*\beta \alpha^n(n=0,1,2,...)$在EBNF中可表示为$A\rightarrow\beta \{\alpha \}$ +- 右递归:$A \rightarrow \alpha A|\beta\;(right\;recursive)$可表示$\beta,\; \alpha \beta,\; \alpha \beta \beta...$即有推导$A\Rightarrow^* \alpha^n \beta(n=0,1,2,...)$在EBNF中可表示为$A\rightarrow \{\alpha \}\beta$ +- 结合性 +$$\begin{array}{c} +exp\rightarrow exp\; addop\; term|term\\ +exp\rightarrow term\{addop\;term\}\text{(左结合性)}\\ +exp\rightarrow term[addop \; term]\text{(右结合性)} +\end{array}$$ +- 中括号表示其中的符号出现0次或1次,大括号表示0次或 + +## 推导(Derivation)与规约(Reduction) + +- 如果能用一步步推导从初始符号得到需要验证的式子,那么式子就是符合规则的 +- 推导就是不断用产生式的右部来替换一个非终止符 +- $\Rightarrow^*$表示多步推导 +- 由终止符号构成的串称为句子(sentence),由非终止符号构成的串是句型(sentential form) +- 以S为开始符号的CFG构成的语言: + $$L(G)=\{s\in V_T^*|\;there\;exists\;S\Rightarrow^*s\;of\; G\}$$ + +### 语法树 + +- 根节点是开始符号 +- 内部节点是非终止符号 +- 叶子节点是终止符号或者$\varepsilon$ +- 如果节点A有子节点$X_1,X_2,...,X_N$则意为$A\rightarrow X_1X_2...X_N$ +- 最终的叶子节点连起来就是一个句子 +- 不同的推导会得到不同的树,但是可能会有相同的结果。 + +### 最左推导(LeftMost Derivation前缀推导) + +- 总是对句型中最左侧的非终止符号进行一次推导 +- 从开始符号推导到结果,被称为Top-down + +### 最右推导(RightMost Derivation) + +- 从结果反向推回开始符号,这个过程被称为规约$s\Rightarrow^*S$ +- 等价于对语法树进行后序遍历的逆过程 +- 最右推导的能力比最左推导要强 + +### 抽象语法树 + +![[语法树与抽象语法树.png]] + +- 比起语法树,省略了部分细节,带来了更好的语法抽象,对于后续编译阶段是一个更好的数据结构 +- 它反映了源码token序列的一个抽象,比语法树更高效 + +## 歧义(Ambiguity) + +- 对于一个CFG,同样的输入可能有不同的解析 +![[语法树歧义.png]] + +### 解决方法 + +- 消除歧义(Disambiguity rule):不改变文法,列举所有可能造成歧义的情况并进行消除,不现实的 +- 文法重写:改变文法,进行同义转换:(添加优先级,添加关联性) +$$E\rightarrow E-E|E \times E|(E)|i\;\Rightarrow \begin{array}{c} +E\rightarrow E-E|T\\ +T\rightarrow T\times T|F\\ +F\rightarrow(E)|i +\end{array}$$ +![[消除歧义1.png]] +![[消除歧义2.png]] +![[消除歧义3.png]] + +# 语法分析算法(parsing) + +## Top-Down(Leftmost) parsing + +- 本质上是一个图搜索问题,在树上搜索,查找能否获得一个与输入sentence匹配的路径 + +### 回溯算法(Backtracking) + +- 用BFS:进行图遍历搜索,复杂,时间复杂度过高,产生大量无用分支,时间和空间的最差情况都是指数级别。现代编译器中不被使用 +- 剪枝:由终止符号做前缀时,如果无法与输入的前缀匹配则剪枝。($Aa|Ab|c\rightarrow caaaaa$时,无法剪枝,因为前缀一直是非终止符号) +- 用DFS:有比BFS更好的空间复杂度和时间复杂度,但是无法匹配($Aa|c\rightarrow c$,因为会一直循环) + +### 预测推导(predictive parsing) + +- Idea:利用先行词(lokkahead tokens),也就是上面提到过的终止符前缀 +- 两种分析方法: + + 1. 递归下降分析(Recursive-descent parsing) + 2. LL(1)分析 + +#### 预测分析的概念 + +- 从输入串和文法的开始符号开始分析 +- 可以从当前输入的token(s)唯一确定下一个要使用的产生式 +- 预测分析文法包括LL(k)文法,其中L表示从左向右扫描,L表示最左推导,k表示“需要$\le k$个先行词用于预测 ” +- LL(1)文法是常用的,也不完全常用 + +##### Lookahead Sets + +###### First Sets(具体计算看讲义和书) + +- 定义 +$$\begin{array}{c} +G=(V_N,V_T,P,S)\text{是一个文法}\\ +\beta\in(V_N\cup V_T)^*\\ +FIRST(\beta)=\{\alpha\in V_T|\beta\Rightarrow^*a...\}\\ +if\;\beta\Rightarrow^*\varepsilon\;then\;\varepsilon\in FIRST(\beta) +\end{array}$$ +- 计算 + +![[First()计算 1.png]] +![[First()计算 2.png]] +![[First()计算 3.png]] +![[First()计算 4.png]] +![[First()计算 5.png]] +//Todo 提取简练笔记 + +###### Follow Sets + +- 定义: +$$\begin{array}{c} +G=(V_N,V_T,P,S)\text{是一个文法}\\A\in V_N\\ +FOLLOW(A)=\{a\in V_T|S\Rightarrow^*...Aa...\},\\ +if\;S\Rightarrow...A,\;then\;\$\in FOLLOW(A)\\ +\$是用来标记输入的终止的符号 + +\end{array}$$ + +- 计算: +![[Follow()计算 1.png]] +![[Follow()计算 2.png]] + +##### 可空的非终止符(nullable nonterminal) + +- 定义: + $$S\Rightarrow^*\varepsilon$$ +则称S是一个可空的非终止符 +- 计算: +![[nullble set计算 1.png]] +![[nullble set计算 2.png]] + +##### 判定LL(1)文法 + +- 计算每个可空的非终止符 +- 计算产生式右侧所有的$FIRST(\alpha)$并验证其两两交集是否为空 +- 计算(1)中算出的非终止符的$FOLLOW(A)$并验证$FIRST(A)\cap FOLLOW(A)=\varnothing$ +![[判断LL(1)示例.png]] + +##### 非LL(1)到LL(1) + +- 两种简单的非LL(1)情形: + + 1. 左因子,例如$A\rightarrow \alpha \beta|\alpha r$,这是两个产生式的简写,其产生式交集为$\alpha$,改写方法为 + $$\begin{array}{c} +A\rightarrow\alpha\beta_1|\alpha\beta_2|...|\alpha\beta_n\;重写为:\\ +A\rightarrow\alpha A{'}\quad A^{'}\rightarrow\beta_1|\beta_2|...|\beta_n +\end{array}$$ + 2. 左递归,包括直接左递归和间接左递归,例如$A\rightarrow A \beta$和$A\rightarrow B \beta\quad B\rightarrow A\alpha$ 改写方法为 +$$\begin{array}{c} +A\rightarrow A \alpha|\beta\;\text{重写为:}\\ +A\rightarrow\beta A^{'}\; ,\;A^{'}\rightarrow\alpha A^{'}|\varepsilon\\ +\text{一般情况为:}\\ +A\rightarrow A \alpha_1|A \alpha_2|...|A \alpha_m|\beta_1|\beta_2|...|\beta_n\; \text{重写为:}\\ +A\rightarrow \beta_1 A^{'}|\beta_2 A^{'}|...|\beta_n A^{'}\\ +A^{'}\rightarrow\alpha_1 A^{'}|\alpha_1 A^{'}|...|\alpha_m A^{'}|\varepsilon +\end{array}$$ + +- 要注意:将这两者进行改写后并不能保证改写后的文法是LL(1),仍需要再进行验证 + +#### 递归下降 + +##### 输入 + +- 非终止符号递归调用,终止符号匹配 + +```cpp +int main(){ + Token token = getNextToken(); + S();/*S is the start symbol*/ + if(token!='$') throw error; +} +void A(){ + /*select a production of A:A→X_1X_2...X_k*/ + for(int i=0; i + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/apple/3.md b/src/posts/apple/3.md new file mode 100644 index 000000000..1dc40b75e --- /dev/null +++ b/src/posts/apple/3.md @@ -0,0 +1,21 @@ +--- +icon: edit +date: 2022-01-03 +category: + - Apple + - Fruit +tag: + - red + - big + - round +--- + +# Apple 3 + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/apple/4.md b/src/posts/apple/4.md new file mode 100644 index 000000000..ef1b90491 --- /dev/null +++ b/src/posts/apple/4.md @@ -0,0 +1,21 @@ +--- +icon: edit +date: 2022-01-04 +category: + - Apple + - Fruit +tag: + - red + - big + - round +--- + +# Apple 4 + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/banana/1.md b/src/posts/banana/1.md new file mode 100644 index 000000000..1a887ed2f --- /dev/null +++ b/src/posts/banana/1.md @@ -0,0 +1,21 @@ +--- +icon: edit +date: 2022-01-05 +category: + - Banana + - Fruit +tag: + - yellow + - curly + - long +--- + +# Banana 1 + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/banana/2.md b/src/posts/banana/2.md new file mode 100644 index 000000000..fab28152c --- /dev/null +++ b/src/posts/banana/2.md @@ -0,0 +1,26 @@ +--- +icon: edit +date: 2022-01-06 +category: + - Banana + - Fruit +tag: + - yellow + - curly + - long +star: 10 +--- + +# Banana 2 + +A banana article being stared with number `10`. + + + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/banana/3.md b/src/posts/banana/3.md new file mode 100644 index 000000000..29192494e --- /dev/null +++ b/src/posts/banana/3.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-07 +category: + - Banana +tag: + - yellow + - curly + - long +--- + +# Banana 3 + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/banana/4.md b/src/posts/banana/4.md new file mode 100644 index 000000000..f4e27a845 --- /dev/null +++ b/src/posts/banana/4.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-08 +category: + - Banana +tag: + - yellow + - curly + - long +--- + +# Banana 4 + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/cherry.md b/src/posts/cherry.md new file mode 100644 index 000000000..576aa94cf --- /dev/null +++ b/src/posts/cherry.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-09 +category: + - Cherry +tag: + - red + - small + - round +--- + +# Cherry + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/dragonfruit.md b/src/posts/dragonfruit.md new file mode 100644 index 000000000..07c00929d --- /dev/null +++ b/src/posts/dragonfruit.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-10 +category: + - Dragon Fruit + - Fruit +tag: + - red + - big +--- + +# Dragon Fruit + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/strawberry.md b/src/posts/strawberry.md new file mode 100644 index 000000000..3a38aff10 --- /dev/null +++ b/src/posts/strawberry.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-11 +category: + - Fruit + - Strawberry +tag: + - red + - small +--- + +# Strawberry + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/posts/tomato.md b/src/posts/tomato.md new file mode 100644 index 000000000..be3f616e8 --- /dev/null +++ b/src/posts/tomato.md @@ -0,0 +1,22 @@ +--- +cover: /assets/images/cover2.jpg +icon: edit +date: 2022-01-12 +category: + - Vegetable +tag: + - red + - round +star: true +sticky: true +--- + +# Tomato + +## Heading 2 + +Here is the content. + +### Heading 3 + +Here is the content. diff --git a/src/slides.md b/src/slides.md new file mode 100644 index 000000000..c135c2607 --- /dev/null +++ b/src/slides.md @@ -0,0 +1,433 @@ +--- +title: Slide page +icon: slides +layout: Slide +--- + + + +@slidestart + + + +## Slide Demo + + + +A simple slide demo and useful hints. + + + +> By Mr.Hope. Please scroll mouse wheel down to the next slide + +--- + + + +## Marking Slides + + + +[👇](#/1/1) + +-- + + + +## Marking Slides + + + +Use `---` to mark horizontal slides + + + +Use `--` to separate vertical slides in a horizontal slide. + + + +Use `` to add attributes to slide + + + +Use `` to add attributes to the previous html element + + + +--- + + + +## Markdown + + + +You can use all kinds of markup in slides. + + + +-- + + + +## Markdown + +You can use all kinds of markup in slides. + +### This is a H3 + +Headings will transform to UPPERCASE by default. + +Here is paragraph with some **bold**, _italic_, ~~strike-through~~ text and a [link](https://mrhope.site), and it can auto break itself so you don't need to worry the length. + +-- + + + +## Markdown + +You can use all kinds of markup in slides. + +List is `inline-block` by default. + +- Item +- Item +- Item + +1. Item 1 +1. Item 2 +1. Item 3 + +-- + + + +## Markdown + +You can use all kinds of markup in slides. + +Code block will get auto highlight if you enable `highlight` plugin. + +```js +const a = 1; +``` + +-- + + + +## Markdown + +You can use all kinds of markup in slides. + +You can also write math equation using tex syntax if you enable `math` plugin. + +$$ +J(\theta_0,\theta_1) = \sum_{i=0} +$$ + +-- + + + +## Markdown + +You can use all kinds of markup in slides. + +⚠**Note**: Table, hr and other nonstandard Markdown syntax is not supported. + +--- + + + +## Layout + + + +-- + + + +## Layout + + + +👆 The `r-fit-text` class makes text as large as possible without overflowing the slide. + +-- + + + +## Layout + +![Logo](/logo.svg) + + + +👆 The `r-stretch` class helper lets you resize an element, like an image or video, to cover the remaining vertical space in a slide. + +-- + + + +## Layout + +### Background + +Custom background by adding `data-background` attribute to slide. + +--- + + + +## Fragment + + + +-- + + + +## Fragment + + + +Fragments are used to highlight or incrementally reveal individual elements on a slide. + +Add `fragment` and animation class to element. + +-- + + + +## Fragment + +### Animation class + +- `fade-in` + + +- `fade-out` + + +- `fade-up` + + + + +- `fade-down` + + +- `fade-left` + + +- `fade-right` + + + + +- `fade-in-then-out` + + +- `fade-in-then-semi-out` + + +-- + + + +## Fragment + +### Animation class + +- `grow` + + +- `shrink` + + +- `strike` + + + + +- `highlight-red` + + +- `highlight-green` + + +- `highlight-blue` + + + + +- `highlight-current-red` + + +- `highlight-current-green` + + +- `highlight-current-blue` + + +-- + + + +## Fragment + +### Multiple fragments + +Multiple fragments can be applied to the same element sequentially by wrapping it + + + + + Fade in > Turn red > Fade out + + + + +-- + + + +## Fragment + +### Order + +Order can be changed using the `data-fragment-index` attribute. + +Multiple elements can appear at the same index. + +- Appears last + + +- Appears second + + + + +- Appears first + + +- Appears second + + +--- + + + +## Transition + + + +-- + + + +## Transition + + + +Transition can be changed by setting the `transition` config option globally or `data-transition` attribute on slide. + +Possible values: + +- none +- fade +- slide + + + +- convex +- concave +- zoom + +-- + + + +## Transition + + + +### Auto animate + +`data-auto-animate` can be added on nearby slides to make an animation on unchanged elements. + +--- + + + +## Functions + + + +-- + + + +## Functions + + + +### Code + +By enabling `highlight` plugin, you can highlight code blocks. + +You can use `[a-b|c-d]` syntax to highlight lines by steps. + +```js [1-2|3|4] +let a = 1; +let b = 2; +let c = (x) => 1 + 2 + x; +c(3); +``` + +-- + + + +## Functions + + + +### Overview + +Press `Esc` or `O` to enter overview mode when the presentation is active + +-- + + + +## Functions + + + +### Full Screen + +Press `F` or `F11` to enter fullscreen when the presentation is active + +-- + + + +## Functions + + + +### Zoom + +Hold down the `alt` key (`ctrl` in Linux) and click on any element to zoom towards it. + +Click again to zoom back out. + +--- + + + +## The End + +@slideend diff --git a/src/zh/README.md b/src/zh/README.md new file mode 100644 index 000000000..2700c5061 --- /dev/null +++ b/src/zh/README.md @@ -0,0 +1,48 @@ +--- +home: true +layout: BlogHome +icon: home +title: 博客主页 +heroImage: /logo.svg +heroText: Chi +heroFullScreen: true +tagline: 三十年河东三十年河西 +projects: + - icon: project + name: DragonOS + desc: Rust开发的服务器操作系统 + link: https://github.com/DragonOS-Community/DragonOS + + - icon: link + name: 链接名称 + desc: 链接详细描述 + link: https://链接地址 + + - icon: book + name: 书籍名称 + desc: 书籍详细描述 + link: https://你的书籍链接 + + - icon: article + name: 文章名称 + desc: 文章详细描述 + link: https://你的文章链接 + + - icon: friend + name: 伙伴名称 + desc: 伙伴详细介绍 + link: https://你的伙伴链接 + + - icon: /logo.svg + name: 自定义项目 + desc: 自定义详细介绍 + link: https://你的自定义链接 + +footer: 自定义你的页脚文字 +--- + +这是一个博客主页的案例。 + +要使用此布局,你应该在页面前端设置 `layout: BlogHome` 和 `home: true`。 + +相关配置文档请见 [博客主页](https://theme-hope.vuejs.press/zh/guide/blog/home/)。 diff --git a/src/zh/demo/README.md b/src/zh/demo/README.md new file mode 100644 index 000000000..b2abca1c8 --- /dev/null +++ b/src/zh/demo/README.md @@ -0,0 +1,17 @@ +--- +title: 主要功能与配置演示 +index: false +icon: discover +category: + - 使用指南 +--- + +## 目录 + +- [Markdown 展示](markdown.md) + +- [页面展示](page.md) + +- [禁用展示](disable.md) + +- [加密展示](encrypt.md) diff --git a/src/zh/demo/disable.md b/src/zh/demo/disable.md new file mode 100644 index 000000000..d6f6ab3c9 --- /dev/null +++ b/src/zh/demo/disable.md @@ -0,0 +1,42 @@ +--- +title: 布局与功能禁用 +icon: config +order: 3 +category: + - 使用指南 +tag: + - 禁用 + +navbar: false +sidebar: false + +breadcrumb: false +pageInfo: false +contributors: false +editLink: false +lastUpdated: false +prev: false +next: false +comment: false +footer: false + +backtotop: false +--- + +你可以通过设置页面的 Frontmatter,在页面禁用功能与布局。 + + + +本页面就是一个示例,禁用了如下功能: + +- 导航栏 +- 侧边栏 +- 路径导航 +- 页面信息 +- 贡献者 +- 编辑此页链接 +- 更新时间 +- 上一篇/下一篇 链接 +- 评论 +- 页脚 +- 返回顶部按钮 diff --git a/src/zh/demo/encrypt.md b/src/zh/demo/encrypt.md new file mode 100644 index 000000000..25370d00d --- /dev/null +++ b/src/zh/demo/encrypt.md @@ -0,0 +1,15 @@ +--- +icon: lock +category: + - 使用指南 +tag: + - 文章加密 +--- + +# 密码加密的文章 + +实际的文章内容。 + +段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字。 + +段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字。 diff --git a/src/zh/demo/markdown.md b/src/zh/demo/markdown.md new file mode 100644 index 000000000..a37c9656e --- /dev/null +++ b/src/zh/demo/markdown.md @@ -0,0 +1,403 @@ +--- +title: Markdown 展示 +icon: markdown +order: 2 +category: + - 使用指南 +tag: + - Markdown +--- + +VuePress 主要从 Markdown 文件生成页面。因此,你可以使用它轻松生成文档或博客站点。 + +你应该创建和编写 Markdown 文件,以便 VuePress 可以根据文件结构将它们转换为不同的页面。 + + + +## Markdown 介绍 + +如果你是一个新手,还不会编写 Markdown,请先阅读 [Markdown 介绍](https://theme-hope.vuejs.press/zh/cookbook/markdown/) 和 [Markdown 演示](https://theme-hope.vuejs.press/zh/cookbook/markdown/demo.html)。 + +## Markdown 配置 + +VuePress 通过 Frontmatter 为每个 Markdown 页面引入配置。 + +::: info + +Frontmatter 是 VuePress 中很重要的一个概念,如果你不了解它,你需要阅读 [Frontmatter 介绍](https://theme-hope.vuejs.press/zh/cookbook/vuepress/page.html#front-matter)。 + +::: + +## Markdown 扩展 + +VuePress 会使用 [markdown-it](https://github.com/markdown-it/markdown-it) 来解析 Markdown 内容,因此可以借助于 markdown-it 插件来实现 [语法扩展](https://github.com/markdown-it/markdown-it#syntax-extensions) 。 + +### VuePress 扩展 + +为了丰富文档写作,VuePress 对 Markdown 语法进行了扩展。 + +关于这些扩展,请阅读 [VuePress 中的 Markdown 扩展](https://theme-hope.vuejs.press/zh/cookbook/vuepress/markdown.html)。 + +### 主题扩展 + +通过 [`vuepress-plugin-md-enhance`][md-enhance],主题扩展了更多 Markdown 语法,提供更加丰富的写作功能。 + +#### 自定义容器 + +::: v-pre + +安全的在 Markdown 中使用 {{ variable }}。 + +::: + +::: info 自定义标题 + +信息容器,包含 `代码` 与 [链接](#自定义容器)。 + +```js +const a = 1; +``` + +::: + +::: tip 自定义标题 + +提示容器 + +::: + +::: warning 自定义标题 + +警告容器 + +::: + +::: danger 自定义标题 + +危险容器 + +::: + +::: details 自定义标题 + +详情容器 + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/container.html) + +#### 代码块 + +::: code-tabs + +@tab pnpm + +```bash +pnpm add -D vuepress-theme-hope +``` + +@tab yarn + +```bash +yarn add -D vuepress-theme-hope +``` + +@tab:active npm + +```bash +npm i -D vuepress-theme-hope +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/code-tabs.html) + +#### 上下角标 + +19^th^ H~2~O + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/sup-sub.html) + +#### 自定义对齐 + +::: center + +我是居中的 + +::: + +::: right + +我在右对齐 + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/align.html) + +#### Attrs + +一个拥有 ID 的 **单词**{#word}。 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/attrs.html) + +#### 脚注 + +此文字有脚注[^first]. + +[^first]: 这是脚注内容 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/footnote.html) + +#### 标记 + +你可以标记 ==重要的内容== 。 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/mark.html) + +#### 任务列表 + +- [x] 计划 1 +- [ ] 计划 2 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tasklist.html) + +### 图片增强 + +支持为图片设置颜色模式和大小 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/image.html) + +#### 卡片 + +```card +title: Mr.Hope +desc: Where there is light, there is hope +logo: https://mrhope.site/logo.svg +link: https://mrhope.site +color: rgba(253, 230, 138, 0.15) +``` + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/card.html) + +#### 图表 + +::: chart 一个散点图案例 + +```json +{ + "type": "scatter", + "data": { + "datasets": [ + { + "label": "散点数据集", + "data": [ + { "x": -10, "y": 0 }, + { "x": 0, "y": 10 }, + { "x": 10, "y": 5 }, + { "x": 0.5, "y": 5.5 } + ], + "backgroundColor": "rgb(255, 99, 132)" + } + ] + }, + "options": { + "scales": { + "x": { + "type": "linear", + "position": "bottom" + } + } + } +} +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/chart.html) + +#### Echarts + +::: echarts 一个折线图案例 + +```json +{ + "xAxis": { + "type": "category", + "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + }, + "yAxis": { + "type": "value" + }, + "series": [ + { + "data": [150, 230, 224, 218, 135, 147, 260], + "type": "line" + } + ] +} +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/echarts.html) + +#### 流程图 + +```flow +cond=>condition: 是否执行操作? +process=>operation: 操作 +e=>end: 结束 + +cond(yes)->process->e +cond(no)->e +``` + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/flowchart.html) + +#### Mermaid + +```mermaid +--- +title: Flowchart +--- +flowchart TB + c1-->a2 + subgraph one + a1-->a2 + end + subgraph two + b1-->b2 + end + subgraph three + c1-->c2 + end + one --> two + three --> two + two --> c2 +``` + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/mermaid.html) + +#### Tex 语法 + +$$ +\frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right) += \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^i r \cdots (r-i+1) (\log y)^{r-i}} {\omega^i} \right\} +$$ + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tex.html) + +#### 导入文件 + + + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/include.html) + +#### 代码演示 + +::: normal-demo 一个普通 Demo + +```html +

VuePress Theme Hope

+

非常强大!

+``` + +```js +document.querySelector("#very").addEventListener("click", () => { + alert("非常强大"); +}); +``` + +```css +span { + color: red; +} +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/demo.html) + +#### 样式化 + +向 Mr.Hope 捐赠一杯咖啡。 _Recommended_ + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/stylize.html) + +#### 交互演示 + +::: playground#ts TS 案例 + +@file index.ts + +```ts +const msg = "hello world"; + +const speak = (msg: string) => console.log(msg); + +speak(msg); +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/playground.html) + +#### Vue 交互演示 + +::: vue-playground Vue 交互演示 + +@file App.vue + +```vue + + + +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/vue-playground.html) + +#### 幻灯片 + +@slidestart + +## 幻灯片 1 + +一个有文字和 [链接](https://mrhope.site) 的段落 + +--- + +## 幻灯片 2 + +- 项目 1 +- 项目 2 + +--- + +## 幻灯片 3.1 + +```js +const a = 1; +``` + +-- + +## 幻灯片 3.2 + +$$ +J(\theta_0,\theta_1) = \sum_{i=0} +$$ + +@slideend + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/presentation.html) + +[md-enhance]: https://plugin-md-enhance.vuejs.press/zh/ diff --git a/src/zh/demo/page.md b/src/zh/demo/page.md new file mode 100644 index 000000000..5b120d9a7 --- /dev/null +++ b/src/zh/demo/page.md @@ -0,0 +1,74 @@ +--- +# 这是文章的标题 +title: 页面配置 +# You can customize cover image +cover: /assets/images/cover1.jpg +# 这是页面的图标 +icon: page +# 这是侧边栏的顺序 +order: 1 +# 设置作者 +author: Ms.Hope +# 设置写作时间 +date: 2020-01-01 +# 一个页面可以有多个分类 +category: + - 使用指南 +# 一个页面可以有多个标签 +tag: + - 页面配置 + - 使用指南 +# 此页面会在文章列表置顶 +sticky: true +# 此页面会出现在文章收藏中 +star: true +# 你可以自定义页脚 +footer: 这是测试显示的页脚 +# 你可以自定义版权信息 +copyright: 无版权 +--- + +`more` 注释之前的内容被视为文章摘要。 + + + +## 页面信息 + +你可以在 Markdown 的 Frontmatter 中设置页面信息。 + +- 作者设置为 Ms.Hope。 +- 写作日期为 2020 年 1 月 1 日 +- 分类为 “使用指南” +- 标签为 “页面配置” 和 “使用指南” + +## 页面内容 + +你可以自由在这里书写你的 Markdown。 + +::: tip + +- 你可以将图片和 Markdown 文件放置在一起,但是你需要使用**相对链接**`./` 进行引用。 + +- 对于 `.vuepress/public` 文件夹的图片,请使用绝对链接 `/` 进行引用。 + +::: + +主题包含了一个自定义徽章可以使用: + +> 文字结尾应该有深蓝色的 徽章文字 徽章。 + +## 页面结构 + +此页面应当包含: + +- [路径导航](https://theme-hope.vuejs.press/zh/guide/layout/breadcrumb.html) +- [标题和页面信息](https://theme-hope.vuejs.press/zh/guide/feature/page-info.html) +- [TOC (文章标题列表)](https://theme-hope.vuejs.press/zh/guide/layout/page.html#标题列表) +- [贡献者、更新时间等页面元信息](https://theme-hope.vuejs.press/guide/feature/meta.html) +- [评论](https://theme-hope.vuejs.press/zh/guide/feature/comment.html) +- [导航栏](https://theme-hope.vuejs.press/zh/guide/layout/navbar.html) +- [侧边栏](https://theme-hope.vuejs.press/zh/guide/layout/sidebar.html) +- [页脚](https://theme-hope.vuejs.press/zh/guide/layout/footer.html) +- 返回顶部按钮 + +你可以通过主题选项和页面 Frontmatter 自定义它们。 diff --git a/src/zh/intro.md b/src/zh/intro.md new file mode 100644 index 000000000..30e95b257 --- /dev/null +++ b/src/zh/intro.md @@ -0,0 +1,8 @@ +--- +icon: info +cover: /assets/images/cover3.jpg +--- + +# 介绍页 + +将你的个人介绍和档案放置在此处。 diff --git a/src/zh/posts/banana/1.md b/src/zh/posts/banana/1.md new file mode 100644 index 000000000..2df5e9365 --- /dev/null +++ b/src/zh/posts/banana/1.md @@ -0,0 +1,21 @@ +--- +icon: edit +date: 2022-01-05 +category: + - 香蕉 + - 水果 +tag: + - 黄 + - 弯曲的 + - 长 +--- + +# 香蕉 1 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/banana/2.md b/src/zh/posts/banana/2.md new file mode 100644 index 000000000..16db08c9b --- /dev/null +++ b/src/zh/posts/banana/2.md @@ -0,0 +1,26 @@ +--- +icon: edit +date: 2022-01-06 +category: + - 香蕉 + - 水果 +tag: + - 黄 + - 弯曲的 + - 长 +star: 10 +--- + +# 香蕉 2 + +一个被数字 `10` 星标了的香蕉文章。 + + + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/banana/3.md b/src/zh/posts/banana/3.md new file mode 100644 index 000000000..cce484a52 --- /dev/null +++ b/src/zh/posts/banana/3.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-07 +category: + - 香蕉 +tag: + - 黄 + - 弯曲的 + - 长 +--- + +# 香蕉 3 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/banana/4.md b/src/zh/posts/banana/4.md new file mode 100644 index 000000000..b69370e36 --- /dev/null +++ b/src/zh/posts/banana/4.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-08 +category: + - 香蕉 +tag: + - 黄 + - 弯曲的 + - 长 +--- + +# 香蕉 4 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/cherry.md b/src/zh/posts/cherry.md new file mode 100644 index 000000000..f2b22d1eb --- /dev/null +++ b/src/zh/posts/cherry.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-09 +category: + - 樱桃 +tag: + - 红 + - 小 + - 圆 +--- + +# 樱桃 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/dragonfruit.md b/src/zh/posts/dragonfruit.md new file mode 100644 index 000000000..c222eea10 --- /dev/null +++ b/src/zh/posts/dragonfruit.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-10 +category: + - 火龙果 + - 水果 +tag: + - 红 + - 大 +--- + +# 火龙果 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/strawberry.md b/src/zh/posts/strawberry.md new file mode 100644 index 000000000..014fce758 --- /dev/null +++ b/src/zh/posts/strawberry.md @@ -0,0 +1,20 @@ +--- +icon: edit +date: 2022-01-11 +category: + - 水果 + - 草莓 +tag: + - 红 + - 小 +--- + +# 草莓 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git a/src/zh/posts/tomato.md b/src/zh/posts/tomato.md new file mode 100644 index 000000000..24ea63a0e --- /dev/null +++ b/src/zh/posts/tomato.md @@ -0,0 +1,22 @@ +--- +cover: /assets/images/cover2.jpg +icon: edit +date: 2022-01-12 +category: + - 蔬菜 +tag: + - 红 + - 圆 +star: true +sticky: true +--- + +# 番茄 + +## 标题 2 + +这里是内容。 + +### 标题 3 + +这里是内容。 diff --git "a/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-1.png" "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-1.png" new file mode 100644 index 000000000..b05f88531 Binary files /dev/null and "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-1.png" differ diff --git "a/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-2.png" "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-2.png" new file mode 100644 index 000000000..cb85ad7f5 Binary files /dev/null and "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/image/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237/image-2.png" differ diff --git "a/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237.md" "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237.md" new file mode 100644 index 000000000..97dbbc01e --- /dev/null +++ "b/src/zh/posts/\346\235\202\350\260\210/\347\274\226\347\250\213\346\235\202\350\260\210/\351\234\207\346\203\212\357\274\2141=0\357\274\201\357\274\237.md" @@ -0,0 +1,36 @@ +--- +name: 震惊,1=0! +icon: edit +date: 2022-01-01 +category: + - 杂谈 +tag: + + - 杂谈/编程杂谈 +--- + +# 震惊,1=0!? + +## 事情的起因 + +起因是我正在DragonOS写 Signal 相关的代码,然后 Page fault 了,经过一系列排查之后,发现 RIP 寄存器的值好像不太对,把内核反编译之后发现确实不对,它没指向任何一个函数入口。到这一步,很自然的想法是栈损坏了,或者某些原因导致了 Dirty bit。这里先提一嘴,就是 DragonOS 里中断栈帧的RIP是 `u64`,而 Signal 中的函数指针是 `c_void`。后者在 rust 中打日志的时候会被格式化成十六进制。 + +## 扑朔迷离 + +后面我就想怎么回事呢,这个值不对。它是怎么个不对法呢,就是有如下代码,就是很简单的打日志 + +``` rust +kdebug!("hander:{:?}, as u64:{:?}",frame.handler,frame.handler as u64) +``` + +但是打出来两个值居然是不一样的!虽然一个是十六进制一个是十进制,但是值就是不一样。我思来想去,是不是 rust 把 `c_void` 转成 `u64` 的时候出错了呢?有这种想法也是带有对 Rust 编译器的一定成见,毕竟它确实有一些小bug。于是我新建了一个 Rust 项目,很简单地初始化了一系列 `c_void` 然后转成 `u64` ,发现值大到一定程度就错了(没溢出)。我就想怎么会这样呢,编译器不可能会出这种错的。于是我就去吃饭了。 + +## 真相大白 + +我回来坐在凳子上,想着要不先测测别的能不能跑,也就是把原来错误的地址加上一个固定的值让它强行变到正确的地址上,再回头来解决这个问题,于是乎我就在测算这个值和正确的指针地址差多少,我在 `在线进制转换!` 中把输入的十进制数 `+1` ,没变! + +![+1之前](./image/震惊,1=0!?/image-1.png) + +![+1之后](./image/震惊,1=0!?/image-2.png) + +看到这个结果的一瞬间我直接瘫坐在椅子上泣不成声。这是 google 中搜索 `进制转换` 排第一的网站,我测试了第一页全部网站,无一幸免。包括知名的 `菜鸟教程`。而我一旦搜索 `Dec converter` 随便两个网站都是正确的。我不做任何评价,但是这着实给我来了一点小小的中国震撼。 diff --git "a/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter0 \345\211\215\350\250\200.md" "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter0 \345\211\215\350\250\200.md" new file mode 100644 index 000000000..09ed9c765 --- /dev/null +++ "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter0 \345\211\215\350\250\200.md" @@ -0,0 +1,21 @@ +--- +name: Chapter0 前言 +icon: edit +date: 2022-01-01 +category: + - 笔记 +tag: + + - 笔记/编译原理 +--- + +# 前言 + +## 写给华工软院学生 + +1. 2021级编译原理考试难度较低,复习优先级低,不建议花太多时间准备。虽然根据老师不同(以徐老师为例),可能上课的内容比较深入,让学生产生了这门科目难度很大的错觉。诚然要彻底理解编译原理需要花费大量的时间,但考试内容基本都是简单的算法,只要把几个重要算法理解了,都不需要把每个概念搞的非常清楚,考试都基本不会出问题。 +2. 编译原理博大精深,作为计算机底层设计的一部分,课堂上教授的内容少之又少,甚至可以说和一些工程实践是`严重脱钩`的,比如上课会花很大的精力教你自动机和自动机的相关算法,但是在实际工程运用中,我们有诸如 `lexer` 的工具帮我们完成这个工作,而且如果是编写一个简单的词法分析器,甚至只需要简单的 `最长字串匹配` 就能实现一个词法分析。仅凭课堂上学的内容,大概率连怎么写一个 TinyC(精简版的C语言) 都不知道。感兴趣的同学可以认真钻研一番,这对编程能力会有极大的提高。 + +## 写给全体 + +1.本系列笔记是对自己大学生活的记录,不保证能记录下所有知识点,仅供同学们学习参考。 diff --git "a/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter1 \347\274\226\350\257\221\345\231\250\347\273\204\346\210\220.md" "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter1 \347\274\226\350\257\221\345\231\250\347\273\204\346\210\220.md" new file mode 100644 index 000000000..691aeeee5 --- /dev/null +++ "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter1 \347\274\226\350\257\221\345\231\250\347\273\204\346\210\220.md" @@ -0,0 +1,44 @@ +--- +name: Chapter1 编译器组成 +icon: edit +date: 2022-01-01 +category: + - 笔记 +tag: + + - 笔记/编译原理 +--- +# Chapter1 编译器组成 + +## 编译器的结构 + +- 词法分析Lexical analysis (Scanning) +- 语法分析Syntax analysis (Parsing) +- 语义分析 Semantic analysis + +::: info + 以上三步的目的是通过分析输入代码,生成能被统一处理的中间层代码,亦即编译器前端(front-end) +::: + +- 中间代码生成 IR Generation +- 中间代码优化 IR Optimization +- 最终代码生成 Generation +- 最终代码优化 Optimization + +$$C(源代码)\rightarrow TAC(Three Address Code)中间(intermediate)码\rightarrow 机器码$$ + +## 词法分析 + +- 本质上就是为了输出一个合法的token序列,每个token就是一个关键词或者一个关键词+词素(lexeme)的组合如$$\begin{array}{c}T\_While\quad 关键词\\ T\_Identifier \;\;x \quad 关键词+词素\end{array}$$ + +## 语法分析 + +- 就是将一个token序列表示为一棵语法树 + +## 语义分析 + +- 就是将语法分析得到的语法树转化为一个带注解(annotated)的语法树 + +## 中间代码生成 + +- 从语法树生成通用的中间代码 diff --git "a/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter2 \350\257\215\346\263\225\345\210\206\346\236\220.md" "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter2 \350\257\215\346\263\225\345\210\206\346\236\220.md" new file mode 100644 index 000000000..48fc1bae5 --- /dev/null +++ "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter2 \350\257\215\346\263\225\345\210\206\346\236\220.md" @@ -0,0 +1,231 @@ +--- +name: Chapter2 词法分析 +icon: edit +date: 2022-01-01 +category: + - 笔记 +tag: + + - 笔记/编译原理 +--- +# Chapter2 词法分析 + +## 大纲 + +- 扫描过程 Scanning Process +- 正则表达式 Regular Expressions +- 有限自动机 Finite Automata(NFA(nondeterministic 非确定性有限自动机) and DFA(deterministic 确定性)) +- RE转换NFA(McNaughton-Yamda-Thompson algorithm) +- NFA 转换DFA(子集算法 Subset construction Algorithm) +- 最小化DFA(State-Minimization Algorithm) + +## 扫描过程 + +``` + while(137$表示 +- token表示一组符合特定规则的字符,例如标识符必须以字母开头并只包含字母和数字 +- 每个token关联一个词素(lexeme) + - lexeme即为token的字面值,如“137”,”int“等 +- 每个token可能有属性(attributes) + - 从字面值中得到的额外信息,一般是一个数值,如$137\rightarrow $ + +## 正则表达式 + +### 形式化语言 + +#### 字符表(alphabet) + +- 是指一个由符号(字符、数字、特殊符号)组成的有限集,例如$$\sum=\{0,1\},A=\{a,b,c\}$$ + +#### 字符串(string) + +- 一个基于某个字符表的字符串是一个由字符表中给出的符号组成的有穷序列 +- 特殊的$\varepsilon$ 表示一个空串,但不等价于空集 +- 例如 + - 0,00,10是$\sum=\{0,1\}$的字符串 + - a,ab,aaca是$A=\{a,b,c\}$的字符串 + +#### 语言(language) + +- 由基于某一给定的字符表的一系列字符串组成的集合 +- $\{\varepsilon\}和空集\Phi$ 都是语言 + +##### 语言的运算 + +| $Operation$ | $Definition\;\; And \;\; notation$ | +| ---------------- | ------------------------------------------------------ | +| $Union\;\; of\;\; L\;\; and\;\; M$ | $L\bigcup M = \left\{s\mid s\in L \lor s\in M\right\}$ | +| $Concatenation\;\; of\;\; L\;\; and\;\; M$ | $LM=\{st\mid s\in L \land t\in M\}$ | +| $Kleene\;\; closure\;\; of\;\; L$ | $L^*=\bigcup^\infty_{i=0}L^i$ | +| $Positive\;\; closure\;\; of\;\; L$ | $L^{+}=\bigcup^\infty_{i=1}L^i$ | + +### 正则表达式 + +#### 原子表达式 + +- $\varepsilon$匹配一个空串 +- 字符表中的符号a只匹配a + +#### 复合表达式 + +假设$R_1和R_2$是两个正则表达式,那么: + +- $R_1R_2$是它们的级联 +- $R_1|R_2$是它们的并集 +- $R^*$是它们的Kleene闭包 +- (R)可以提高运算优先级($(R)>R^*>R_1R_2>R_1|R_2$) + +#### 例子 + +- 中间包含00的任意串:$(0|1)^*00(0|1)^*$ +- 包含最多一个零:$1^*(0|\varepsilon)1^*$或$1^*0?1^*$ +- 标识符:$letter(letter|digit)^*$ + +## 有限自动机 + +### 概念 + +- 正则表达式可以用一个有限自动机来实现 +- 有两种类型的有限自动机——NFA与DFA +- 核心思想$RE\rightarrow NFA\rightarrow DFA$ + +### 有限自动机的数学定义 + +是一个五元组(tuple)$$\begin{array}{c} +M=( \sum,S,F,S_{0},S_{a} )\\ +F:S\times \sum \rightarrow S \\ +\sum为符号表 \\ +S为状态集 \\ +F为状态转移函数 \\ +S_0为初始态 \\ +S_a为接受态 +\end{array} $$ + +### NFA(Nondeterministic Finite Automata) + +- 对于给定的状态,一个输入会有多个转移 +- 可以有$\varepsilon$转移 + +#### NFA的执行 + +1. 维护一个下一状态的集合,初始为空 +2. 对于每个当前状态,执行 + 1. 对于当前输入执行全部转移 + 2. 将所有转移的结果加入下一状态的集合中 +3. 再将所有$\varepsilon$转移加入下一状态集合中 + +#### 时间复杂度 + +- 对一个长为$m$的字符串,并且有$n$个状态的自动机,时间复杂度为$O(mn^2)$ + +### DFA(Deterministic Finite Automate) + +- 每个状态每个输入只会有一个转移 +- 没有$\varepsilon$转移 + +#### DFA的执行 + +```cpp +int kTransitionTable[kNumStates][kNumSymbols]={ +{2,1,3,0,0,3} +}; +bool kAcceptTable[knumStates] = { + true, + true, + false ... +} +bool simulateDFA(string input){ + int state = 0 + for(char ch: input) + state = kTransitionTable[state][ch]; + return kAcceptTable[state]; +} +``` + +#### 时间复杂度 + +- 对于任意复杂的自动机,都有$O(n)$的时间复杂度 + +## RE到NFA + +### McNaughton-Yamada-Thompson 算法 + +#### 算法 + +- 将RE分为连续的子表达式(subexpression),每个括号内表示一个子表达式,可以用一个一般树来描述,越靠近根节点运算优先级越低$$ab|c^* \rightarrow ((ab)|(c^*))$$ +- 构建起基本子表达式的NFA +- 再将构建起来的NFA结合起来,形成最终的NFA + +#### 基本子表达式的NFA + +![子表达式NFA1](/assets/images/编译原理/词法分析/子表达式NFA1.png) +![子表达式NFA3](/assets/images/编译原理/词法分析/子表达式NFA3.png) +![子表达式NFA4](/assets/images/编译原理/词法分析/子表达式NFA4.png) +![子表达式NFA5](/assets/images/编译原理/词法分析/子表达式NFA5.png) + +- 对于一个长度为$m$的正则表达式和有$n$个状态的NFA,可以在$O(mn^2)$的时间里判断这个正则表达式是否被匹配 + +#### 特点 + +- 只有一个接收态 +- 接收态没有出变迁(没有出边) +- 初始状态没有入变迁(没有入边) + +## 冲突解决 + +- 最长子串(Maximal munch):尽可能识别更长的子串 +- 优先级系统(priority system 硬编码):给不同的token设置不同的优先级 + +## NFA到DFA + +- $\varepsilon$闭包:将NFA状态及其$\varepsilon$可达的加入当前NFA状态集中:$\varepsilon\_closure(I) =I\cup(U_{S\in I}edge(s,\varepsilon))$ +- move方法:$move(I,a)=\{t|s\in I,t=T(s,a)\}$ +- 子集构造法:$Subset\;I_a=\varepsilon\_closure(Move(I,a))$ + +### 算法 + +1. 计算$M$的初始状态$的\varepsilon\_closure$,并作为$M^{'}$ 的初始状态 +2. 对于这个集合以及每个后续集合 S ,我们计算每个字符 $a∈Σ$ 上的转换 $S_a$,这定义了一个新状态以及一个新转换$S\stackrel{a}{\longrightarrow} S_a$ +3. 不断进行这个过程,直到没有新的状态和转换生成 +4. 标记包含接受态的状态 + +![NFA2DFA](/assets/images/编译原理/词法分析/NFA2DFA.png) +![NFA2DFA2](/assets/images/编译原理/词法分析/NFA2DFA2.png) + +## 最小化DFA + +- 等价状态:对于两个状态$S_a和S_b$,如果对于符号表中的每一个输入,$S_a和S_b$都有相同或等价的k个状态,则这两个状态是等价的 + +### 算法 + +1. 将DFA中的状态划分为两个等价类:接受状态和非接受状态。 +2. 对于每个等价类,根据输入字符的转移关系。如果对于某个字符使得一个等价类内的一个状态转移到另一个等价类中的状态,就将这个状态其进一步划分为更小的等价类。 +3. 重复第2步,直到不能再划分为止。 + +``` +//基于等价类的思想 +split(S) + foreach(character c) + if(c can split s) + split s into S1, S2 + //分别表示未迁出的状态集合和迁出的状态集合 + +hopcroft() + split all nodes into N, A + while(set is still changes) + split(s) +``` + +![最小化DFA](/assets/images/编译原理/词法分析/最小化DFA.png) + +- 不过一般做题直接颅内找等价就行了,不用一定按照这个划分一步步做下去。 diff --git "a/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter3 \350\257\255\346\263\225\345\210\206\346\236\220.md" "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter3 \350\257\255\346\263\225\345\210\206\346\236\220.md" new file mode 100644 index 000000000..88ea168cf --- /dev/null +++ "b/src/zh/posts/\347\274\226\350\257\221\345\216\237\347\220\206/Chapter3 \350\257\255\346\263\225\345\210\206\346\236\220.md" @@ -0,0 +1,484 @@ +--- +name: Chapter3 语法分析 +icon: edit +date: 2022-01-01 +category: + - 笔记 +tag: + + - 笔记/编译原理 +--- +# Chapter3 语法分析 + +- 正则表达式的能力有限,无法分析具体的语法细节(例如嵌套、$a^nb^n$的n值),与其等价的有穷自动机同理,因此引入了下推自动机和上下文有关、无关文法 + +# 大纲 + +- 语法分析的形式化——上下文无关文法 +- 语法分析算法 + +# 上下文无关文法(CFG) + +- 是用来描述一个编程语言的语法结构的文法 +- 和正则表达式一样,可以表示递归的规则,而且更强大 +- 是正则表达式的严格超集 + +## Chomsky语言层级 + +|Chomsky hierarchy|Production(产生式)|Explanation| +|---|---|---| +|unrestricted(type 0)(自然语言)|$\alpha \rightarrow \beta \quad V^+=V_N\cup V_T$$其中\alpha\in V^+,\; \beta\in V^*$|无严格约束| +|context sensitive(type 1)(上下文有关文法)|$\alpha A \gamma \rightarrow \alpha \beta \gamma,$$其中\alpha,\;\gamma\in V^*,\;A \in V_N, \; \beta \in V^+$|在不同的上下文中,$A$可能被不同的$\gamma$替换| +|context free(type 2)(上下文无关文法)|$A\rightarrow \beta ,\;A\in V_N,$$其中\beta \in V^*$|在任何$A$出现的地方都会被$\gamma$替换| +|regular(type 3)(正则表达式)|$A\rightarrow aB\;or\;A\rightarrow a$$(其中A,B\;A,b\in V_N\;,a\in V_T)$|等价于正则表达式| + +- $V_N和V_T$分别是非终止符号集(nonterminal)和终止符号(terminal)集,是由语言设计者设计的集合,终止符就是常说的token +- 如果一个符号由它自身定义($a\rightarrow a$或$int \rightarrow int$)那么就是一个终止符号,通常是标点符号,如分号,括号等 +- 如果一个符号有其定义的可再分的结构就是一个非终止符号($letter\rightarrow [A-Za-z]$),通常是句子,短语,表达式等 +- 要注意,$A^*$(Kleene闭包)是正则表达式特有的规则,CFG中没有,"|"在CFG中表示的是或,用来简化表示多个产生式,而不是正则表达式中的Union。 +- CFG文法规定的第一个文法的左部是开始符号,规定了该语言都满足的一个规则 +- 一个处于较低层级的文法是上级文法的特例,例如RE就是一种特殊的CFG + +## 形式化定义 + +$$\begin{array}{c} +CFG:G=(V_T,V_N,P,S)\\ +V_T\text{是终止符集合}\\ +V_N\text{是非终止符集合,}V_N\cap V_T=\varnothing\\ +P\text{是产生式集合,或称语法规则集,满足}A\rightarrow \beta \;A\in V_N和\beta \in (V_N\cup V_T)^*\\ +S\text{是初始符号,}S\in V_N +\end{array}$$ + +### EBNF(Extended Backus-Naur form) + +- $\rightarrow$:$X\rightarrow Y_1Y_2Y_3...Y_N$表示$X\text{可以用}Y_1Y_2Y_3...Y_N$来代替,$X\rightarrow \varepsilon$表示$X$可以用空串代替,这种$A\rightarrow \alpha$被称为BNF表示法 +- 简化表示: + 1. 除非特殊说明,否则第一个产生式的左部就是初始符号 + 2. 用小写字母表示终止符号 + 3. 用大写字符或者$<...>$表示非终止符号 + 4. 如果左部都为$A$的一系列产生式$A\rightarrow \alpha_2,\;...,\;A\rightarrow \alpha_n,\;$可以简写为$A\rightarrow \alpha_1 | \alpha _2|...|\alpha_n$ +- 特别注意: +$$\begin{array}{c} + S\rightarrow a^*b \text{(错误写法,没有Kleene闭包)}\\ + S\rightarrow Ab\\ + A\rightarrow Aa|\varepsilon +\end{array}$$ + +$$\begin{array}{c} +S\rightarrow a(b|c)(错误,没有括号)\\ +S\rightarrow aX\\ +X\rightarrow b|c +\end{array}$$ + +- 左递归:$A \rightarrow A\alpha|\beta\;(left\;recursive)$可表示$\beta ,\;\beta \alpha,\; \beta \alpha \alpha...$即有推导$A\Rightarrow^*\beta \alpha^n(n=0,1,2,...)$在EBNF中可表示为$A\rightarrow\beta \{\alpha \}$ +- 右递归:$A \rightarrow \alpha A|\beta\;(right\;recursive)$可表示$\beta,\; \alpha \beta,\; \alpha \beta \beta...$即有推导$A\Rightarrow^* \alpha^n \beta(n=0,1,2,...)$在EBNF中可表示为$A\rightarrow \{\alpha \}\beta$ +- 结合性 +$$\begin{array}{c} +exp\rightarrow exp\; addop\; term|term\\ +exp\rightarrow term\{addop\;term\}\text{(左结合性)}\\ +exp\rightarrow term[addop \; term]\text{(右结合性)} +\end{array}$$ +- 中括号表示其中的符号出现0次或1次,大括号表示0次或 + +## 推导(Derivation)与规约(Reduction) + +- 如果能用一步步推导从初始符号得到需要验证的式子,那么式子就是符合规则的 +- 推导就是不断用产生式的右部来替换一个非终止符 +- $\Rightarrow^*$表示多步推导 +- 由终止符号构成的串称为句子(sentence),由非终止符号构成的串是句型(sentential form) +- 以S为开始符号的CFG构成的语言: + $$L(G)=\{s\in V_T^*|\;there\;exists\;S\Rightarrow^*s\;of\; G\}$$ + +### 语法树 + +- 根节点是开始符号 +- 内部节点是非终止符号 +- 叶子节点是终止符号或者$\varepsilon$ +- 如果节点A有子节点$X_1,X_2,...,X_N$则意为$A\rightarrow X_1X_2...X_N$ +- 最终的叶子节点连起来就是一个句子 +- 不同的推导会得到不同的树,但是可能会有相同的结果。 + +### 最左推导(LeftMost Derivation前缀推导) + +- 总是对句型中最左侧的非终止符号进行一次推导 +- 从开始符号推导到结果,被称为Top-down + +### 最右推导(RightMost Derivation) + +- 从结果反向推回开始符号,这个过程被称为规约$s\Rightarrow^*S$ +- 等价于对语法树进行后序遍历的逆过程 +- 最右推导的能力比最左推导要强 + +### 抽象语法树 + +![[语法树与抽象语法树.png]] + +- 比起语法树,省略了部分细节,带来了更好的语法抽象,对于后续编译阶段是一个更好的数据结构 +- 它反映了源码token序列的一个抽象,比语法树更高效 + +## 歧义(Ambiguity) + +- 对于一个CFG,同样的输入可能有不同的解析 +![[语法树歧义.png]] + +### 解决方法 + +- 消除歧义(Disambiguity rule):不改变文法,列举所有可能造成歧义的情况并进行消除,不现实的 +- 文法重写:改变文法,进行同义转换:(添加优先级,添加关联性) +$$E\rightarrow E-E|E \times E|(E)|i\;\Rightarrow \begin{array}{c} +E\rightarrow E-E|T\\ +T\rightarrow T\times T|F\\ +F\rightarrow(E)|i +\end{array}$$ +![[消除歧义1.png]] +![[消除歧义2.png]] +![[消除歧义3.png]] + +# 语法分析算法(parsing) + +## Top-Down(Leftmost) parsing + +- 本质上是一个图搜索问题,在树上搜索,查找能否获得一个与输入sentence匹配的路径 + +### 回溯算法(Backtracking) + +- 用BFS:进行图遍历搜索,复杂,时间复杂度过高,产生大量无用分支,时间和空间的最差情况都是指数级别。现代编译器中不被使用 +- 剪枝:由终止符号做前缀时,如果无法与输入的前缀匹配则剪枝。($Aa|Ab|c\rightarrow caaaaa$时,无法剪枝,因为前缀一直是非终止符号) +- 用DFS:有比BFS更好的空间复杂度和时间复杂度,但是无法匹配($Aa|c\rightarrow c$,因为会一直循环) + +### 预测推导(predictive parsing) + +- Idea:利用先行词(lokkahead tokens),也就是上面提到过的终止符前缀 +- 两种分析方法: + + 1. 递归下降分析(Recursive-descent parsing) + 2. LL(1)分析 + +#### 预测分析的概念 + +- 从输入串和文法的开始符号开始分析 +- 可以从当前输入的token(s)唯一确定下一个要使用的产生式 +- 预测分析文法包括LL(k)文法,其中L表示从左向右扫描,L表示最左推导,k表示“需要$\le k$个先行词用于预测 ” +- LL(1)文法是常用的,也不完全常用 + +##### Lookahead Sets + +###### First Sets(具体计算看讲义和书) + +- 定义 +$$\begin{array}{c} +G=(V_N,V_T,P,S)\text{是一个文法}\\ +\beta\in(V_N\cup V_T)^*\\ +FIRST(\beta)=\{\alpha\in V_T|\beta\Rightarrow^*a...\}\\ +if\;\beta\Rightarrow^*\varepsilon\;then\;\varepsilon\in FIRST(\beta) +\end{array}$$ +- 计算 + +![[First()计算 1.png]] +![[First()计算 2.png]] +![[First()计算 3.png]] +![[First()计算 4.png]] +![[First()计算 5.png]] +//Todo 提取简练笔记 + +###### Follow Sets + +- 定义: +$$\begin{array}{c} +G=(V_N,V_T,P,S)\text{是一个文法}\\A\in V_N\\ +FOLLOW(A)=\{a\in V_T|S\Rightarrow^*...Aa...\},\\ +if\;S\Rightarrow...A,\;then\;\$\in FOLLOW(A)\\ +\$是用来标记输入的终止的符号 + +\end{array}$$ + +- 计算: +![[Follow()计算 1.png]] +![[Follow()计算 2.png]] + +##### 可空的非终止符(nullable nonterminal) + +- 定义: + $$S\Rightarrow^*\varepsilon$$ +则称S是一个可空的非终止符 +- 计算: +![[nullble set计算 1.png]] +![[nullble set计算 2.png]] + +##### 判定LL(1)文法 + +- 计算每个可空的非终止符 +- 计算产生式右侧所有的$FIRST(\alpha)$并验证其两两交集是否为空 +- 计算(1)中算出的非终止符的$FOLLOW(A)$并验证$FIRST(A)\cap FOLLOW(A)=\varnothing$ +![[判断LL(1)示例.png]] + +##### 非LL(1)到LL(1) + +- 两种简单的非LL(1)情形: + + 1. 左因子,例如$A\rightarrow \alpha \beta|\alpha r$,这是两个产生式的简写,其产生式交集为$\alpha$,改写方法为 + $$\begin{array}{c} +A\rightarrow\alpha\beta_1|\alpha\beta_2|...|\alpha\beta_n\;重写为:\\ +A\rightarrow\alpha A{'}\quad A^{'}\rightarrow\beta_1|\beta_2|...|\beta_n +\end{array}$$ + 2. 左递归,包括直接左递归和间接左递归,例如$A\rightarrow A \beta$和$A\rightarrow B \beta\quad B\rightarrow A\alpha$ 改写方法为 +$$\begin{array}{c} +A\rightarrow A \alpha|\beta\;\text{重写为:}\\ +A\rightarrow\beta A^{'}\; ,\;A^{'}\rightarrow\alpha A^{'}|\varepsilon\\ +\text{一般情况为:}\\ +A\rightarrow A \alpha_1|A \alpha_2|...|A \alpha_m|\beta_1|\beta_2|...|\beta_n\; \text{重写为:}\\ +A\rightarrow \beta_1 A^{'}|\beta_2 A^{'}|...|\beta_n A^{'}\\ +A^{'}\rightarrow\alpha_1 A^{'}|\alpha_1 A^{'}|...|\alpha_m A^{'}|\varepsilon +\end{array}$$ + +- 要注意:将这两者进行改写后并不能保证改写后的文法是LL(1),仍需要再进行验证 + +#### 递归下降 + +##### 输入 + +- 非终止符号递归调用,终止符号匹配 + +```cpp +int main(){ + Token token = getNextToken(); + S();/*S is the start symbol*/ + if(token!='$') throw error; +} +void A(){ + /*select a production of A:A→X_1X_2...X_k*/ + for(int i=0; i} \\ +&\text{if}\_\text{false t1 goto L1} \\ +&\text{} \\ +&\text{goto L2} \\ +&\text{label L1} \\ +&\text{} \\ +&\text{label L2} +\end{aligned}$$ + +###### $S\to\text{if E then S1}$ +![[if结构.png]] +$$\begin{aligned} +&\text{E.true}=\text{newlabel ();} \\ +&\text{E.false}=\text{S.next;} \\ +&\text{S.code}=\text{E.code}++\text{Label E.true}++\text{S1.code} +\end{aligned}$$ + +###### $S\to\text{if E then S1 else S2}$ +![[if-else结构.png]] +$$\begin{aligned} +&\text{E.true=newlabel};\text{E.false=newlabel}; \\ +&\text{S1.next=S.next};\text{S2.next=S.next;} \\ +&\text{S.code=E.code}++\text{LabelE.true}++S1.\text{code}++\text{goto S.next}++ \\ +&\text{Label E.false++S2.code} +\end{aligned}$$ + +##### While + +$$\text{while-stmt}\to\text{while}(\exp)\text{stmt}$$ + +$$\begin{aligned} +&\text{label L1} \\ +&\text{} \\ +&\text{if}\_\text{false t1 goto L2} \\ +&\text{} \\ +&\text{goto L1} \\ +&\text{label L2} +\end{aligned}$$ + +###### $\text{S}\to\text{while E do S1}$ +![[while结构.png]] +$$\begin{aligned} +&\text{S.begin=newlabel};\text{E.true=newlabel};\text{E.false=S.next;} \\ +&\text{S1.next=S.begin;} \\ +&\text{S.code=Label S.beginin}++\text{E.code}++\text{Label E.true}++\text{S1.code} \\ +&\text{++goto S.begin} +\end{aligned}$$ + +##### 布尔表达式 + +- 布尔表达式有两个主要作用,一个是用来计算逻辑值,另一个是用在 if 或 while 等语句中作为条件控制。 +$$\begin{gathered} +\text{E}\to\text{E or E}\mid\text{E and E}\mid\text{not E}\mid\text{(E)} \\ +\big|\text{id relop id}\big|\text{true}\big|\text{false} \\ +relop:关系运算符(\ge,\le,\lt,\gt,=,\neq) +\end{gathered}$$ +- 例如$\text{a or b and not c}$ 就会被翻译成 +$$\begin{aligned} +&\text{\_t1} =\text{not c} \\ +&\text{\_t2} =\text{b and t1} \\ +&\text{\_t3} = \text{a or t2} +\end{aligned}$$ + +###### $\text{E}\to\text{E1 or E2}$ + +![[or结构.png]] +$$\begin{aligned} +&\text{E1.true=E.true;} \\ +&\text{E1.false=newlabel;} \\ +&\text{E2.true=E.true;} \\ +&\text{E2.false=E.false;} \\ +&\text{E.code=E1.code++label E1.false++E2.code} +\end{aligned}$$ + +###### $\text{E}\to \text{E1 and E2}$ +![[and结构.png]] +$$\begin{aligned} +&\text{E1.true=newlabel;} \\ +&\text{E1.false=E.false;} \\ +&\text{E2.true=E.true;} \\ +&\text{E2.false=E.false;} \\ +&\text{E.code=E1.code++ Label E1.true++ E2.code} +\end{aligned}$$ + +###### $\text{E}\to \text{not E1}$ + +$$\begin{gathered} +\text{E1.true=} \text{E.false;} \\ +\text{E1.false=} \text{E.true;} \\ +\text{E.code=E1.code;} +\end{gathered}$$ + +###### 例子 + +![[布尔表达式例子.png]] + +##### 流程控制与布尔表达式翻译 + +- 流程控制的语法(其中$E$为布尔表达式): +$$\begin{aligned} +S\to&\text{if E then S1} \\ +& \text{| if E then S1 else S2} \\ +&\text{| while E do S1} +\end{aligned}$$ +- 在流程控制中,布尔表达式的值不再是由临时变量来表示并存储,而是用程序跳转的位置来表示。 + +###### 例子 + +```c +while a + +@slidestart + + + +## 幻灯片演示 + + + +一个简单的幻灯片演示与各种小贴士。 + + + +> 作者 Mr.Hope. 请滚动鼠标滚轮进入下一页 + +--- + +## 标注幻灯片 + + + +[👇](#/1/1) + +-- + +## 标注幻灯片 + + + +使用 `---` 标注水平幻灯片 + + + +在水平幻灯片中使用 `--` 分割垂直幻灯片 + + + +使用 `` 在幻灯片上添加属性 + + + +使用 `` 在前一个 HTML 元素上添加属性 + + + +--- + + + +## Markdown + + + +你可以在幻灯片中使用 Markdown 语法的各种标记. + + + +-- + + + +## Markdown + +你可以在幻灯片中使用 Markdown 语法的各种标记. + +### 这是一个 H3 + +标题默认会自动转换为大写。 + +这是一个有着 **粗体**, _斜体_, ~~删除线~~ 文字并包含 [一个链接](https://mrhope.site) 的段落,并且它会自动换行。所以你无需担心它的长度。 + +-- + + + +## Markdown + +你可以在幻灯片中使用 Markdown 语法的各种标记. + +列表默认为 `inline-block` + +- 项目 +- 项目 +- 项目 + +1. 项目 1 +1. 项目 2 +1. 项目 3 + +-- + + + +## Markdown + +你可以在幻灯片中使用 Markdown 语法的各种标记. + +在你启用 `highlight` 插件后,代码块会自动高亮。 + +```js +const a = 1; +``` + +-- + + + +## Markdown + +你可以在幻灯片中使用 Markdown 语法的各种标记. + +在你启用 `math` 插件后,你也可以使用 TEX 格式使用数学公式。 + +$$ +J(\theta_0,\theta_1) = \sum_{i=0} +$$ + +-- + + + +## Markdown + +你可以在幻灯片中使用 Markdown 语法的各种标记. + +⚠**请注意**: 表格和分割线,以及所有不在 Markdown 标准语法中的内容均不受支持。 + +--- + + + +## 布局 + + + +-- + + + +## 布局 + + + +👆 `r-fit-text` class 会让文字在不超出幻灯片范围的情况下尽可能大。 + +-- + + + +## 布局 + +![Logo](/logo.svg) + + + +👆 `r-stretch` class 帮助你控制注入图片或视频的大小,使它们填充满幻灯片垂直方向上的剩余空间。 + +-- + + + +## 布局 + +### 背景 + +你可以通过向特定幻灯片添加 `data-background` 属性自定义幻灯片背景. + +--- + + + +## 动画片段 + + + +-- + + + +## 动画片段 + + + +动画片段用于高亮或显隐幻灯片中的元素。 + +你需要在元素上添加 `fragment` 和动画 class。 + +-- + + + +## 动画片段 + +### 动画 class + +- `fade-in` + + +- `fade-out` + + +- `fade-up` + + + + +- `fade-down` + + +- `fade-left` + + +- `fade-right` + + + + +- `fade-in-then-out` + + +- `fade-in-then-semi-out` + + +-- + + + +## 动画片段 + +### 动画 class + +- `grow` + + +- `shrink` + + +- `strike` + + + + +- `highlight-red` + + +- `highlight-green` + + +- `highlight-blue` + + + + +- `highlight-current-red` + + +- `highlight-current-green` + + +- `highlight-current-blue` + + +-- + + + +## 动画片段 + +### 多个动画片段 + +你可以按照顺序包裹一个 HTML 元素使其拥有多个动画片段 + + + + + 渐入 > 变红 > 渐出 + + + + +-- + + + +## 动画片段 + +### 顺序 + +你可以使用 `data-fragment-index` 属性改变元素的动画顺序。 + +不同元素可以有相同的动画顺序。 + +- 最后显示 + + +- 第二个显示 + + + + +- 第一个显示 + + +- 第二个显示 + + +--- + + + +## 渐变 + + + +-- + + + +## 渐变 + + + +Transition 可以通过配置中的 `transition` 选项全局设置,也可以通过在特定幻灯片添加 `data-transition` 属性局部设置. + +可能的值: + +- none +- fade +- slide + + + +- convex +- concave +- zoom + +-- + + + +## 渐变 + + + +### 过渡动画 + +你可以在相邻的幻灯片上添加 `data-auto-animate` 使相同的 HTML 元素产生过渡动画效果。 + +--- + + + +## 功能 + + + +-- + + + +## 功能 + + + +### 代码 + +通过启用 `highlight` 插件,你可以对代码块进行高亮。 + +你可以使用 `[a-b|c-d]` 语法来分布高亮特定行。 + +```js [1-2|3|4] +let a = 1; +let b = 2; +let c = (x) => 1 + 2 + x; +c(3); +``` + +-- + + + +## 功能 + + + +### 预览模式 + +按下 `Esc` 或 `O` 即可在幻灯片获得焦点时进入预览模式。 + +-- + + + +## 功能 + + + +### 全屏模式 + +按下 `F` 或 `F11` 即可在幻灯片获得焦点时进入全屏模式。 + +-- + + + +## 功能 + + + +### 缩放 + +按下 `alt` (Linux 上使用 `ctrl`) 的同时点击幻灯片的任何元素,即可以向此元素进行放大。 + +再次点击即可缩小。 + +--- + + + +## 结束 + +@slideend