commit 52bef937326856e3ff4bcd72e8c8f009709a3f7a Author: zengBin Date: Fri Aug 16 09:14:13 2024 +0800 update 福恋重构初始化 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..a261f29 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +dist/* diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..f62fc56 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,50 @@ +module.exports = { + root: true, + parser: 'babel-eslint', + parserOptions: { + sourceType: 'module' + + }, + env: { + browser: true + }, + // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style + extends: 'standard', + // required to lint *.wpy files + plugins: [ + 'html' + ], + settings: { + 'html/html-extensions': ['.html', '.wpy'] + }, + // add your custom rules here + 'rules': { + 'indent': 'off', + 'eqeqeq': 0, + 'no-fallthrough': 0, + 'no-duplicate-imports': 0, + // allow paren-less arrow functions + 'arrow-parens': 0, + // allow async-await + 'generator-star-spacing': 0, + 'camelcase': 0, + 'no-return-assign': 0, + // allow debugger during development + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'one-var': 0, + // "yoda": [0, "never"], + 'no-unused-expressions': 0, + 'no-unneeded-ternary': 0, + 'no-undef': 0, + 'space-before-function-paren': 0, + 'no-unused-vars': [0, { + // 允许声明未使用变量 + 'vars': 'local', + // 参数不检查 + 'args': 'none' + }] + }, + globals: { + wx: true + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b3d145d --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules +dist +weapp +.DS_Store diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..10b731c --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..d1d5798 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..daf6b64 --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jsLinters/eslint.xml b/.idea/jsLinters/eslint.xml new file mode 100644 index 0000000..3c085a7 --- /dev/null +++ b/.idea/jsLinters/eslint.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..28a804d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..22f0f4c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/myproj.iml b/.idea/myproj.iml new file mode 100644 index 0000000..0c8867d --- /dev/null +++ b/.idea/myproj.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vagrant.xml b/.idea/vagrant.xml new file mode 100644 index 0000000..a5aa786 --- /dev/null +++ b/.idea/vagrant.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..544138b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} diff --git a/.wepycache b/.wepycache new file mode 100644 index 0000000..b159f3b --- /dev/null +++ b/.wepycache @@ -0,0 +1 @@ +{"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\wepy.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy-async-function\\index.js":1487759227000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy-com-toast\\toast.wpy":1488432898000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\app.js":1508932484000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\page.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\component.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\event.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\base.js":1508932484000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\base.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\mixin.js":1508932485000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy-async-function\\global.js":1487760749000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\promise-polyfill\\promise.js":1511627065000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\regenerator-runtime\\runtime.js":1493390741000,"E:\\code\\mine\\js\\wepy_group\\wepy_templates\\templates\\standard\\node_modules\\wepy\\lib\\native.js":1508932485000} diff --git a/.wepyignore b/.wepyignore new file mode 100644 index 0000000..e4f5602 --- /dev/null +++ b/.wepyignore @@ -0,0 +1,4 @@ +node_modules +dist +.DS_Store +*.wpy___jb_tmp___ diff --git a/10 b/10 new file mode 100644 index 0000000..e69de29 diff --git a/10' b/10' new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..79fad23 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6854 @@ +{ + "name": "ufutx_dma", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@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, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", + "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@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, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@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, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@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, + "requires": { + "@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" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@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, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@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 + }, + "@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 + }, + "@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, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", + "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", + "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@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.18.9", + "@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.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@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-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.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@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.18.8", + "@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.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@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.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "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" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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 + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.1", + "@babel/helper-environment-visitor": "^7.18.9", + "@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.2", + "@babel/types": "^7.21.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@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 + }, + "@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 + }, + "@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 + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@wepy/babel-plugin-import-regenerator": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/@wepy/babel-plugin-import-regenerator/-/babel-plugin-import-regenerator-0.0.2.tgz", + "integrity": "sha512-U/fzY60zMFzDLcSkPmqygS9n2r2msmL2acIEj+Wfs7cKD6fJ6zrxbyVlRIVzjNV488TLjgwzstgNvJa9J6USfg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "@wepy/cli": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/cli/-/cli-2.1.0.tgz", + "integrity": "sha512-Ko6a4QeYgM6ztdVnU4kKQ/SQHPVTQ0SglsX31dN9JMkKWJrVSSApdbeFEaoUNKgGAxT+/EojYsj00LrESKLRLw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "acorn": "^5.7.4", + "acorn-dynamic-import": "^3.0.0", + "async": "^2.6.0", + "chalk": "^2.3.0", + "chokidar": "^3.0.1", + "colors": "^1.1.2", + "commander": "^2.9.0", + "compare-versions": "^3.0.0", + "consolidate": "^0.15.0", + "css": "^2.2.4", + "download": "^6.2.5", + "download-git-repo": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "fs-extra": "^8.1.0", + "handlebars": "^4.3.0", + "hash-sum": "^1.0.2", + "htmlhint": "^0.11.0", + "htmlparser2": "^3.9.2", + "ignore": "^3.2.0", + "inquirer": "^5.0.1", + "js-base64": "^2.1.9", + "loader-utils": "^1.1.0", + "metalsmith": "^2.3.0", + "mkdirp": "^0.5.1", + "multimatch": "^2.1.0", + "ncp": "^2.0.0", + "npmlog": "^4.1.2", + "ora": "^1.4.0", + "postcss": "^5.2.16", + "postcss-selector-parser": "^2.2.3", + "read-metadata": "^1.0.0", + "request": "^2.67.0", + "slash": "^3.0.0", + "throttle-debounce": "^2.1.0", + "tildify": "^1.2.0", + "time-ago": "^0.2.1", + "tty-table": "^2.8.0", + "update-notifier": "^1.0.2", + "user-home": "^2.0.0", + "validate-npm-package-name": "^3.0.0", + "vue-template-compiler": "^2.5.16", + "vue-template-es2015-compiler": "^1.6.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "@wepy/compiler-babel": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/compiler-babel/-/compiler-babel-2.1.0.tgz", + "integrity": "sha512-+VUlvFvHU1+2UklpC7pWYHh+yJirye44RYmg107kz2atDjwhkP9cbd9QFNq8Rk3c8I+ZojOpmtQQt5ENfbYUUA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0" + } + }, + "@wepy/compiler-less": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/compiler-less/-/compiler-less-2.1.0.tgz", + "integrity": "sha512-yCpw2y23yhcrIFYaf0N07CWrPzf28BUc9ak9sssINaUMRbeBLWXsqfVIqL+X+1sbTmn8Mqg4UxljWxFqAX336Q==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "@wepy/core": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/core/-/core-2.1.0.tgz", + "integrity": "sha512-ZEkeL5pnvDra3XN9aNGzNJDwfNMr3eLMT/0tYoQq8Yo9ELLc26FVfyhl6kTLHSV+IBBG80XABDan1yC6ZY0TQg==", + "requires": { + "miniprogram-api-typings": "^2.10.3-1" + } + }, + "@wepy/use-promisify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/use-promisify/-/use-promisify-2.1.0.tgz", + "integrity": "sha512-wkGBzjye7RprpjExh2mSuU4i08umOTgpMwkLgrm64AS3RcbB8nJ225408GofrrzZuAumvNfiDX6nsvzRFqALwA==" + }, + "@wepy/x": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@wepy/x/-/x-2.1.0.tgz", + "integrity": "sha512-OAkYb0LpOF8T+TIctxsOkd569Y5QZNUB+dMuYHvxjJXZ+y/7hcJu6T3kwTaZmHTWDuqWecHezP0QKUxEKfspyQ==", + "requires": { + "vuex": "^3.1.1" + } + }, + "@yolanda-qn/four-electrodes-report-lib-pe": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/@yolanda-qn/four-electrodes-report-lib-pe/-/four-electrodes-report-lib-pe-1.1.5.tgz", + "integrity": "sha512-WlUh0q3fFcD7taGLIYA6O0cc9iX3vn9nekz4PKWGHB3wnnkD9G8zD+GPVG+wPRKtt/yKw6k+9tZs62AposaS0Q==", + "requires": { + "big.js": "^6.1.1", + "core-js": "^3.8.3" + } + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dev": true, + "requires": { + "acorn": "^5.0.0" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true + } + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA==", + "dev": true + }, + "ansi-align": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/ansi-align/-/ansi-align-1.1.0.tgz", + "integrity": "sha512-ncgIO/ZeFcsh3cye0NgGPb5h/3vCiKJxp6HvPtqsFvEL/4b/G2tNgrr8EOYN5RSVnGx69k8dFYSBG/w1yKX58Q==", + "dev": true, + "requires": { + "string-width": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmmirror.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "babel-eslint": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/babel-eslint/-/babel-eslint-7.2.3.tgz", + "integrity": "sha512-i2yKOhjgwUbUrJ8oJm6QqRzltIoFahGNPZ0HF22lUN4H1DW03JQyJm7WSv+I1LURQWjDNhVqFo04acYa07rhOQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.17.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmmirror.com/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "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, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + } + }, + "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, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "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, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmmirror.com/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmmirror.com/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmmirror.com/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "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 + }, + "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 + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==" + }, + "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 + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boxen": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/boxen/-/boxen-0.6.0.tgz", + "integrity": "sha512-yL8sYzt0avlYGOY6LqtECkGrJOY3cCLAbFPaNfgE+4fD45ZrdYqLdY8yF4bqyTkpfW9e6W0YqBkN7dIn/PrZoA==", + "dev": true, + "requires": { + "ansi-align": "^1.1.0", + "camelcase": "^2.1.0", + "chalk": "^1.1.1", + "cli-boxes": "^1.0.0", + "filled-array": "^1.0.0", + "object-assign": "^4.0.1", + "repeating": "^2.0.0", + "string-width": "^1.0.1", + "widest-line": "^1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "breakword": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/breakword/-/breakword-1.0.5.tgz", + "integrity": "sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==", + "dev": true, + "requires": { + "wcwidth": "^1.0.1" + } + }, + "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, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "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 + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001457", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz", + "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dev": true, + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, + "optional": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "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 + }, + "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 + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "optional": true + }, + "co": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/co/-/co-3.1.0.tgz", + "integrity": "sha512-CQsjCRiNObI8AtTsNIBDRMQ4oMR83CzEswHYahClvul7gKk+lDQiOKv+5qh7LQWf5sh6jkZNispz/QlsZxyNgA==", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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 + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/configstore/-/configstore-2.1.0.tgz", + "integrity": "sha512-BOCxwwxF5WPspp1OBq9j0JLyL5JgJOTssz9PdOHr8VWjFijaC3PpjU48vFEX3uxx8sTusnVQckLbNzBq6fmkGw==", + "dev": true, + "requires": { + "dot-prop": "^3.0.0", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.1", + "os-tmpdir": "^1.0.0", + "osenv": "^0.1.0", + "uuid": "^2.0.1", + "write-file-atomic": "^1.1.2", + "xdg-basedir": "^2.0.0" + }, + "dependencies": { + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "optional": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "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 + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "core-js": { + "version": "3.33.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.33.0.tgz", + "integrity": "sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==" + }, + "core-js-compat": { + "version": "3.28.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.28.0.tgz", + "integrity": "sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg==", + "dev": true, + "requires": { + "browserslist": "^4.21.5" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "csslint": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/csslint/-/csslint-1.0.5.tgz", + "integrity": "sha512-GXGpPqGIuEBKesM4bt2IKFrzDKpemh9wVZRHVuculUErar554QrXHOonhgkBOP3uiZzbAETz0N2A4oWlIoxPuw==", + "dev": true, + "optional": true, + "requires": { + "clone": "~2.1.0", + "parserlib": "~1.1.1" + } + }, + "csv": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/csv/-/csv-5.5.3.tgz", + "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", + "dev": true, + "requires": { + "csv-generate": "^3.4.3", + "csv-parse": "^4.16.3", + "csv-stringify": "^5.6.5", + "stream-transform": "^2.1.3" + } + }, + "csv-generate": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/csv-generate/-/csv-generate-3.4.3.tgz", + "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==", + "dev": true + }, + "csv-parse": { + "version": "4.16.3", + "resolved": "https://registry.npmmirror.com/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==", + "dev": true + }, + "csv-stringify": { + "version": "5.6.5", + "resolved": "https://registry.npmmirror.com/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "dev": true, + "optional": true + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "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, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmmirror.com/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dev": true, + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + } + }, + "download-git-repo": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/download-git-repo/-/download-git-repo-1.1.0.tgz", + "integrity": "sha512-yXcCvhkPKmq5M2cQXss6Qbig+LZnzRIT40XCYm/QCRnJaPG867StB1qnsBLxOGrPH1YEIRWW2gJq7LLMyw+NmA==", + "dev": true, + "requires": { + "download": "^5.0.3", + "git-clone": "^0.1.0", + "rimraf": "^2.6.1" + }, + "dependencies": { + "download": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/download/-/download-5.0.3.tgz", + "integrity": "sha512-rE0V29BV5FyylK3Uw5hmP90TBuwGHAqPYfaRHW/VHsKe9Xqi7RACVg0k0FokeE+MTWr9mtUy75GyszRACiD3Ow==", + "dev": true, + "requires": { + "caw": "^2.0.0", + "decompress": "^4.0.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^6.3.0", + "mkdirp": "^0.5.1", + "pify": "^2.3.0" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/got/-/got-6.7.1.tgz", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.4.311", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz", + "integrity": "sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw==", + "dev": true + }, + "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 + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "dev": true, + "optional": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/es6-set/-/es6-set-0.1.6.tgz", + "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "es6-iterator": "~2.0.3", + "es6-symbol": "^3.1.3", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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 + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/escope/-/escope-3.6.0.tgz", + "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha512-x6LJGXWCGB/4YOBhL48yeppZTo+YQUNC37N5qqCpC1b1kkNzydlQHQAtPuUSFoZSxgIadrysQoW2Hq602P+uEA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", + "dev": true, + "requires": { + "once": "^1.3.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/eslint-config-standard/-/eslint-config-standard-7.1.0.tgz", + "integrity": "sha512-PpVYrGzkXKrwiGF5jBxZkTqGIzIW4LAeIhB7geFpDkRpFf0YsX2LnLrM/CcOVr9TfYKKVE5ZpHYjbOID4kQLoQ==", + "dev": true + }, + "eslint-friendly-formatter": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/eslint-friendly-formatter/-/eslint-friendly-formatter-2.0.7.tgz", + "integrity": "sha512-v494z5jplYgCMPNjjV2sS6DZHhCERJBSJm/Q0tbK34+UrbUoj1kNRhorXUOfL5/w79SZO7m+XoysGm/9jV54+Q==", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "extend": "^3.0.0", + "minimist": "^1.2.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "eslint-plugin-html": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz", + "integrity": "sha512-1MaCiF7/BI08uIRxFNCarmbbYQGdJFuwlGeuTY59YiDQY18dy4xwTPWfg+IQF5FkkXiCGHdfMtodS/eG4YvI2A==", + "dev": true, + "requires": { + "htmlparser2": "^3.8.2" + } + }, + "eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-standard/-/eslint-plugin-standard-2.3.1.tgz", + "integrity": "sha512-/RsDEoX5fRpZnWZ1wx/8ZpUinPTpmLA/wgIyE+jocFLjnI9X7FAmB1iMNZH5zhrxHauj0JR0TS8IvJ6UQ/YWmA==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmmirror.com/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "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 + }, + "esquery": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.4.2.tgz", + "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "optional": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "dev": true + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "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, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "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 + }, + "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 + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filled-array": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/filled-array/-/filled-array-1.1.0.tgz", + "integrity": "sha512-4XwZ1k4rgoF3Yap59MyXFmiUh2zu9fht32NYPSRYwLv4o8BWHxi60I1VH5kHje14qGMoS3qyfHQUsN16ROOugQ==", + "dev": true + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "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 + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "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 + }, + "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 + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dev": true, + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-clone": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/git-clone/-/git-clone-0.1.0.tgz", + "integrity": "sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "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, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "requires": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + } + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmmirror.com/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + } + } + }, + "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 + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "htmlhint": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/htmlhint/-/htmlhint-0.11.0.tgz", + "integrity": "sha512-uXuRyVhQa0HlNmZg5LJ1BRJvRq5f7IJL/34tItHhZr9re15pwaqAuLUAIcqtwd1bLUCE++7HVPtR+NSReFW0iA==", + "dev": true, + "requires": { + "async": "2.6.1", + "colors": "1.3.2", + "commander": "2.17.1", + "csslint": "^1.0.5", + "glob": "7.1.3", + "jshint": "^2.9.6", + "parse-glob": "3.0.4", + "path-parse": "1.0.6", + "request": "2.88.0", + "strip-json-comments": "2.0.1", + "xml": "1.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "colors": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "dev": true + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmmirror.com/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.1.tgz", + "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", + "dev": true + }, + "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 + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmmirror.com/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "dev": true + }, + "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 + }, + "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 + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmmirror.com/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "dev": true, + "optional": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "dependencies": { + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dev": true, + "optional": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true, + "optional": true + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "dev": true, + "optional": true + } + } + }, + "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 + }, + "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 + }, + "json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "dev": true, + "requires": { + "jsonify": "^0.0.1" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "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 + }, + "latest-version": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/latest-version/-/latest-version-2.0.0.tgz", + "integrity": "sha512-8925wFYLfWBciewimt0VmDyYw0GFCRcbFSTrZGt4JgQ7lh5jb/kodMlUt0uMaxXdRKVi+7F3ib30N7fTv83ikw==", + "dev": true, + "requires": { + "package-json": "^2.0.0" + } + }, + "lazy-req": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/lazy-req/-/lazy-req-1.1.0.tgz", + "integrity": "sha512-Vn/JuGaYykbelAVNAhfVJxuwHQCOSNE6mqMtD+gnd+QORlAHwWVmVFqQga3yWt84G5vAwEwpT6sAsZ+tgJ88/Q==", + "dev": true + }, + "less": { + "version": "3.13.1", + "resolved": "https://registry.npmmirror.com/less/-/less-3.13.1.tgz", + "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "native-request": "^1.0.5", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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 + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "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, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "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, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "metalsmith": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/metalsmith/-/metalsmith-2.5.1.tgz", + "integrity": "sha512-/jpf9JXYAvA16VlJDRlZRktcsjTgMHDwusiNLo1byU7ocUNWm2F7zQukrVtBslNNNi1gWnXbcxTINYdsi5zrAA==", + "dev": true, + "requires": { + "commander": "^6.2.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "gray-matter": "^4.0.3", + "is-utf8": "~0.2.0", + "micromatch": "^4.0.5", + "rimraf": "^3.0.2", + "stat-mode": "^1.0.0", + "ware": "^1.3.0" + }, + "dependencies": { + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "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 + }, + "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, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "miniprogram-api-typings": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/miniprogram-api-typings/-/miniprogram-api-typings-2.12.0.tgz", + "integrity": "sha512-ibvbqeslVFur0IAvTxLMvsbtvVcMo6gwvOnj0YZHV7aeDLu091VQRrETT2QuiG9P6aZWRcxeNGJChRKVPCp9VQ==" + }, + "miniprogram-slide-view": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/miniprogram-slide-view/-/miniprogram-slide-view-0.0.3.tgz", + "integrity": "sha512-ZvR0Uy/mOrCpkYUhO/bNV9LVgYCfKoJSZeUyRv+BNGQGHa1HwzXOZsYc942vhzW8sBmnIhcW4s4InYXDVeHw9w==" + }, + "mixme": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mixme/-/mixme-0.5.5.tgz", + "integrity": "sha512-/6IupbRx32s7jjEwHcycXikJwFD5UujbVNuJFkeKLYje+92OvtuPniF6JhnFm5JCTDUhS+kYK3W/4BWYQYXz7w==", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "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 + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "native-request": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/native-request/-/native-request-1.1.0.tgz", + "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", + "dev": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "dev": true + }, + "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 + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "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-status-codes": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/node-status-codes/-/node-status-codes-1.0.0.tgz", + "integrity": "sha512-1cBMgRxdMWE8KeWCqk2RIOrvUb0XCwYfEsY5/y2NlXyq4Y/RumnOZvTj4Nbr77+Vb2C+kyBoRTdkNOS8L3d/aQ==", + "dev": true + }, + "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 + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.1", + "log-symbols": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==", + "dev": true, + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "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, + "requires": { + "p-try": "^2.0.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "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 + }, + "package-json": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/package-json/-/package-json-2.4.0.tgz", + "integrity": "sha512-PRg65iXMTt/uK8Rfh5zvzkUbfAPitF17YaCY+IbHsYgksiLvtzWWTUildHth3mVaZ7871OJ7gtP4LBRBlmAdXg==", + "dev": true, + "requires": { + "got": "^5.0.0", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "got": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/got/-/got-5.7.1.tgz", + "integrity": "sha512-1qd54GLxvVgzuidFmw9ze9umxS3rzhdBH6Wt6BTYrTQUXTN01vGGYXwzLzYLowNx8HBH3/c7kRyvx90fh13i7Q==", + "dev": true, + "requires": { + "create-error-class": "^3.0.1", + "duplexer2": "^0.1.4", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "node-status-codes": "^1.0.0", + "object-assign": "^4.0.1", + "parse-json": "^2.1.0", + "pinkie-promise": "^2.0.0", + "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.5", + "timed-out": "^3.0.0", + "unzip-response": "^1.0.2", + "url-parse-lax": "^1.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "timed-out": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/timed-out/-/timed-out-3.1.3.tgz", + "integrity": "sha512-3RB4qgvPkxF/FGPnrzaWLhW1rxNK2sdH0mFjbhxkfTR6QXvcM3EtYm9L44UrhODZrZ+yhDXeMncLqi8QXn2MJg==", + "dev": true + }, + "unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha512-pwCcjjhEcpW45JZIySExBHYv5Y9EeL2OIGEfrSKp2dMUFGFv4CpvZkwJbVge8OvGH2BNNtJBx67DuKuJhf+N5Q==", + "dev": true + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parserlib": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/parserlib/-/parserlib-1.1.1.tgz", + "integrity": "sha512-e1HbF3+7ASJ/uOZirg5/8ZfPljTh100auNterbHB8TUs5egciuWQ2eX/2al8ko0RdV9Xh/5jDei3jqJAmbTDcg==", + "dev": true, + "optional": true + }, + "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 + }, + "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 + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "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 + }, + "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 + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha512-TH+BeeL6Ct98C7as35JbZLf8lgsRzlNJb5gklRIGHKaPkGl1esOKBc5ALUMd+q08Sr6tiEKM+Icbsxg5vuhMKQ==", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/progress/-/progress-1.1.8.tgz", + "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-all-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/read-all-stream/-/read-all-stream-3.1.0.tgz", + "integrity": "sha512-DI1drPHbmBcUDWrJ7ull/F2Qb8HkwBncVx8/RpKYFSIACYaVRQReISYPdZz/mt1y1+qMCOrfReTopERmaxtP6w==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "read-metadata": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-metadata/-/read-metadata-1.0.0.tgz", + "integrity": "sha512-XJdiOrkzOlIac9vXNvgp/4I8qj9EPuHlbf/eoX2rusLFjdKjp0TQ82V3cj+AFjXBzzoZ1TaqAtHnGsR3UdO1Gw==", + "dev": true, + "requires": { + "yaml-js": "0.0.8" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "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 + }, + "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, + "requires": { + "regenerate": "^1.4.2" + } + }, + "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 + }, + "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, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.1.tgz", + "integrity": "sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==", + "dev": true, + "requires": { + "@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" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "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 + }, + "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 + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==", + "dev": true + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "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 + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + } + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "requires": { + "commander": "^2.8.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "dev": true, + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmmirror.com/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha512-/YF5Uk8hcwi7ima04ppkbA4RaRMdPMBfwAvAf8sufYOxsJRtbdoBsT8vGvlb+799BrlGdYrd+oczIA2eN2JdWA==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "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 + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/slide/-/slide-1.1.6.tgz", + "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", + "dev": true + }, + "smartwrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/smartwrap/-/smartwrap-1.2.5.tgz", + "integrity": "sha512-bzWRwHwu0RnWjwU7dFy7tF68pDAx/zMSu3g7xr9Nx5J0iSImYInglwEVExyHLxXljy6PWMjkSAbwF7t2mPnRmg==", + "dev": true, + "requires": { + "breakword": "^1.0.5", + "grapheme-splitter": "^1.0.4", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1", + "yargs": "^15.1.0" + }, + "dependencies": { + "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 + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dev": true, + "requires": { + "sort-keys": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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 + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true + }, + "stream-transform": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/stream-transform/-/stream-transform-2.1.3.tgz", + "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", + "dev": true, + "requires": { + "mixme": "^0.5.1" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "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 + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + }, + "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 + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmmirror.com/table/-/table-3.8.3.tgz", + "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", + "dev": true, + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha512-Y9q1GaV/BO65Z9Yf4NOGMuwt3SGdptkZBnaaKfTQakrDyCLiuO1Kc5wxW4xLdsjzunRtqtOdhekiUFmZbklwYQ==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "time-ago": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/time-ago/-/time-ago-0.2.1.tgz", + "integrity": "sha512-fQ3WQ5yPBoNefBgITR+kMnd5aWiKYhBNSgQH3FwpJgDCaVEmju7rWyP+Rk52KyQbRwQEnw3ox2yxcS4yMxgP+g==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tty-table": { + "version": "2.8.13", + "resolved": "https://registry.npmmirror.com/tty-table/-/tty-table-2.8.13.tgz", + "integrity": "sha512-eVV/+kB6fIIdx+iUImhXrO22gl7f6VmmYh0Zbu6C196fe1elcHXd7U6LcLXu0YoVPc2kNesWiukYcdK8ZmJ6aQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "csv": "^5.3.1", + "smartwrap": "^1.2.3", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1", + "yargs": "^15.1.0" + }, + "dependencies": { + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "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 + }, + "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, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "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 + }, + "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 + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-notifier": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/update-notifier/-/update-notifier-1.0.3.tgz", + "integrity": "sha512-iQSLFuxB2ZFAxXGN28DTxk/GNGlBmtqawvguYDtChAHI9Xjy0z7c7hpw6ywutK34SEDYTpLEsAM1ATMq5pcQsw==", + "dev": true, + "requires": { + "boxen": "^0.6.0", + "chalk": "^1.0.0", + "configstore": "^2.0.0", + "is-npm": "^1.0.0", + "latest-version": "^2.0.0", + "lazy-req": "^1.1.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "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 + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" + }, + "ware": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/ware/-/ware-1.3.0.tgz", + "integrity": "sha512-Y2HUDMktriUm+SR2gZWxlrszcgtXExlhQYZ8QJNYbl22jum00KIUcHJ/h/sdAXhWTJcbSkiMYN9Z2tWbWYSrrw==", + "dev": true, + "requires": { + "wrap-fn": "^0.1.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "wepy-cli-extend": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/wepy-cli-extend/-/wepy-cli-extend-1.0.3.tgz", + "integrity": "sha512-cselckyvP+ruwifxb9zadF9PUl9vzDqVV/l0C1Ok1QOApg52bIhFR2aarjm+Oxzfw/I7A7RsmZzSD7K4fsWjxg==", + "dev": true + }, + "wepy-eslint": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/wepy-eslint/-/wepy-eslint-1.5.4.tgz", + "integrity": "sha512-/ebaTt8LbUtTqQNXwpwMLMVR9lIlPLX11btxdpw/gn6Tx1mWbwoIJWDGwHAPtTyHX6w3BMyXlTSfrl71aoOs6A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "widest-line": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/widest-line/-/widest-line-1.0.0.tgz", + "integrity": "sha512-r5vvGtqsHUHn98V0jURY4Ts86xJf6+SzK9rpWdV8/73nURB3WFPIHd67aOvPw2fSuunIyHjAUqiJ2TY0x4E5gw==", + "dev": true, + "requires": { + "string-width": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrap-fn": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/wrap-fn/-/wrap-fn-0.1.5.tgz", + "integrity": "sha512-xDLdGx0M8JQw9QDAC9s5NUxtg9MI09F6Vbxa2LYoSoCvzJnx2n81YMIfykmXEGsUvuLaxnblJTzhSOjUOX37ag==", + "dev": true, + "requires": { + "co": "3.1.0" + } + }, + "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 + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/write/-/write-0.2.1.tgz", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "xdg-basedir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "integrity": "sha512-NF1pPn594TaRSUO/HARoB4jK8I+rWgcpVlpQCK6/6o5PHyLUt2CSiDrpUZbQ6rROck+W2EwF8mBJcTs+W98J9w==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "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 + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yaml-js": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/yaml-js/-/yaml-js-0.0.8.tgz", + "integrity": "sha512-XCqDFUhDO3yhT+Rb/inT3uiC8ekx2lXHDgDeXY8V0Lgkx4yEhzhxraYQxtuajydIrx8L8KmF9OeKCDlyCjvnMQ==", + "dev": true + }, + "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, + "requires": { + "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" + }, + "dependencies": { + "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 + }, + "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 + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "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, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a776c4c --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "ufutx_dma", + "version": "0.0.1", + "description": "A WePY project", + "main": "weapp/app.js", + "scripts": { + "dev": "./node_modules/.bin/wepy build --watch", + "build": "cross-env NODE_ENV=production ./node_modules/.bin/wepy build --no-cache", + "clean": "rm -rf weapp", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "wepy": { + "module-a": false, + "./src/components/list": "./src/components/wepy-list.wpy" + }, + "author": "mamba ", + "license": "MIT", + "dependencies": { + "@wepy/core": "^2.0.0-alpha.16", + "@wepy/use-promisify": "^2.1.0", + "@wepy/x": "^2.0.2", + "@yolanda-qn/four-electrodes-report-lib-pe": "^1.1.5", + "dayjs": "^1.11.7", + "miniprogram-slide-view": "0.0.3", + "nim-web-sdk-ng": "^10.3.1" + }, + "devDependencies": { + "@babel/core": "^7.1.0", + "@babel/preset-env": "^7.1.0", + "@wepy/babel-plugin-import-regenerator": "0.0.2", + "@wepy/cli": "^2.0.0-alpha.28", + "@wepy/compiler-babel": "^2.0.1", + "@wepy/compiler-less": "^2.0.1", + "babel-eslint": "^7.2.1", + "cross-env": "^5.1.3", + "eslint": "^3.18.0", + "eslint-config-standard": "^7.1.0", + "eslint-friendly-formatter": "^2.0.7", + "eslint-plugin-html": "^2.0.1", + "eslint-plugin-promise": "^3.5.0", + "eslint-plugin-standard": "^2.0.1", + "less": "^3.8.1", + "wepy-cli-extend": "^1.0.3", + "wepy-eslint": "^1.5.3" + } +} diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..1598d35 --- /dev/null +++ b/project.config.json @@ -0,0 +1,30 @@ +{ + "description": "A WePY project", + "setting": { + "urlCheck": true, + "es6": true, + "postcss": true, + "minified": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "condition": false, + "enhance": true + }, + "compileType": "miniprogram", + "appid": "wxe486777f4379507e", + "projectname": "myproj", + "miniprogramRoot": "weapp/", + "srcMiniprogramRoot": "weapp/", + "packOptions": { + "ignore": [], + "include": [] + }, + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/src/app.wpy b/src/app.wpy new file mode 100644 index 0000000..f872841 --- /dev/null +++ b/src/app.wpy @@ -0,0 +1,217 @@ + + + +{ +pages: [ +'pages/tabBar/welcome', +'pages/tabBar/home', +'pages/tabBar/news', +'pages/tabBar/user', +'pages/login', +], +'permission': { +'scope.userFuzzyLocation': { +'desc': '你的位置信息将用于小程序位置接口的效果展示' +}, +'scope.userLocation': { +'desc': '你的位置信息将用于小程序位置接口的效果展示' +} +}, +subPackages: [ +{ +'root': 'pages/home', +'pages': [ +'information', +'qualitySingle', +'registration', +'searchCondition', +'searchUsers', +'singleSquare', +] +}, +{ +'root': 'pages/news', +'pages': [ +'chitchat', +'friendRequest', +'groupChitchat', +'groupChitchatDetail', +'review', +'systemNews', +'visitor', +] +}, +], +window: { +backgroundTextStyle: 'light', +navigationBarBackgroundColor: '#fff', +navigationBarTitleText: 'WeChat', +navigationBarTextStyle: 'black' +}, +tabBar: { +color: '#999999', +selectedColor: '#5AC7A0', +backgroundColor: '#ffffff', +borderStyle: 'black', +list: [ +{ +pagePath: 'pages/tabBar/home', +iconPath: './images/tabbar/inactiveHome.png', +selectedIconPath: './images/tabbar/activeHome.png', +text: '健康' +}, { +pagePath: 'pages/tabBar/news', +iconPath: './images/tabbar/inactiveServe.png', +selectedIconPath: './images/tabbar/activeServe.png', +text: '商城' +}, { +pagePath: 'pages/tabBar/user', +iconPath: './images/tabbar/inactiveMy.png', +selectedIconPath: './images/tabbar/activeMy.png', +text: '我的' +}] +}, +useExtendedLib: { +'weui': true +}, +plugins: { +"QNBleApi": { +"version": "4.7.1", +"provider": "wx2a4ca48ed5e96748" +}, +"FL-plugin": { +"version": "0.0.3", +"provider": "wxc41491431733671e" +}, +}, +"miniApp": { +"useAuthorizePage": true +}, +"lazyCodeLoading": "requiredComponents", +'requiredPrivateInfos': [ +'chooseAddress', +'getFuzzyLocation', +'chooseLocation' +], +} + diff --git a/src/common/eventHub.js b/src/common/eventHub.js new file mode 100644 index 0000000..491ddae --- /dev/null +++ b/src/common/eventHub.js @@ -0,0 +1,5 @@ +import wepy from '@wepy/core'; + +let eventHub = new wepy(); + +export default eventHub; diff --git a/src/components/chatEmojiFile/ChatEmoji.wpy b/src/components/chatEmojiFile/ChatEmoji.wpy new file mode 100644 index 0000000..516a47e --- /dev/null +++ b/src/components/chatEmojiFile/ChatEmoji.wpy @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/chatEmojiFile/emoji.js b/src/components/chatEmojiFile/emoji.js new file mode 100644 index 0000000..712bf77 --- /dev/null +++ b/src/components/chatEmojiFile/emoji.js @@ -0,0 +1,183 @@ +/* 表情原图配置文件 */ +// import config from './index' + +let emojiBaseUrl = `https://ufutx-image.oss-cn-shenzhen.aliyuncs.com` +// let emojiBaseUrl = `http://yx-web.nosdn.127.net/webdoc/h5/emoji` + +// let emojiList = { +// 'emoji': { +// '[大笑]': {file: 'emoji_0.png'}, '[可爱]': {file: 'emoji_01.png'}, '[色]': {file: 'emoji_02.png'}, '[嘘]': {file: 'emoji_03.png'}, '[亲]': {file: 'emoji_04.png'}, '[呆]': {file: 'emoji_05.png'}, '[口水]': {file: 'emoji_06.png'}, '[汗]': {file: 'emoji_145.png'}, '[呲牙]': {file: 'emoji_07.png'}, '[鬼脸]': {file: 'emoji_08.png'}, '[害羞]': {file: 'emoji_09.png'}, '[偷笑]': {file: 'emoji_10.png'}, '[调皮]': {file: 'emoji_11.png'}, '[可怜]': {file: 'emoji_12.png'}, '[敲]': {file: 'emoji_13.png'}, '[惊讶]': {file: 'emoji_14.png'}, '[流感]': {file: 'emoji_15.png'}, '[委屈]': {file: 'emoji_16.png'}, '[流泪]': {file: 'emoji_17.png'}, '[嚎哭]': {file: 'emoji_18.png'}, '[惊恐]': {file: 'emoji_19.png'}, '[怒]': {file: 'emoji_20.png'}, '[酷]': {file: 'emoji_21.png'}, '[不说]': {file: 'emoji_22.png'}, '[鄙视]': {file: 'emoji_23.png'}, '[阿弥陀佛]': {file: 'emoji_24.png'}, '[奸笑]': {file: 'emoji_25.png'}, '[睡着]': {file: 'emoji_26.png'}, '[口罩]': {file: 'emoji_27.png'}, '[努力]': {file: 'emoji_28.png'}, '[抠鼻孔]': {file: 'emoji_29.png'}, '[疑问]': {file: 'emoji_30.png'}, '[怒骂]': {file: 'emoji_31.png'}, '[晕]': {file: 'emoji_32.png'}, '[呕吐]': {file: 'emoji_33.png'}, '[拜一拜]': {file: 'emoji_160.png'}, '[惊喜]': {file: 'emoji_161.png'}, '[流汗]': {file: 'emoji_162.png'}, '[卖萌]': {file: 'emoji_163.png'}, '[默契眨眼]': {file: 'emoji_164.png'}, '[烧香拜佛]': {file: 'emoji_165.png'}, '[晚安]': {file: 'emoji_166.png'}, '[强]': {file: 'emoji_34.png'}, '[弱]': {file: 'emoji_35.png'}, '[OK]': {file: 'emoji_36.png'}, '[拳头]': {file: 'emoji_37.png'}, '[胜利]': {file: 'emoji_38.png'}, '[鼓掌]': {file: 'emoji_39.png'}, '[握手]': {file: 'emoji_200.png'}, '[发怒]': {file: 'emoji_40.png'}, '[骷髅]': {file: 'emoji_41.png'}, '[便便]': {file: 'emoji_42.png'}, '[火]': {file: 'emoji_43.png'}, '[溜]': {file: 'emoji_44.png'}, '[爱心]': {file: 'emoji_45.png'}, '[心碎]': {file: 'emoji_46.png'}, '[钟情]': {file: 'emoji_47.png'}, '[唇]': {file: 'emoji_48.png'}, '[戒指]': {file: 'emoji_49.png'}, '[钻石]': {file: 'emoji_50.png'}, '[太阳]': {file: 'emoji_51.png'}, '[有时晴]': {file: 'emoji_52.png'}, '[多云]': {file: 'emoji_53.png'}, '[雷]': {file: 'emoji_54.png'}, '[雨]': {file: 'emoji_55.png'}, '[雪花]': {file: 'emoji_56.png'}, '[爱人]': {file: 'emoji_57.png'}, '[帽子]': {file: 'emoji_58.png'}, '[皇冠]': {file: 'emoji_59.png'}, '[篮球]': {file: 'emoji_60.png'}, '[足球]': {file: 'emoji_61.png'}, '[垒球]': {file: 'emoji_62.png'}, '[网球]': {file: 'emoji_63.png'}, '[台球]': {file: 'emoji_64.png'}, '[咖啡]': {file: 'emoji_65.png'}, '[啤酒]': {file: 'emoji_66.png'}, '[干杯]': {file: 'emoji_67.png'}, '[柠檬汁]': {file: 'emoji_68.png'}, '[餐具]': {file: 'emoji_69.png'}, '[汉堡]': {file: 'emoji_70.png'}, '[鸡腿]': {file: 'emoji_71.png'}, '[面条]': {file: 'emoji_72.png'}, '[冰淇淋]': {file: 'emoji_73.png'}, '[沙冰]': {file: 'emoji_74.png'}, '[生日蛋糕]': {file: 'emoji_75.png'}, '[蛋糕]': {file: 'emoji_76.png'}, '[糖果]': {file: 'emoji_77.png'}, '[葡萄]': {file: 'emoji_78.png'}, '[西瓜]': {file: 'emoji_79.png'}, '[光碟]': {file: 'emoji_80.png'}, '[手机]': {file: 'emoji_81.png'}, '[电话]': {file: 'emoji_82.png'}, '[电视]': {file: 'emoji_83.png'}, '[声音开启]': {file: 'emoji_84.png'}, '[声音关闭]': {file: 'emoji_85.png'}, '[铃铛]': {file: 'emoji_86.png'}, '[锁头]': {file: 'emoji_87.png'}, '[放大镜]': {file: 'emoji_88.png'}, '[灯泡]': {file: 'emoji_89.png'}, '[锤头]': {file: 'emoji_90.png'}, '[烟]': {file: 'emoji_91.png'}, '[炸弹]': {file: 'emoji_92.png'}, '[枪]': {file: 'emoji_93.png'}, '[刀]': {file: 'emoji_94.png'}, '[药]': {file: 'emoji_95.png'}, '[打针]': {file: 'emoji_96.png'}, '[钱袋]': {file: 'emoji_97.png'}, '[钞票]': {file: 'emoji_98.png'}, '[银行卡]': {file: 'emoji_99.png'}, '[手柄]': {file: 'emoji_100.png'}, '[麻将]': {file: 'emoji_101.png'}, '[调色板]': {file: 'emoji_102.png'}, '[电影]': {file: 'emoji_103.png'}, '[麦克风]': {file: 'emoji_104.png'}, '[耳机]': {file: 'emoji_105.png'}, '[音乐]': {file: 'emoji_106.png'}, '[吉他]': {file: 'emoji_107.png'}, '[火箭]': {file: 'emoji_108.png'}, '[飞机]': {file: 'emoji_109.png'}, '[火车]': {file: 'emoji_110.png'}, '[公交]': {file: 'emoji_111.png'}, '[轿车]': {file: 'emoji_112.png'}, '[出租车]': {file: 'emoji_113.png'}, '[警车]': {file: 'emoji_114.png'}, '[自行车]': {file: 'emoji_115.png'} +// } +// } +let emojiList = { + 'emoji': { + '[大笑]': {file: 'emoji_0.png'}, + '[可爱]': {file: 'emoji_01.png'}, + '[色]': {file: 'emoji_02.png'}, + '[嘘]': {file: 'emoji_03.png'}, + '[亲]': {file: 'emoji_04.png'}, + '[呆]': {file: 'emoji_05.png'}, + '[口水]': {file: 'emoji_06.png'}, + '[汗]': {file: 'emoji_145.png'}, + '[呲牙]': {file: 'emoji_07.png'}, + // '[鬼脸]': {file: 'emoji_08.png'}, + '[害羞]': {file: 'emoji_09.png'}, + '[偷笑]': {file: 'emoji_10.png'}, + '[调皮]': {file: 'emoji_11.png'}, + '[可怜]': {file: 'emoji_12.png'}, + '[敲]': {file: 'emoji_13.png'}, + '[惊讶]': {file: 'emoji_14.png'}, + '[流感]': {file: 'emoji_15.png'}, + '[委屈]': {file: 'emoji_16.png'}, + '[流泪]': {file: 'emoji_17.png'}, + '[嚎哭]': {file: 'emoji_18.png'}, + '[惊恐]': {file: 'emoji_19.png'}, + '[怒]': {file: 'emoji_20.png'}, + '[酷]': {file: 'emoji_21.png'}, + '[不说]': {file: 'emoji_22.png'}, + '[鄙视]': {file: 'emoji_23.png'}, + // '[阿弥陀佛]': {file: 'emoji_24.png'}, + '[奸笑]': {file: 'emoji_25.png'}, + '[睡着]': {file: 'emoji_26.png'}, + // '[口罩]': {file: 'emoji_27.png'}, + '[努力]': {file: 'emoji_28.png'}, + // '[抠鼻孔]': {file: 'emoji_29.png'}, + '[疑问]': {file: 'emoji_30.png'}, + '[怒骂]': {file: 'emoji_31.png'}, + '[晕]': {file: 'emoji_32.png'}, + '[呕吐]': {file: 'emoji_33.png'}, + // '[拜一拜]': {file: 'emoji_160.png'}, + // '[惊喜]': {file: 'emoji_161.png'}, + // '[流汗]': {file: 'emoji_162.png'}, + '[卖萌]': {file: 'emoji_163.png'}, + '[默契眨眼]': {file: 'emoji_164.png'}, + // '[烧香拜佛]': {file: 'emoji_165.png'}, + '[晚安]': {file: 'emoji_166.png'}, + '[强]': {file: 'emoji_34.png'}, + '[弱]': {file: 'emoji_35.png'}, + '[OK]': {file: 'emoji_36.png'}, + '[爱心]': {file: 'emoji_45.png'}, + '[鼓掌]': {file: 'emoji_39.png'}, + '[戒指]': {file: 'emoji_49.png'}, + '[心碎]': {file: 'emoji_46.png'}, + '[太阳]': {file: 'emoji_51.png'}, + '[胜利]': {file: 'emoji_38.png'}, + '[耳机]': {file: 'emoji_105.png'}, + '[吉他]': {file: 'emoji_107.png'}, + '[糖果]': {file: 'emoji_77.png'}, + '[音乐]': {file: 'emoji_106.png'}, + '[唇]': {file: 'emoji_48.png'}, + '[多云]': {file: 'emoji_53.png'}, + '[放大镜]': {file: 'emoji_88.png'}, + '[皇冠]': {file: 'emoji_59.png'}, + '[火]': {file: 'emoji_43.png'}, + '[火箭]': {file: 'emoji_108.png'}, + '[咖啡]': {file: 'emoji_65.png'}, + '[麻将]': {file: 'emoji_101.png'}, + '[柠檬汁]': {file: 'emoji_68.png'}, + '[手机]': {file: 'emoji_81.png'}, + '[西瓜]': {file: 'emoji_79.png'}, + '[冰淇淋]': {file: 'emoji_73.png'}, + '[干杯]': {file: 'emoji_67.png'} + + // '[拳头]': {file: 'emoji_37.png'}, + // '[握手]': {file: 'emoji_200.png'}, + // '[发怒]': {file: 'emoji_40.png'}, + // '[骷髅]': {file: 'emoji_41.png'}, + // '[便便]': {file: 'emoji_42.png'}, + // '[溜]': {file: 'emoji_44.png'}, + // '[钟情]': {file: 'emoji_47.png'}, + // '[钻石]': {file: 'emoji_50.png'}, + // '[有时晴]': {file: 'emoji_52.png'}, + // '[多云]': {file: 'emoji_53.png'}, + // '[雷]': {file: 'emoji_54.png'}, + // '[雨]': {file: 'emoji_55.png'}, + // '[雪花]': {file: 'emoji_56.png'}, + // '[爱人]': {file: 'emoji_57.png'}, + // '[帽子]': {file: 'emoji_58.png'}, + // '[篮球]': {file: 'emoji_60.png'}, + // '[足球]': {file: 'emoji_61.png'}, + // '[垒球]': {file: 'emoji_62.png'}, + // '[网球]': {file: 'emoji_63.png'}, + // '[台球]': {file: 'emoji_64.png'}, + // '[啤酒]': {file: 'emoji_66.png'}, + // '[餐具]': {file: 'emoji_69.png'}, + // '[汉堡]': {file: 'emoji_70.png'}, + // '[鸡腿]': {file: 'emoji_71.png'}, + // '[面条]': {file: 'emoji_72.png'}, + // '[沙冰]': {file: 'emoji_74.png'}, + // '[生日蛋糕]': {file: 'emoji_75.png'}, + // '[蛋糕]': {file: 'emoji_76.png'}, + // '[葡萄]': {file: 'emoji_78.png'}, + // '[光碟]': {file: 'emoji_80.png'}, + // '[电话]': {file: 'emoji_82.png'}, + // '[电视]': {file: 'emoji_83.png'}, + // '[声音开启]': {file: 'emoji_84.png'}, + // '[声音关闭]': {file: 'emoji_85.png'}, + // '[铃铛]': {file: 'emoji_86.png'}, + // '[锁头]': {file: 'emoji_87.png'}, + // '[灯泡]': {file: 'emoji_89.png'}, + // '[锤头]': {file: 'emoji_90.png'}, + // '[烟]': {file: 'emoji_91.png'}, + // '[炸弹]': {file: 'emoji_92.png'}, + // '[枪]': {file: 'emoji_93.png'}, + // '[刀]': {file: 'emoji_94.png'}, + // '[药]': {file: 'emoji_95.png'}, + // '[打针]': {file: 'emoji_96.png'}, + // '[钱袋]': {file: 'emoji_97.png'}, + // '[钞票]': {file: 'emoji_98.png'}, + // '[银行卡]': {file: 'emoji_99.png'}, + // '[手柄]': {file: 'emoji_100.png'}, + // '[调色板]': {file: 'emoji_102.png'}, + // '[电影]': {file: 'emoji_103.png'}, + // '[麦克风]': {file: 'emoji_104.png'}, + // '[吉他]': {file: 'emoji_107.png'}, + // '[飞机]': {file: 'emoji_109.png'}, + // '[火车]': {file: 'emoji_110.png'}, + // '[公交]': {file: 'emoji_111.png'}, + // '[轿车]': {file: 'emoji_112.png'}, + // '[出租车]': {file: 'emoji_113.png'}, + // '[警车]': {file: 'emoji_114.png'}, + // '[自行车]': {file: 'emoji_115.png'} + } +} + +for (let emoji in emojiList) { + let emojiItem = emojiList[emoji] + for (let key in emojiItem) { + let item = emojiItem[key] + item.img = `${emojiBaseUrl}/${emoji}/${item.file}` + } +} + +let pinupList = { + 'ajmd': {}, + 'xxy': {}, + 'lt': {} +} + +for (let i = 1; i <= 48; i++) { + let key = 'ajmd0' + (i >= 10 ? i : '0' + i) + pinupList['ajmd'][key] = {file: key + '.png'} +} +for (let i = 1; i <= 40; i++) { + let key = 'xxy0' + (i >= 10 ? i : '0' + i) + pinupList['xxy'][key] = {file: key + '.png'} +} +for (let i = 1; i <= 20; i++) { + let key = 'lt0' + (i >= 10 ? i : '0' + i) + pinupList['lt'][key] = {file: key + '.png'} +} + +for (let emoji in pinupList) { + let emojiItem = pinupList[emoji] + for (let key in emojiItem) { + let item = emojiItem[key] + item.img = `${emojiBaseUrl}/${emoji}/${item.file}` + } +} + +export default { + emojiList, + pinupList +} diff --git a/src/components/cuCustom.wpy b/src/components/cuCustom.wpy new file mode 100644 index 0000000..2fbfc32 --- /dev/null +++ b/src/components/cuCustom.wpy @@ -0,0 +1,53 @@ + + + diff --git a/src/components/pageScroll.wpy b/src/components/pageScroll.wpy new file mode 100644 index 0000000..0cf27f1 --- /dev/null +++ b/src/components/pageScroll.wpy @@ -0,0 +1,63 @@ + + + diff --git a/src/components/recommendDialog.wpy b/src/components/recommendDialog.wpy new file mode 100644 index 0000000..facac05 --- /dev/null +++ b/src/components/recommendDialog.wpy @@ -0,0 +1,281 @@ + + + diff --git a/src/components/residenceDialog.wpy b/src/components/residenceDialog.wpy new file mode 100644 index 0000000..e6ab445 --- /dev/null +++ b/src/components/residenceDialog.wpy @@ -0,0 +1,244 @@ + + + + +{ +usingComponents: { +selectCity: '~@/components/selectCity' +} +} + diff --git a/src/components/selectCity.wpy b/src/components/selectCity.wpy new file mode 100644 index 0000000..4406a22 --- /dev/null +++ b/src/components/selectCity.wpy @@ -0,0 +1,232 @@ + + + + + diff --git a/src/components/uploadPic.wpy b/src/components/uploadPic.wpy new file mode 100644 index 0000000..dc3ff39 --- /dev/null +++ b/src/components/uploadPic.wpy @@ -0,0 +1,195 @@ + + + diff --git a/src/components/uploadPics.wpy b/src/components/uploadPics.wpy new file mode 100644 index 0000000..4697717 --- /dev/null +++ b/src/components/uploadPics.wpy @@ -0,0 +1,211 @@ + + + diff --git a/src/components/wxShareCom.wpy b/src/components/wxShareCom.wpy new file mode 100644 index 0000000..96ca5fd --- /dev/null +++ b/src/components/wxShareCom.wpy @@ -0,0 +1,135 @@ + + + diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..7fcd015 --- /dev/null +++ b/src/config.js @@ -0,0 +1,34 @@ +/* ======================================================== + 小程序配置文件 +======================================================== */ +// 域名 +var host = '' +var hostGo = '' + +// if (_NODE_) { + host = 'https://love.ufutx.com/api' // 线上环境 + hostGo = 'https://love.ufutx.com/go/api' // 线上环境 + // host = 'http://health.ufutx.net/api' // 本地环境 + // hostGo = 'http://health.ufutx.net/go/api' // 本地环境 +// } else { +// host = 'https://love.ufutx.com/api' // 线上环境 +// } + +export const service = { + host: `${host}`, + // go语言接口 + hostGo: `${hostGo}`, + // 登录接口 + login: `${host}/login/wechat`, + + // 绑定手机号 + bindMobile: `${host}/bind/mobile`, + // 保存资料 + saveBaseData: `${host}/user/info`, + // 获取手机号验证码 + getMobileCode: `${host}/mobile/code` +} + +export default { + service +} diff --git a/src/i18n/index.js b/src/i18n/index.js new file mode 100644 index 0000000..d782458 --- /dev/null +++ b/src/i18n/index.js @@ -0,0 +1,8 @@ +import zh from '../i18n/modules/zh.js' +import en from '../i18n/modules/en.js' +// import en from './modules/en.json' +const lang = { + zh_CN: zh, + en_US: en +} +export default lang diff --git a/src/i18n/modules/en.js b/src/i18n/modules/en.js new file mode 100644 index 0000000..7088e89 --- /dev/null +++ b/src/i18n/modules/en.js @@ -0,0 +1,1133 @@ +export default { + name: ' en_US ', + title: 'English', + appWpy: { + UpdatePrompt: 'Update Prompt', + UpdatePromptText: 'The new version is ready, do you want to restart the application? ', + UpdatePromptText2: 'The current WeChat version is too low to use this function, please upgrade to the latest WeChat version and try again. ', + UpdatePromptText3: 'The new version is online ~, please delete the current applet, search and open it again', + cancelText: 'Cancel', + confirmText: 'Comfirm' + }, + pages: { + tabBar: { + home: { + title: 'Measurement', + Ace1: 'Youfu intelligence health ', + Ace2: 'Better experience after logging', + Ace3: 'Go to login', + Ace4: 'to weight', + Ace5: 'Fat %', + Ace6: 'Muscle %', + Ace7: 'Body Index', + Ace8: 'There is no measurement data yet', + Ace9: 'Please wait, loading', + Ace10: 'View all indicators', + Ace11: 'Collapse', + Ace12: 'No body fat detected', + Ace13: 'Please measure again', + Ace14: 'Remember', + Ace15: 'Barefoot', + Ace16: 'Take off your socks', + Ace17: 'Save result', + Ace18: 'Remeasure', + Ace19: 'logging', + Ace20: 'Forwarded successfully', + Ace21: 'metabolism', + Ace22: 'Menu', + Ace23: 'Health', + Ace24: 'Frequent operation, please try again later', + Ace25: 'Switching', + Ace26: 'Loading...', + Ace27: 'Warm reminder', + Ace28: 'Compared with the previous measurement results, the error is large, please adjust the position of the whole fat scale to measure again', + Ace29: 'Today is scheme', + Ace30: 'Is', + Ace31: 'cleaning day', + Ace32: 'decoration day', + Ace33: 'day', + Ace34: 'first', + Ace35: 'preparation day', + Ace36: 'Network exception, Data upload failed, we will upload data automatically after the network is restored' + }, + menu: { + title: 'Menu', + menu1: 'Reminder', + menu2: 'You have not purchased', + menu3: 'Youfu intelligence health', + menu4: 'Personal customization service, unable to enjoy functions such as customized daily recipes, offline experience, AI precision data matching and calculation, online professional accompanying service, etc. ', + menu5: 'Buy Now', + menu6: 'Nutrients', + menu7: 'Daily menu', + menu8: 'Year', + menu9: 'Month', + menu10: 'Empty', + menu11: 'Expand', + menu12: 'Collapse', + menu13: 'Stay tuned', + menu14: "I'm very sorry, this function has not been opened yet, programmers are working hard to develop", + menu15: 'I know', + menu16: 'Login now', + menuData1: 'Sun', + menuData2: 'Mon', + menuData3: 'Tues', + menuData4: 'Wed', + menuData5: 'Thur', + menuData6: 'Fri', + menuData7: 'Sat', + menuData8: 'There is no menu for the current date', + menuData9: 'The current menu is not unlocked', + menuData10: 'The operating frequency is too fast', + menuData11: 'logging', + menuData12: 'D', + menuData13: 'Mall' + }, + user: { + title: 'Me', + num: 'version', + user1ace1: 'Please follow our official account, you can receive instant messages', + user1ace2: 'follow', + user1ace3: 'User FMJkJ ', + user1ace4: 'Login/Register', + user1ace5: 'You can view the measurement data after logging', + user1ace6: 'Unbound', + user1ace7: 'Unit', + user1ace8: 'lb', + user1ace9: 'Logout', + user1ace10: 'Log in now', + user1ace11: 'Youfu AI Public Account', + user1ace12: 'Long press to save the QR code, follow Youfu AI', + user1ace13: 'Reminder', + user1ace14: "I'm very sorry, you have not purchased the 'Youfu intelligence health' private customization service, please purchase it before operating it! ", + user1ace15: 'Comfirm', + user1ace16: 'Acquired successfully', + user1ace17: 'The unit has been switched', + user1ace18: 'logging', + user1ace19: 'Are you sure to exit? ', + user1ace20: 'Youfu intelligence health ', + user1ace21: 'Forwarded successfully', + user1ace22: 'Loading...', + + user1ace23: 'Being submitted...', + user1ace24: 'Apply for opening', + user1ace25: 'Your exercise record has not been opened, whether to apply for opening', + user1ace26: 'Submit applications', + user1ace27: 'Under review', + user1ace28: 'Your motion record application is under review, please wait patiently', + user1ace29: 'Confirm', + user1ace30: 'Declined', + user1ace31: 'The reason for refusal', + user1ace32: 'Re-examination', + user1ace33: 'Come up for review', + list: { + mobile: 'Mobile phone number', + measureLog: 'Measurement record', + myOrder: 'My Order', + myUser: 'my user' + }, + listV2: { + listV2ace1: 'Personal information', + listV2ace2: 'Data statistics', + listV2ace3: 'Motion record' + }, + wxTypeList: { + wxTypeList1ace1: 'Contact us', + wxTypeList1ace2: 'Feedback', + wxTypeList1ace3: 'Language setting' + }, + motionRecord: { + v1: 'Step', + v2: 'Leaderboard', + v3: 'Today step', + v4: 'Step', + v5: 'Goal step', + v6: 'Complete', + v7: 'Share', + v8: 'Heat', + v9: 'Mileage', + v10: 'Yesterday', + v11: 'Exceed platform', + v12: 'User', + v13: 'Historic high', + v14: 'Highest exercise', + v15: 'Max caloric consumption', + v16: 'Max calorie consumption', + v17: 'Card', + v18: 'None', + v19: 'Refuse', + v20: 'Wechat exercise step function, need authorization to experience', + v21: 'please improve the following information', + v22: 'Submit', + v23: 'Please complete the information before submitting', + v24: '🏃‍ Exercise together, healthier, happier! 🌟💪' + } + } + }, + service: { + mall: { + Ace: 'Forty-nine days', + Ace1: 'Nutrient tonic', + Ace2: 'series' + }, + paymentSuccess: { + title: 'Payment successful', + v1: 'Payment method: WeChat payment ', + v2: 'View order', + v3: 'Complete information', + v4: 'Reminder', + v5: 'The system will not require you to click on any URL link for refund on the grounds of abnormal order or system upgrade. ' + }, + remarkList: { + title: 'Remark List', + v1: 'No remarks yet', + v2: 'Creation time', + v3: 'Edit', + v4: 'Fill in remarks', + v5: 'Loading...' + }, + replenishmentData: { + title: 'replenish data', + v1: 'Save successfully', + v2: 'Up cross...', + v3: 'save', + v4: 'Please enter replenish data' + }, + statistics: { + title: 'Data statistics', + v1: 'Time filter', + v2: 'select a start time', + v3: 'Unit', + v4: 'Only two comparison data can be selected', + v5: 'Load completed', + v6: 'Change', + v7: 'Compare', + v8: 'Cartogram', + v9: 'Select two data points and compare them', + v10: 'Body Index', + v11: 'select a end time', + v12: 'day', + v13: 'weight', + v14: 'fat weight' + }, + uploadReport: { + title: 'Upload medical examination report', + upload_file: 'Upload medical examination report', + upload_time: ' upload time ', + select_examination_time: 'Please select your medical examination time', + time: 'Please select your report time', + flag_exceptions: 'Mark exceptions', + remark: 'Supplementary description', + value1: 'Please describe the content in detail, we will serve every user carefully', + save: 'Save', + next: 'Next', + medical_report: 'System scan medical report', + send_you: 'The system scan will automatically mark abnormal items, it will take a long time for the system to identify, and you will be notified when it is completed', + manual_tagging: 'Manual tagging', + system_identification: 'System identification', + bloodPressure_title: 'Blood Pressure', + list_name1: 'Systolic blood pressure', + list_name2: 'Diastolic pressure', + sugar_title: 'Sugar detection', + sugar_list_name: 'Fasting blood sugar', + renal_title: 'Renal function test', + renal_list_name1: 'Urea', + renal_list_name2: 'Creatinine', + renal_list_name3: 'Uric acid', + renal_list_name4: ' Cystatin C', + bloodFat_title: 'Blood fat four checks', + bloodFat_list_name1: 'Total Cholesterol', + bloodFat_list_name2: 'Triglycerides', + bloodFat_list_name3: 'HDL', + bloodFat_list_name4: 'LDL', + bloodRoutine_title: 'Blood routine/five categories', + bloodRoutine_name1: 'White blood cell count', + bloodRoutine_name2: 'Average RBC hemoglobin volume', + bloodRoutine_name3: 'Red blood cell count', + bloodRoutine_name4: 'RBC distribution width standard deviation', + bloodRoutine_name5: 'Hematocrit', + bloodRoutine_name6: 'Average RBC hemoglobin concentration', + bloodRoutine_name7: 'platelet count', + bloodRoutine_name8: 'RBC distribution width coefficient of variation', + bloodRoutine_name9: 'Platelet specific product', + bloodRoutine_name10: 'Broadband of platelet volume distribution', + bloodRoutine_name11: 'lymphocyte count', + bloodRoutine_name12: 'Eosinophil count', + bloodRoutine_name13: 'Large platelet ratio', + bloodRoutine_name14: 'Eosinophilic sleeping granulocyte ratio', + bloodRoutine_name15: 'Monocyte count', + bloodRoutine_name16: 'Neutrophil count', + bloodRoutine_name17: 'Monocyte ratio', + bloodRoutine_name18: 'Neutrophil ratio', + bloodRoutine_name19: 'Lymphocyte ratio', + bloodRoutine_name20: 'Basophil count', + bloodRoutine_name21: 'Average RBC volume', + bloodRoutine_name22: 'Basophil ratio', + bloodRoutine_name23: 'Hemoglobin', + bloodRoutine_name24: 'Mean platelet volume', + liver_title: 'Three items of liver function', + liver_name1: 'Alanine aminotransferase', + liver_name2: 'Aspartate aminotransferase', + liver_name3: 'Total Bilirubin', + liver_name4: 'Direct bilirubin', + upload_report: 'Please upload at least one report', + uploaded_successfully: 'Uploaded successfully ' + }, + signAbnormal: { + title: 'Mark exception', + v1: 'Mark abnormal items', + v2: 'Save', + v3: 'Saved successfully', + bloodPressure_title: 'Blood Pressure', + list_name1: 'Systolic blood pressure', + list_name2: 'Diastolic pressure', + sugar_title: 'Sugar detection', + sugar_list_name: 'Fasting blood sugar', + renal_title: 'Renal function test', + renal_list_name1: 'Urea', + renal_list_name2: 'Creatinine', + renal_list_name3: 'Uric acid', + renal_list_name4: 'Cystatin C', + bloodFat_title: 'Blood fat four checks', + bloodFat_list_name1: 'Total Cholesterol', + bloodFat_list_name2: 'Triglycerides', + bloodFat_list_name3: 'HDL', + bloodFat_list_name4: 'LDL', + bloodRoutine_title: 'Blood routine/five categories', + bloodRoutine_name1: 'White blood cell count', + bloodRoutine_name2: 'Average RBC hemoglobin volume', + bloodRoutine_name3: 'Red blood cell count', + bloodRoutine_name4: 'RBC distribution width standard deviation', + bloodRoutine_name5: 'Hematocrit', + bloodRoutine_name6: 'Average RBC hemoglobin concentration', + bloodRoutine_name7: 'Platelet count', + bloodRoutine_name8: 'RBC distribution width coefficient of variation', + bloodRoutine_name9: 'Platelet specific product', + bloodRoutine_name10: 'Broadband of platelet volume distribution', + bloodRoutine_name11: 'Lymphocyte count', + bloodRoutine_name12: 'Eosinophil count', + bloodRoutine_name13: 'Large platelet ratio', + bloodRoutine_name14: 'Eosinophilic sleeping granulocyte ratio', + bloodRoutine_name15: 'Monocyte count', + bloodRoutine_name16: 'Neutrophil count', + bloodRoutine_name17: 'Monocyte ratio', + bloodRoutine_name18: 'Neutrophil ratio', + bloodRoutine_name19: 'Lymphocyte ratio', + bloodRoutine_name20: 'Basophil count', + bloodRoutine_name21: 'Average RBC volume', + bloodRoutine_name22: 'Basophil ratio', + bloodRoutine_name23: 'Hemoglobin', + bloodRoutine_name24: 'Mean platelet volume', + liver_title: 'Three items of liver function', + liver_name1: 'Alanine aminotransferase', + liver_name2: 'Aspartate aminotransferase', + liver_name3: 'Total Bilirubin', + liver_name4: 'Direct Bilirubin' + }, + bindServe: { + title: 'Bind account', + bindAccount: 'Bind account confirmation', + bindAccountOne: 'Confirm binding', + bindAccountTwo: ' This account can be used to log in after binding ', + bindAccountThree: 'Bind successfully', + bindAccountFour: 'Enter Youfu Health Mini Program', + bindAccountFive: 'Loading...' + }, + completeMenu: { + title: 'Daily Menu', + completeYear: 'Year', + completeMonth: 'Month', + completeEmpty: 'Empty', + completeToday: 'D', + completeOpen: 'Expand', + completeClose: 'Close', + completeWeekZero: 'Sun', + completeWeekOne: 'Mon', + completeWeekTwo: 'Tues', + completeWeekThree: 'Wed', + completeWeekFour: 'Thur', + completeWeekFix: 'Fri', + completeWeekSix: 'Sat', + completeTipOne: 'There is no menu for the current date', + completeTipTwo: 'The operating frequency is too fast' + }, + detail: { + title: 'Service Details', + titleV2: 'Product details', + titleV3: 'Confirm an order', + titleV4: 'Order detail', + detailedIntroduction: 'Detailed Introduction', + customerService: 'Call', + share: 'Share', + buyItNow: 'Buy It Now', + linkmanName: 'Contact', + inputName: 'Please enter your name', + linkmanMobile: 'Mobile phone number', + inputMobile: 'Please enter your mobile phone number', + confirmPayment: 'Confirm payment', + agreeAndContinue: 'Agree and continue', + Ace: 'Sku', + Ace1: 'Quantity', + Ace2: 'Fill in the delivery address', + Ace3: 'Product info', + Ace4: 'Product price', + Ace5: 'Total', + Ace6: 'Total prices', + Ace7: 'Order price', + Ace8: 'Product sku', + Ace9: 'Order quantity', + Ace10: 'logistics info', + Ace11: 'Order time', + Ace12: 'Order number', + Ace13: 'Pay', + Ace14: 'WeChat Pay', + Ace15: 'Order completed', + Ace16: 'Please confirm receipt after receiving the goods, looking forward to coming again', + Ace17: 'Service', + Ace18: 'Mall', + Ace19: 'Confirm receipt', + Ace20: 'Received', + Ace21: 'Detail', + Ace22: 'In transit', + Ace23: 'Unfilled orders', + Ace24: 'Whether to confirm signing?', + Ace25: 'Sign successfully', + Ace26: 'Piece', + Ace27: 'Refund', + Ace28: 'Problem PO', + Ace29: 'Free', + Ace30: 'Inviter', + Ace31: 'Enter your inviter name (optional)', + Ace32: 'Enter your inviter mobile (optional)', + Ace33: 'VIP price', + Ace34: 'economize', + Ace35: 'VIP discounts', + Ace36: 'Actually paid', + Ace37: 'Product total price', + Ace38: 'inventory', + Ace39: 'Exceed the purchase limit or merchandise inventory limit', + Ace40: 'temporarily out of stock', + Ace41: 'OOS', + Ace42: 'Way of receiving goods', + Ace43: 'Mailing address', + Ace44: 'Self pickup', + Ace45: 'Express delivery', + Ace46: 'Freight', + Ace47: 'Express freight' + }, + healthMGT: { + title: 'Health Management', + stepOne: 'Step.1', + personalDetails: 'Information', + stepTwo: 'Step.2', + informationSurvey: 'Survey', + stepThree: 'Step.3', + medicalExaminationReport: 'Med Report', + Ace: 'Upload full-body photos', + name1: '1. Name (real name)', + name1T: 'Please enter name', + name2: '2. Age', + name2T: 'Please select date of birth', + name3: '3. Height', + name3T: 'Please choose height', + name4: '4. Weight', + name4T: 'Please choose weight', + name5: '5. Gender', + name5T: 'Please choose gender', + name6: '6. Phone', + name6T: 'Please enter phone number', + name7: '7. Address', + name7T: 'Please select delivery address', + other1: 'Next', + other2: '16. Other discomfort, please fill in the description (required)', + other3: 'Please fill in the description', + other4: 'Upload time', + other5: 'Delete', + other6: 'Medical Examination Report', + other7: 'Medical Examination time', + other8: 'Mark abnormal items', + other9: 'Supplementary description', + other10: 'No report yet', + other11: 'Upload medical report', + other12: 'Return to chat', + other14: 'Upload recheck report', + other15: 'Please fill in the description', + other16: 'Please fill in the content...', + other17: 'Please select', + other18: 'Please fill in', + other19: 'Please select ', + other20: 'Please fill in ', + other21: 'item', + other22: 'Please upload ', + other23: 'item', + sex1: 'Male', + sex2: 'Female', + list1T: 'What are the gastrointestinal discomfort reactions (required)', + list1T1: 'No discomfort', + list1T2: 'Disgusting', + list1T3: 'Acid reflux', + list1T4: 'Stomach Pain', + list1T5: 'Constipation', + list1T6: 'Bloating', + list1T7: 'Blood in stool', + list1T8: 'Diarrhea', + list1T9: 'Other', + list1T10: 'Other', + list1T11: 'Other', + list2T: 'What are the heart discomfort reactions (required)', + list2T1: 'No discomfort', + list2T2: 'Palpitation, palpitation', + list2T3: 'Abnormal heart rate', + list2T4: 'Chest tightness', + list2T5: 'Shortness of breath', + list2T6: 'Dizziness', + list2T7: 'Snoring', + list3T: 'What are the sleep-related discomforts (required)', + list3T1: 'No discomfort', + list3T2: 'Insomnia', + list3T3: 'Difficulty falling asleep', + list3T4: 'Light sleep', + list3T5: 'Visual fatigue', + list3T6: 'Unresponsive', + list3T7: 'Memory decline', + list3T8: 'Anxiety', + list3T9: 'Drowsy and exhausted', + list4T: 'What are the current gynecological problems (required)', + list4T1: 'No discomfort', + list4T2: 'Irregular menstruation', + list4T3: 'Menstrual disorders', + list4T4: 'Menopausal', + list4T5: 'Abnormal leucorrhea increase', + list4T6: 'Frequency and urgency', + list4T7: 'Infertility', + list4T8: 'Lower abdominal pain', + list4T9: 'Uterine fibroids', + list5T: 'What are the current andrology problems (required)', + list5T1: 'No discomfort', + list5T2: 'Infertility', + list5T3: 'Frequency and urgency', + list5T4: 'Lower abdominal pain', + list6T: 'What are the other discomfort reactions (required)', + list6T1: 'No discomfort', + list6T2: 'Respiratory system is not good', + list6T3: 'Rhinitis', + list6T4: 'Back pain', + list6T5: 'Muscle soreness', + list6T6: 'Easy to catch a cold', + list6T7: 'Weakness', + list6T8: 'No appetite', + list6T9: 'Easy to be infected', + list6T10: 'Skin problems', + list6T11: 'Asthma', + list6T12: 'Tinnitus', + list6T13: 'Cough', + list6T14: 'Edema', + list6T15: 'Unresponsive', + list7T: 'Your eating habits (required)', + list7T1: 'Regular diet three meals a day', + list7T2: 'Eat when you are hungry', + list7T3: 'Preference for staple food', + list7T4: 'Preferred vegetables and fruits', + list7T5: 'Preferred Meat', + list7T6: 'Preference for sweets', + list7T7: 'High salt and high oil', + list8T: 'Your living habits (required)', + list8T1: 'smoking', + list8T2: 'Drinking', + list8T3: 'Regular sleep', + list8T4: 'Often stay up late', + list8T5: 'Exercise frequently', + list8T6: 'Exercise occasionally', + list8T7: 'Almost no exercise', + list9T: 'What is your current mental state (optional)', + list9T1: 'I often feel pressure in the workplace ', + list9T2: 'I often feel the pressure of the relationship between husband and wife', + list9T3: 'I often feel the pressure of parental relationship', + list9T4: 'I often feel the pressure of parent-child relationship', + list9T5: 'Often feel anxious', + list9T6: 'Often impulsive without reason', + list9T7: 'Often in a calm state', + list9T8: 'In the face of problems, we can quickly find solutions', + list9T9: 'Happiness', + list10T: 'What are your current family relationships (optional)', + list10T1: 'The relationship between husband and wife is harmonious', + list10T2: 'Parent-child relationship is harmonious', + list10T3: 'I have a harmonious relationship with my parents', + list10T4: 'The relationship between husband and wife is not harmonious', + list10T5: 'Parent-child relationship is not harmonious', + list10T6: 'I have not a harmonious relationship with my parents', + list11T: "Who's in your family (optional)", + list11T1: 'A child', + list11T2: 'Two children', + list11T3: 'Three children and above', + list11T4: 'Father', + list11T5: 'Mother', + list11T6: 'Husband', + list11T7: 'Wife', + new1: 'Do you know, fully understand and voluntarily bear the force majeure or complications (such as epilepsy, convulsions, spasms, aggravation of illness, etc.) that may occur or may occur due to your own disease during the program? Unless the accident is ruled by the competent judicial authority to be caused by the Company\'s intention or gross negligence, the Company will not assume any legal responsibility (Required)', + new2: 'Full knowledge, full understanding', + new3: 'Not knowing, not understanding', + new4: 'Do you fully understand the principles of the Company\'s healthy learning program and agree to study strictly in accordance with the company\'s guidance methods, and are willing to bear any adverse reactions that may occur during the program? (Required)', + new5: 'Make full sense of', + new6: 'Incomprehension', + new7: 'Are the physical symptoms reported by you and the medical records and test data (if any) provided by the hospital true, accurate and complete? (Required)', + new8: 'Yes', + new9: 'No', + new10: 'Do you voluntarily bear the consequences of sudden life danger or aggravation of illness during the health learning program, and do not pursue any responsibility of the Company in any form? (Required)', + new11: 'Describe:', + new12: 'Other', + list12T: 'Personal information (optional)', + list12T1: 'Married', + list12T2: 'Unmarried', + list12T3: 'Divorced', + list12T4: 'Widowed', + list12T5: 'High financial pressure', + list12T6: 'Less financial pressure', + list12T7: 'No financial pressure', + otherShow1: 'Reminder', + otherShow2: 'Are you sure to delete the report? ', + otherShow3: 'Deleted successfully', + otherShow4: 'Saved successfully', + otherShow5: 'Please complete your personal information first', + otherShow6: 'Please complete the required items of the personal statement first', + otherShow7: 'Reminder:', + otherShow8: 'Are you sure to use', + otherShow9: 'The phone number? Modification is not supported after confirmation', + otherShow10: 'lb', + otherShow11: 'Above', + otherShow12: 'Below', + otherShow13: 'Please go to the body fat scale to get the weight', + otherShow14: 'Confirm whether to delete the replenish data', + other13: 'replenish data', + rule: 'Please upload a full-face photo', + rule1: 'Please upload a full body profile photo', + rule2: 'Please upload a head-on photo', + rule3: 'Please upload a photo of your left palm', + rule4: 'Please upload a photo of your right palm', + rule5: 'Please upload your tongue photo', + Ace1: 'Please upload full body photo (one front and one side)', + Ace2: 'Please upload full body photo (profile)', + Ace3: 'Please upload headshot (one front)', + Ace4: 'Please upload a photo with your hands palms facing up (one left and one right)', + Ace5: 'Please upload a photo of your right palm', + Ace6: 'Please upload a photo of tongue extension (one with tongue in front of face)', + Ace7: 'User full body photo (front)', + Ace8: 'User full body photo (profile)', + Ace9: 'User headshot (front)', + Ace10: 'User palm photo (one left and one right)', + Ace11: 'User tongue is stretched out', + Ace12: 'Photos of other physical problems (up to 9 photos)', + Ace13: 'Info', + Ace14: 'Photo', + Ace15: 'Survey', + Ace16: 'Report', + Ace17: 'Report', + Ace18: 'Front', + Ace19: 'Side', + Ace20: 'Headshot', + Ace21: 'Left palm', + Ace22: 'Right palm', + Ace23: 'Tongue', + Ace24: 'Other', + Ace25: 'In order to accurately customize the solution, you need to provide the following photos', + Ace26: 'The network environment is abnormal. Please try again later', + Ace27: 'Full body photo (one front and one side)', + Ace28: 'Headshot (front)', + Ace29: 'Photo with your hands palms facing up (one left and one right)', + Ace30: 'Photo of tongue extension (one with tongue in front of face)', + Ace31: 'Photos of other physical problems', + Ace32: 'No Front', + Ace33: 'No Side', + Ace34: 'No Left palm', + Ace35: 'No Right palm', + Ace36: 'Finish' + }, + editorRemark: { + remark1: 'Fill in remarks', + remark2: 'View Remarks', + remark3: 'Edit Remarks', + remark4: 'Delete', + remark5: 'Please enter the remark content', + remark6: 'Save', + remark7: 'Comfirm to delete the remark', + remark8: 'Cancel', + remark9: 'Confirm', + remark10: 'Loading', + remark11: 'Remark content cannot be empty', + remark12: 'Created successfully', + remark13: 'Saved successfully', + remark14: 'Deleted successfully', + remark15: 'New Remark', + remark16: 'View Remarks', + remark17: 'Edit Remarks' + } + }, + utilV2: { + dateTimePicker: { + date1: 'Good morning', + date2: 'Good afternoon', + date3: 'Good afternoon', + date4: 'Good evening ' + }, + utilV2: { + utilMes1: 'No body fat information detected ', + utilMes2: 'Measuring' + }, + utilV3: { + utilMes1: 'Incorrect height', + utilMes2: 'Incorrect gender', + utilMes3: 'Incorrect age' + } + }, + user: { + bindMobile: { + Ace1: 'Bind phone number', + Ace2: 'Current phone number', + Ace3: 'Please enter your phone number', + Ace4: 'Rebind', + Ace5: 'WeChat phone number authorization', + Ace6: 'Reacquire later', + Ace7: 'Send SMS', + Ace8: 'Please enter the correct mobile number', + Ace9: 'Sent successfully', + Ace10: 'Please enter the verification code', + Ace11: 'Bind successfully', + Ace12: 'China Mainland', + Ace13: 'China Taiwan', + Ace14: 'China HongKong', + Ace15: 'China Macau', + Ace16: 'Code Login', + Ace17: 'Thailand', + Ace18: 'Singapore', + Ace19: 'Australian' + }, + languageSettings: { + title: 'Language Settings', + Ace1: 'Please choose', + Ace2: 'The type of language you need', + Ace3: 'Multi-lingual functions, Youfu AI will serve you carefully', + Ace4: 'Simplified', + Ace5: 'Hello! Welcome to Youfu AI' + }, + measuringRecord: { + title: 'Measurement Record', + Ace1: 'There is no measurement data~', + Ace2: 'Swipe left to delete measurement data', + Ace3: 'Delete', + Ace4: 'Load completed', + Ace5: 'Deleted successfully', + Ace6: 'Confirm whether to delete measurement data?' + }, + measuringRecordDetail: { + title: 'Record Details', + Ace1: '/', + Ace2: '', + Ace3: '/' + }, + myOrder: { + title: 'My Order', + Ace1: 'Order Information', + Ace2: 'Payment Status', + Ace3: 'Payment successful', + Ace4: 'Order Type', + Ace5: 'Service Registration', + Ace6: 'Payment method', + Ace7: 'WeChat payment', + Ace8: 'Payment time', + Ace9: 'Order number', + Ace10: 'Copy', + Ace11: 'Complete information', + Ace12: 'No data yet', + Ace13: 'Copy successful', + Ace14: 'Cancel payment', + Ace15: 'No details are available', + Ace16: 'Please read the agreement carefully', + Ace17: 'Placed an order', + Ace18: 'Have been signed', + Ace19: 'Generated scheme', + Ace20: 'Modified scheme', + Ace21: 'Offline distribution', + Ace22: 'Shipped', + Ace23: 'Refunded', + Ace24: 'Problem order not processed', + Ace25: 'Processing problem orders', + Ace26: 'Problem order has been processed', + Ace27: 'Confirm receipt', + Ace28: 'Sign successfully', + Ace29: 'Do you confirm that the mark has been received?', + Ace30: 'Unpaid', + Ace31: 'Logistics information' + }, + myUser: { + title: 'My User', + Ace1: 'No user yet', + Ace2: 'View Remarks', + Ace3: 'Date of Birth', + Ace4: 'Height', + Ace5: 'Weight', + Ace6: 'Details', + Ace7: 'This order is abnormal, please contact customer service', + Ace8: 'Chat', + Ace9: 'Load completed', + Ace10: 'Not filled' + }, + userDetail: { + title: 'Personal details', + tabBarList: { + Ace1: 'information', + Ace2: 'Survey', + Ace3: 'Med Report', + Ace4: 'Menu' + }, + detail: { + Ace1: 'Avatar', + Ace2: 'Name', + Ace3: 'Gender', + Ace4: 'Date of Birth', + Ace5: 'Height', + Ace6: 'Weight', + Ace7: 'Vegetarian', + Ace8: 'egg' + }, + weekList: { + Ace1: 'Sun', + Ace2: 'Mon', + Ace3: 'Tues', + Ace4: 'Wed', + Ace5: 'Thur', + Ace6: 'Fri', + Ace7: 'Sat' + }, + Ace1: 'Gastrointestinal problem', + Ace2: 'Heart problem', + Ace3: 'Sleep problems', + Ace4: 'Immunity problem', + Ace5: 'gynecological problems', + Ace6: 'No data yet', + Ace7: 'Upload time', + Ace8: 'Medical Examination Report', + Ace9: 'Medical examination time', + Ace10: 'Mark abnormal items', + Ace11: 'Supplementary description', + Ace12: 'Nutrients', + Ace13: 'Daily Menu', + Ace14: 'The menu is being customized, please wait patiently', + Ace15: 'Not uploaded', + Ace16: 'Not filled', + Ace17: 'Male', + Ace18: 'Female', + Ace19: 'No', + Ace20: 'Yes', + Ace21: 'Do not eat', + Ace22: 'Eat', + Ace23: 'There is no menu for the current date', + Ace24: 'The current menu is not unlocked', + Ace25: 'The operating frequency is too fast', + Ace26: 'D', + Ace27: 'Expand', + Ace28: 'Collapse' + } + }, + sub_page: { + baseInfo: { + title: 'Edit Information', + Ace1: 'register information', + v1: 'Click to modify the avatar', + v2: 'Click to upload avatar', + v3: 'Current phone number', + v4: 'real name', + v5: 'Please enter your real name', + v6: 'Gender', + v7: 'Please choose your gender', + v8: 'date of birth', + v9: 'Please select your date of birth', + v10: 'Height', + v11: 'Please choose your height', + v12: 'Save data', + v13: 'Register', + v14: 'male', + v15: 'Female', + v16: 'Saved successfully' + }, + bleAuthTips: { + v1: 'After upgrade ios13.0, enable the Bluetooth permission for the app before using the Bluetooth function ', + v2: 'Bluetooth permission opening method', + v3: 'Turn on [Settings] of the mobile phone → find [WeChat] application → open [Bluetooth permission]', + v4: 'Bluetooth open method', + v5: '1. Swipe up from the bottom of the phone screen to display the Control Center (Slide down from the upper right corner of the iPhone X)', + v6: '2. Click the Bluetooth icon to turn on Bluetooth ', + v7: ' Currently Bluetooth is not enabled', + v8: '1. From the top of the phone screen, slide down to the data center', + v9: '2. Click the Bluetooth icon to turn on Bluetooth', + v10: 'Enable Bluetooth and location services', + v11: 'From the top of the phone screen, slide down to the common system Settings screen and turn on the Bluetooth switch', + v12: 'Open location permission', + v13: 'Open the phone 【 Settings 】→ Find the 【 wechat 】 app → Open 【 Your Location 】', + v14: 'Enable the applet Bluetooth permission', + v15: 'If you do not set the Bluetooth permission for the applet for the first time, you can open the applet 【 Settings 】→ Find 【 Bluetooth 】→ Click Allow when using', + v16: 'From the top of the phone screen, slide down to the common system Settings screen, and turn on Bluetooth and GPS switches' + }, + bookDetail: { + title: ' Link to web text ' + }, + measure: { + measure_tips: 'Please weight on the scale barefoot' + }, + onMeasure: { + title: ' Connect to body fat scale ', + measure: 'measurement complete', + bluetooth_tips_content: 'Please turn on Bluetooth first ', + on_measure: 'Measuring...', + complete: 'measurement complete', + tips1: 'The resistance is not measured, please re-measure', + tips2: 'Tips', + tips3: 'You need to authorize the Bluetooth function', + tips4: 'Your body fat scale', + tips5: 'Analyze physical data reports', + tips6: 'New scale', + tips7: 'Old scale', + tips8: 'confirm', + tips9: 'No prompt', + tips10: 'Switchover successful', + tips11: 'Body fat scale switch', + tips12: 'New scale', + tips13: 'Old scale', + tips14: 'Already is the current body fat scale', + tips15: 'Scales type', + tips16: 'Being used', + tips17: 'The data is uploaded', + tips18: 'The measurement time takes about 12 to 25 seconds, please wait patiently', + tips19: 'BT permission not granted', + tips20: 'System BT is disabled', + tips21: 'Settings', + tips22: 'Loc switch is not enabled', + tips23: 'System not auth weChat Loc', + tips24: 'Open', + tips25: 'The current network is unavailable, which will affect your measurement results. Please check the network Settings', + tips26: 'The current network signal is weak, which will affect your measurement results' + }, + newMeasure: { + title: ' Connect to body fat scale ', + measure_tips: 'Please weight on the scale barefoot', + tips_title: 'Tips', + tips_content: 'The current WeChat version is too low to use this function, please upgrade to the latest WeChat version and try again. ', + bluetooth_tips_title: ' Failed to turn on Bluetooth ', + bluetooth_tips_content: 'Please turn on Bluetooth ', + weight: 'The measurement has been completed, your weight is', + complete: 'measurement complete', + on_measure: 'Measuring', + unit_jin: 'lb', + unit_kg: 'Kilogram', + sex_woman: 'Female', + sex_man: 'Male' + }, + shareReport: { + title: 'Loading...', + fat_percentage: 'Fat percentage', + muscle_ratio: 'Muscle ratio', + physical_index: 'Physical index', + not_measure_data: 'There is no measurement data yet', + in_loading: 'Please wait, loading', + value1: 'Measurement records' + } + } + }, + components: { + baseInfoModal: { + Ace1: 'Modify', + Ace2: 'Upload', + Ace3: 'Avatar', + Ace4: 'Current phone number', + Ace5: 'Real name', + Ace6: 'Please enter your real name', + Ace7: 'Gender', + Ace8: 'Please choose your gender', + Ace9: 'Date of Birth', + Ace10: 'Please select your date of birth', + Ace11: 'Height', + Ace12: 'Please choose your height', + Ace13: 'Save data', + Ace14: 'Register', + Ace15: 'male', + Ace16: 'Female', + Ace17: 'Click' + }, + menuModule: { + Ace1: 'Today you are in', + Ace2: 'Please do the task strictly according to the recipe', + Ace3: 'The munu is being customized, please wait patiently', + Ace4: 'Breakfast', + Ace5: 'None', + Ace6: 'add meal', + Ace7: 'Lunch', + Ace8: 'Dinner', + Ace9: 'Night', + Ace10: 'Before sleep' + }, + uploadPic: { + Ace1: 'shoot', + Ace2: 'Select from phone album', + Ace3: 'Cancel', + Ace4: 'Upload failed', + Ace5: 'Loading...', + Ace6: 'Uploading...', + Ace7: 'Reminder', + Ace8: 'Sorry! ', + Ace9: 'Sorry! The login status is invalid !', + Ace10: 'Login again', + Ace11: 'Login successful', + Ace12: 'Comfirm', + Ace13: 'logging', + Ace14: 'Uploaded successfully', + Ace15: 'The network environment is abnormal. Please try again later' + } + }, + camera: { + title: 'Shooting the report', + Ace1: 'Please align the medical examination report to the reference line', + Ace2: 'The camera permission has not been opened, and the shooting function cannot be used normally', + Ace3: 'Set permissions', + Ace4: 'Align your body with the guide line', + Ace5: 'Shoot full face', + Ace6: 'Full-body profile shot', + Ace7: 'Shot headshots', + Ace8: 'Shot left palm', + Ace9: 'Shot right palm', + Ace10: 'Shoot tongue', + Ace11: 'Shot other photos' + }, + login: { + title: 'Youfu intelligence health', + Ace1: 'One key quick login', + Ace2: 'Mobile phone number quick login', + Ace3: 'I have read and agree', + Ace4: 'User Registration Agreement and Privacy Policy', + Ace5: 'Bind successfully', + Ace6: 'Please read and agree to the user registration agreement and privacy policy first', + Ace7: 'Quick login', + Ace8: 'Iphone login' + }, + bodyIndex: { + weight1: 'Body weight measured naked or wearing work clothes of known weight', + weight2: 'Slim', + weight3: 'Standard', + weight4: 'Overweight', + weight5: 'Severely obese', + weight6: 'Your weight is on the low side. It is recommended to strengthen nutrition, eat a balanced diet, eat more high-protein foods, and consume more calories to increase your weight.', + weight7: 'Congratulations, you have an ideal weight, maintain a reasonable and healthy lifestyle, and take part in moderate exercise. You can maintain your standard weight.', + weight8: 'You are overweight and slightly obese. It is recommended to do aerobic exercise 3-5 times a week, reduce the intake of staple foods (rice and pasta, etc.), and increase the proportion of high-fiber coarse grains.', + weight9: 'Your weight is seriously overweight. It is recommended to have a low-fat, low-cholesterol, high-fiber diet, supplement with multivitamins, and increase exercise for weight control.', + fatRatio1: 'Refers to the proportion of fat tissue in the body composition', + fatRatio2: 'Slim', + fatRatio3: 'Standard', + fatRatio4: 'Overweight', + fatRatio5: 'Severely obese', + fatRatio6: 'When the body takes in high-quality nutrients and the small intestinal villi function normally, it can achieve a normal fat ratio. In order to gain weight, the food should be easy to digest, high in protein and high in calories. ', + fatRatio7: 'Currently your body fat percentage is in the standard range, maintaining a good diet and living habits is the best way to maintain a healthy body. ', + fatRatio8: 'If you want to have a shapely body, you need to do aerobic exercise for 30 minutes a day before your body fat starts to burn. Fast walking, jogging, swimming, climbing stairs, and cycling are all good choices.', + fatRatio9: 'You have accumulated too much fat in your body, you must check your blood pressure, blood sugar, liver function, etc., to see if there are potential hazards. Start your weight loss battle quickly, stick to diet control, exercise and change your lifestyle. ', + muscleRatio1: "A ratio value of the human body obtained by combining the total amount of human muscle, body weight, height, etc. The range of this value determines a person's physical health and strength. ", + muscleRatio2: 'Insufficient', + muscleRatio3: 'Standard', + muscleRatio4: 'Excellent', + muscleRatio5: 'Insufficient muscle content in the body. Increasing muscle mass allows you to burn calories faster and lose excess fat in the healthiest way possible. A reasonable diet and moderate exercise can increase muscle mass. ', + muscleRatio6: 'The standard of muscle content in the body, the body is well-proportioned and healthy, please keep exercising. ', + muscleRatio7: 'The amount of muscle knots in the body is relatively sufficient, please continue to maintain an appropriate amount of exercise and a reasonable diet. ', + bodyWater1: 'Body water refers to the amount of water in the body. Water is one of the most important substances involved in metabolism and an important part of the human body. ', + bodyWater2: 'Insufficient', + bodyWater3: 'Standard', + bodyWater4: 'Excellent', + bodyWater5: 'The body water rate is low, regular eating habits and drinking 8 glasses of water a day can maintain a normal body water level, sufficient water can promote metabolism, and take away waste and body toxins. ', + bodyWater6: 'The body water rate is at the standard value, drink water in moderation, exercise properly, eat a balanced diet, and maintain the balance of body water. ', + bodyWater7: 'The body has high water content and high cell activity. Adequate water can help you better digest food and absorb nutrients, and promote metabolism, remove waste and toxins. ', + BMI1: 'Refers to body mass index, a standard commonly used internationally to measure the degree of body fat and thinness and whether it is healthy. ', + BMI2: 'Slim', + BMI3: 'Standard', + BMI4: 'overweight', + BMI5: 'Obesity', + BMI6: 'According to your current height, the BMI index is thin. It is recommended that you increase your weight appropriately to ensure a healthy state. ', + BMI7: 'Please continue to maintain a healthy and regular schedule. Your body weight is in good condition, and continue to work hard to maintain it. ', + BMI8: 'According to your current height and weight, we recommend that you adopt scientific weight loss methods to reduce weight appropriately and avoid health problems caused by obesity. ', + BMI9: 'According to your current height and weight is much higher than the standard value, we recommend that you adopt a scientific way to lose weight, reduce weight appropriately, and avoid health problems caused by obesity. ', + metabolism1: 'Refers to the minimum energy requirement required by all organs of the human body to sustain life. ', + metabolism2: 'low', + metabolism3: 'Standard', + Metabolism4: "Your basal metabolic rate is currently not up to standard. Continuous light exercise can increase the body's basal metabolic rate, while dieting will greatly reduce the basal metabolic rate.", + Metabolism5: 'Your basal metabolic rate is currently at the standard state. The most effective way to maintain your basal metabolic rate is to do moderate exercise every day.', + boneWeight1: 'Bone mass refers to the content of bone tissue [bone minerals (calcium, phosphorus, etc.) and bone matrix (collagen, protein, inorganic salts, etc.)] per unit volume. ', + boneWeight2: 'Insufficient', + boneWeight3: 'Standard', + boneWeight4: 'excellent', + boneWeight5: 'Your bone mass level is low. Long-term low-calcium diet, lack of exercise, excessive weight loss, etc. may cause low bone mass. Eat more foods high in calcium, sunbathe more, exercise more and replenish calcium in time. ', + boneWeight6: 'Your bone mass level is standard. Bone mass will not change significantly in the short term. As long as you ensure a healthy diet and proper exercise, you can maintain a stable and healthy bone mass level. ', + boneWeight7: 'Your bone mass level is adequate. It shows that the content of calcium and other inorganic salts contained in bones is very sufficient, but attention should be paid to prevent the risk of kidney stones and hypotension, and try to avoid high calcium intake. ', + visceralFat1: 'Visceral fat is a type of fat that surrounds the internal organs of the body and acts as a protective fat, as well as storing energy. ', + visceralFat2: 'Standard', + visceralFat3: 'Vigilance', + visceralFat4: 'Exceeding the standard', + visceralFat5: 'Your visceral fat index standard, there is not much risk for the time being. ', + visceralFat6: 'Your visceral fat index is high, continue to maintain a balanced diet and appropriate exercise, aim at a standard level, exercise appropriately and limit calories. ', + visceralFat7: 'Your visceral fat index is high, and there is a risk of heart disease and high blood pressure, which must be taken seriously. ', + bodyAge1: 'The body age is based on the basal metabolism, and the value obtained by converting the weight, height, fat, muscle and other values. Therefore, physical age is a comprehensive judgment standard that is higher or lower than actual age. ', + bodyAge2: 'Standard', + bodyAge3: 'Older', + bodyAge4: 'excellent', + protein1: 'The material basis of life is the basic organic matter that makes up cells. ', + protein2: 'low', + protein3: 'Standard', + protein4: 'High', + protein5: 'Too high', + protein6: 'Insufficient protein will cause a decrease in basal metabolism and a decrease in muscle mass. Adhere to long-term exercise, properly increase the proportion of muscle, and supplement protein, which can increase the proportion of protein. ', + protein7: 'Your protein is at the standard level. Protein: the material basis of life and the basic organic matter that constitutes cells. ', + protein8: 'Protein is the material basis of life and the basic organic matter that constitutes cells.', + protein9: 'Protein is the material basis of life and the basic organic matter that constitutes cells.', + proteinRatio1: 'Protein is the material basis of life and the basic organic matter that constitutes cells.', + proteinRatio2: 'low', + proteinRatio3: 'Standard', + proteinRatio4: 'high', + proteinRatio5: 'Too high', + proteinRatio6: 'Your protein level is low. Lack of protein can cause weakened immunity, muscle weakness and anemia. It is recommended that you maintain a healthy diet, do not go on a diet too much, and supplement enough nutrients. ', + proteinRatio7: 'Your protein level is sufficient, please continue to maintain it, and at the same time prevent excessive intake, excessive intake of protein will also be converted into fat in the body, resulting in fat accumulation. ', + proteinRatio8: 'Protein is the material basis of life and the basic organic matter that constitutes cells.', + proteinRatio9: 'Protein is the material basis of life and the basic organic matter that constitutes cells.', + degreasingWeight1: 'Lean body mass refers to the weight of other body components except fat, and muscle is the main part of it. ', + degreasingWeight2: 'weak', + degreasingWeight3: 'Standard', + muscleWeight1: 'The components that make up the body weight can be divided into two parts: non-fat and fat. ', + muscleWeight2: 'Insufficient', + muscleWeight3: 'Standard', + muscleWeight4: 'excellent', + muscleWeight5: 'You lack enough muscle, you need to strengthen the exercise to increase muscle. Muscle mass: the weight of the muscles in the whole body, including skeletal muscle, cardiac muscle, and smooth muscle. ', + muscleWeight6: 'Your muscles are more developed, continue to maintain. Muscle mass: the weight of the muscles in the whole body, including skeletal muscle, cardiac muscle, and smooth muscle. ', + muscleWeight7: 'Your muscles are more developed, continue to maintain. Muscle mass: the weight of the muscles in the whole body, including skeletal muscle, cardiac muscle, and smooth muscle. ', + waterContent1: 'The water content of different parts is different, the water in the brain tissue accounts for 80%, the water in the blood is as high as 90%, and the water in the bone is only 15%', + waterContent2: 'Insufficient', + waterContent3: 'Standard', + waterContent4: 'Excellent', + skeletalMuscleWeight1: 'Skeletal muscle mass refers to the proportion of skeletal muscle in the body. The higher the skeletal muscle content, the more developed the muscles. Skeletal muscle, also known as striated muscle, is a type of muscle. ', + skeletalMuscleRatio1: 'The human body consists of multiple muscles, among which skeletal muscles are muscles that can be increased through exercise. ', + fatControl1: 'Aiming at the health needs of the public, it helps people with different levels of obesity to lose weight reasonably, mainly through diet adjustment, exercise, drug treatment and other aspects. ', + fatControl2: 'Slim', + fatControl3: 'Standard', + fatControl4: 'Overweight', + fatControl5: 'Severely obese', + bodyFatWeight1: 'Body fat weight means the fat weight of a person. It reflects the amount of fat in the body and can be used to measure the degree of obesity. ', + bodyFatWeight2: 'Slim', + bodyFatWeight3: 'Standard', + bodyFatWeight4: 'Overweight', + bodyFatWeight5: 'Severely obese', + obesity1: 'Obesity refers to the actual weight minus the standard weight, and then divided by the standard weight × 100%', + obesity2: 'Slim', + obesity3: 'Standard', + obesity4: 'overweight', + obesity5: 'Severely obese', + bodyFatRatio1: "The body fat percentage means the proportion of a person's fat to the total body weight. It reflects the amount of fat in the body and can be used to measure the degree of obesity. ", + bodyFatRatio2: 'lower', + bodyFatRatio3: 'Standard', + bodyFatRatio4: 'High', + bodyFatRatio5: 'Severely high', + bodyFatRatio6: "The body fat level is low and in a dangerous range. Fat is an energy substance that maintains the body's metabolism and exercise. Too much or too little is not good for health. It is recommended to have a balanced diet and increase calorie intake appropriately. ", + bodyFatRatio7: 'The body fat level is standard. Maintain a healthy and regular schedule, pay attention to maintaining adequate water intake, increase metabolism, and help maintain a healthy standard body fat percentage. ', + bodyFatRatio8: "The body fat level is high and is in a dangerous range. Fat is an energy substance to maintain the body's metabolism and exercise. Too much/too little is not good for health. Please pay attention to controlling the intake of high-fat and high-fat foods, and do more exercise", + bodyFatRatio9: "The body fat level is seriously high and is in a dangerous range. Fat is an energy substance to maintain the body's metabolism and exercise. Too much/too little is not good for health. Please pay attention to controlling the intake of high-fat and high-fat foods, and do more exercise" + } +} diff --git a/src/i18n/modules/zh.js b/src/i18n/modules/zh.js new file mode 100644 index 0000000..3966b89 --- /dev/null +++ b/src/i18n/modules/zh.js @@ -0,0 +1,1135 @@ +export default { + name: 'zh_CN', + title: '中文', + appWpy: { + UpdatePrompt: '更新提示', + UpdatePromptText: '新版本已经准备好,是否重启应用?', + UpdatePromptText2: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。', + UpdatePromptText3: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~', + UpdatePromptText4: '很抱歉!请您重新加载页面!', + UpdatePromptText5: '返回上页', + cancelText: '取消', + confirmText: '确定' + }, + pages: { + tabBar: { + home: { + title: '测量', + Ace1: '友福健康', + Ace2: '登录后体验更佳', + Ace3: '去登录', + Ace4: '上秤测量', + Ace5: '体脂率', + Ace6: '肌肉占比', + Ace7: '身体指标', + Ace8: '还没有测量数据哦', + Ace9: '请稍后,正在加载中', + Ace10: '查看全部指标', + Ace11: '收起', + Ace12: '测不到体脂', + Ace13: '请重新测量', + Ace14: '记得', + Ace15: '光脚', + Ace16: '脱掉袜子哦', + Ace17: '保存结果', + Ace18: '重新测量', + Ace19: '登录中', + Ace20: '转发成功', + Ace21: '基础代谢', + Ace22: '餐单', + Ace23: '健康', + Ace24: '操作频繁,请稍后再试', + Ace25: '切换中...', + Ace26: '加载中...', + Ace27: '温馨提示', + Ace28: '本次测量结果对比上一次误差较大,请调整体脂秤位置重新测量', + Ace29: '今天是方案', + Ace30: '是', + Ace31: '清洁日', + Ace32: '装修日', + Ace33: '天', + Ace34: '第', + Ace35: '准备日', + Ace36: '网络异常,数据上传失败,我们会在网络恢复后自动上传数据' + }, + menu: { + title: '餐单', + menu1: '温馨提示', + menu2: '您还未购买', + menu3: 'DMA人体驾照', + menu4: '私人定制服务,无法享受定制每日食谱、线下体验、Ai精数据匹配与测算、线上专业陪伴服务等功能。', + menu5: '立即购买', + menu6: '营养素', + menu7: '每日食谱', + menu8: '年', + menu9: '月', + menu10: '空', + menu11: '展开', + menu12: '收起', + menu13: '敬请期待', + menu14: '非常抱歉,此功能暂未开通,程序员正在努力开发中', + menu15: '我知道了', + menu16: '立即登录', + menuData1: '日', + menuData2: '一', + menuData3: '二', + menuData4: '三', + menuData5: '四', + menuData6: '五', + menuData7: '六', + menuData8: '当前日期没有餐单', + menuData9: '当前餐单未解锁', + menuData10: '操作频率过快', + menuData11: '登录中', + menuData12: '今', + menuData13: '商城' + }, + user: { + title: '我的', + num: '版本', + user1ace1: '请关注我们的公众号,可以收到即时消息', + user1ace2: '去关注', + user1ace3: '用户FMJkJ', + user1ace4: '登录/注册', + user1ace5: '登录后可查看测量数据', + user1ace6: '未绑定', + user1ace7: '单位', + user1ace8: '斤', + user1ace9: '退出登录', + user1ace10: '立即登录', + user1ace11: '友福同享公众号', + user1ace12: '长按保存二维码,关注友福同享', + user1ace13: '温馨提示', + user1ace14: '非常抱歉,您还未购买《DMA人体驾照》私人定制服务,请先购买后再操作!', + user1ace15: '确定', + user1ace16: '获取成功', + user1ace17: '单位已切换', + user1ace18: '登录中', + user1ace19: '确定退出吗?', + user1ace20: '友福健康', + user1ace21: '转发成功', + user1ace22: '切换中...', + + user1ace23: '提交中...', + user1ace24: '申请开通', + user1ace25: '你的运动记录暂未开通,是否申请开通', + user1ace26: '提交申请', + user1ace27: '审核中', + user1ace28: '你的运动记录开通申请在审核中,请耐心等待', + user1ace29: '确认', + user1ace30: '已拒绝', + user1ace31: '拒绝原因', + user1ace32: '重新审核', + user1ace33: '提交审核', + list: { + mobile: '手机号', + measureLog: '测量记录', + myOrder: '我的订单', + myUser: '我的用户' + }, + listV2: { + listV2ace1: '个人信息', + listV2ace2: '数据统计', + listV2ace3: '运动记录' + }, + wxTypeList: { + wxTypeList1ace1: '联系我们', + wxTypeList1ace2: '意见反馈', + wxTypeList1ace3: '语言设置' + }, + motionRecord: { + v1: '步数', + v2: '排行榜', + v3: '今日步数', + v4: '步', + v5: '目标步数', + v6: '已完成', + v7: '分享一下', + v8: '热量', + v9: '里程', + v10: '昨日步数', + v11: '已超过平台', + v12: '的用户', + v13: '历史最高步数', + v14: '运动量最高', + v15: '最多消耗热量', + v16: '消耗热量最高', + v17: '卡', + v18: '暂无', + v19: '拒绝', + v20: '微信运动步数功能,需要授权后才能体验', + v21: '请完善以下信息', + v22: '提交', + v23: '请先完善信息后提交', + v24: '🏃‍ 一起运动,更健康,更快乐! 🌟💪' + } + } + }, + service: { + mall: { + Ace: '四十九天', + Ace1: '营养补剂', + Ace2: '系列' + }, + paymentSuccess: { + title: '支付成功', + v1: '支付方式:微信支付', + v2: '查看订单', + v3: '完善资料', + v4: '温馨提示', + v5: '系统不会以订单异常、系统升级为由要求您点击任何网址链接进行退款操作。' + }, + remarkList: { + title: '备注列表', + v1: '暂无备注', + v2: '创建时间', + v3: '编辑', + v4: '填写备注', + v5: '加载中...' + }, + replenishmentData: { + title: '补充资料', + v1: '保存成功', + v2: '上传中...', + v3: '保存', + v4: '请输入补充资料内容' + }, + statistics: { + title: '数据统计', + v1: '时间筛选', + v2: '请选择开始时间', + v3: '单位', + v4: '对比数据只能选择两条', + v5: '加载已完成', + v6: '变化', + v7: '数据对比', + v8: '图表统计', + v9: '请选择两条数据后对比', + v10: '身体指标', + v11: '请选择结束时间', + v12: '天数', + v13: '体重', + v14: '脂肪重量' + }, + uploadReport: { + title: '上传体检报告', + upload_file: '上传体检报告', + upload_time: '上传时间', + select_examination_time: '请选择你的体检时间', + time: '请选择你的报告时间', + flag_exceptions: '标记异常项', + remark: '补充描述', + value1: '请您详细描述内容,我们会用心服务每一位用户', + save: '保存', + next: '下一步', + medical_report: '系统扫描体检报告', + send_you: '系统扫描会自动标记异常项,系统识别需较长时间,完成后会通知您', + manual_tagging: '手动标记', + system_identification: '系统识别', + bloodPressure_title: '血压', + list_name1: '收缩压', + list_name2: '舒张压', + sugar_title: '糖检测', + sugar_list_name: '空腹血糖', + renal_title: '肾功能检测', + renal_list_name1: '尿素', + renal_list_name2: '肌酐', + renal_list_name3: '尿酸', + renal_list_name4: '胱抑素C', + bloodFat_title: '血脂四项检查', + bloodFat_list_name1: '总胆固醇', + bloodFat_list_name2: '甘油三脂', + bloodFat_list_name3: '高密度脂蛋白', + bloodFat_list_name4: '低密度脂蛋白', + bloodRoutine_title: '血常规/五分类', + bloodRoutine_name1: '白细胞计数', + bloodRoutine_name2: '平均RBC血红蛋白量', + bloodRoutine_name3: '红细胞计数', + bloodRoutine_name4: 'RBC分布宽度标准差', + bloodRoutine_name5: '红细胞比积', + bloodRoutine_name6: '平均RBC血红蛋白浓度', + bloodRoutine_name7: '血小板计数', + bloodRoutine_name8: 'RBC分布宽度变异系数', + bloodRoutine_name9: '血小板比积', + bloodRoutine_name10: '血小板体积分布宽带', + bloodRoutine_name11: '淋巴细胞计数', + bloodRoutine_name12: '嗜酸粒细胞计数', + bloodRoutine_name13: '大血小板比率', + bloodRoutine_name14: '嗜酸睡粒细胞比值', + bloodRoutine_name15: '单核细胞计数', + bloodRoutine_name16: '中性粒细胞计数', + bloodRoutine_name17: '单核细胞比值', + bloodRoutine_name18: '中性粒细胞比值', + bloodRoutine_name19: '淋巴细胞比值', + bloodRoutine_name20: '嗜碱性粒细胞计数', + bloodRoutine_name21: '平均RBC体积', + bloodRoutine_name22: '嗜碱性粒细胞比值', + bloodRoutine_name23: '血红蛋白', + bloodRoutine_name24: '平均血小板体积', + liver_title: '肝功三项', + liver_name1: '谷丙转氨酶', + liver_name2: '谷草转氨酶', + liver_name3: '总胆红素', + liver_name4: '直接胆红素', + upload_report: '请上传最少一张报告', + uploaded_successfully: '上传成功' + }, + signAbnormal: { + title: '标记异常', + v1: '标记异常项', + v2: '保存', + v3: '保存成功', + bloodPressure_title: '血压', + list_name1: '收缩压', + list_name2: '舒张压', + sugar_title: '糖检测', + sugar_list_name: '空腹血糖', + renal_title: '肾功能检测', + renal_list_name1: '尿素', + renal_list_name2: '肌酐', + renal_list_name3: '尿酸', + renal_list_name4: '胱抑素C', + bloodFat_title: '血脂四项检查', + bloodFat_list_name1: '总胆固醇', + bloodFat_list_name2: '甘油三脂', + bloodFat_list_name3: '高密度脂蛋白', + bloodFat_list_name4: '低密度脂蛋白', + bloodRoutine_title: '血常规/五分类', + bloodRoutine_name1: '白细胞计数', + bloodRoutine_name2: '平均RBC血红蛋白量', + bloodRoutine_name3: '红细胞计数', + bloodRoutine_name4: 'RBC分布宽度标准差', + bloodRoutine_name5: '红细胞比积', + bloodRoutine_name6: '平均RBC血红蛋白浓度', + bloodRoutine_name7: '血小板计数', + bloodRoutine_name8: 'RBC分布宽度变异系数', + bloodRoutine_name9: '血小板比积', + bloodRoutine_name10: '血小板体积分布宽带', + bloodRoutine_name11: '淋巴细胞计数', + bloodRoutine_name12: '嗜酸粒细胞计数', + bloodRoutine_name13: '大血小板比率', + bloodRoutine_name14: '嗜酸睡粒细胞比值', + bloodRoutine_name15: '单核细胞计数', + bloodRoutine_name16: '中性粒细胞计数', + bloodRoutine_name17: '单核细胞比值', + bloodRoutine_name18: '中性粒细胞比值', + bloodRoutine_name19: '淋巴细胞比值', + bloodRoutine_name20: '嗜碱性粒细胞计数', + bloodRoutine_name21: '平均RBC体积', + bloodRoutine_name22: '嗜碱性粒细胞比值', + bloodRoutine_name23: '血红蛋白', + bloodRoutine_name24: '平均血小板体积', + liver_title: '肝功三项', + liver_name1: '谷丙转氨酶', + liver_name2: '谷草转氨酶', + liver_name3: '总胆红素', + liver_name4: '直接胆红素' + }, + bindServe: { + title: '绑定账号', + bindAccount: '绑定账号确认', + bindAccountOne: '确认绑定', + bindAccountTwo: '绑定后可使用该帐号登录', + bindAccountThree: '绑定成功', + bindAccountFour: '进入友福健康小程序', + bindAccountFive: '加载中...' + }, + completeMenu: { + title: '每日食谱', + completeYear: '年', + completeMonth: '月', + completeEmpty: '空', + completeToday: '今', + completeOpen: '展开', + completeClose: '收起', + completeWeekZero: '日', + completeWeekOne: '一', + completeWeekTwo: '二', + completeWeekThree: '三', + completeWeekFour: '四', + completeWeekFix: '五', + completeWeekSix: '六', + completeTipOne: '当前日期没有餐单', + completeTipTwo: '操作频率过快' + }, + detail: { + title: '服务详情', + titleV2: '商品详情', + titleV3: '确认订单', + titleV4: '订单详情', + detailedIntroduction: '详情介绍', + customerService: '客服', + share: '分享', + buyItNow: '立即购买', + linkmanName: '联系人', + inputName: '请输入您的姓名', + linkmanMobile: '手机号', + inputMobile: '请输入您的手机号', + confirmPayment: '确认支付', + agreeAndContinue: '同意并继续', + Ace: '规格', + Ace1: '数量', + Ace2: '请填写收货地址', + Ace3: '商品信息', + Ace4: '商品金额', + Ace5: '合计', + Ace6: '总价', + Ace7: '订单价格', + Ace8: '商品规格', + Ace9: '订单数量', + Ace10: '物流信息', + Ace11: '订单时间', + Ace12: '订单编号', + Ace13: '支付方式', + Ace14: '微信支付', + Ace15: '订单已完成', + Ace16: '请在收到商品之后再确认收货,期待再次光临', + Ace17: '服务订单', + Ace18: '商城订单', + Ace19: '确认收货', + Ace20: '已签收', + Ace21: '查看订单', + Ace22: '已签收', + Ace23: '待发货', + Ace24: '是否确认签收?', + Ace25: '签收成功', + Ace26: '件', + Ace27: '已退款', + Ace28: '问题订单', + Ace29: '免费', + Ace30: '邀请人', + Ace31: '请输入您的邀请人姓名(选填)', + Ace32: '请输入您的邀请人手机号(选填)', + Ace33: '会员价', + Ace34: '已省', + Ace35: '会员优惠', + Ace36: '实付', + Ace37: '商品总价', + Ace38: '库存', + Ace39: '超出限购或商品库存上限', + Ace40: '当前款式暂时缺货', + Ace41: '缺货', + Ace42: '收货方式', + Ace43: '邮寄地址', + Ace44: '自提', + Ace45: '邮寄', + Ace46: '运费', + Ace47: '邮寄运费' + }, + healthMGT: { + title: '健康管理', + stepOne: '第一步', + personalDetails: '个人信息', + stepTwo: '第二步', + informationSurvey: '信息调查', + stepThree: '第三步', + medicalExaminationReport: '体检报告', + Ace: '上传生活照', + name1: '1. 您的姓名(真实姓名)', + name1T: '请输入你的姓名', + name2: '2. 您的年龄', + name2T: '请选择你的出生日期', + name3: '3. 您的身高', + name3T: '请选择你的身高', + name4: '4. 您的体重', + name4T: '请选择你的体重', + name5: '5. 性别', + name5T: '请选择你的性别', + name6: '6. 您的手机号', + name6T: '请选择你的手机号', + name7: '7. 您的收货地址', + name7T: '请选择你的收货地址', + other1: '下一步', + other2: '16. 其他不适,请填写描述(必填)', + other3: '请填写描述', + other4: '上传时间', + other5: '删除', + other6: '体检报告', + other7: '体检时间', + other8: '标记异常项', + other9: '补充描述', + other10: '暂无报告', + other11: '上传体检报告', + other12: '返回聊天', + other14: '上传复检报告', + other15: '请填写描述', + other16: '请填写内容...', + other17: '请选择', + other18: '请填写', + other19: '请选择第', + other20: '请填写第', + other21: '项内容', + other22: '请上传第', + other23: '项图片', + sex1: '男', + sex2: '女', + list1T: '肠胃不适反应有哪些(必选)', + list1T1: '没有不适', + list1T2: '恶心', + list1T3: '胃部反酸', + list1T4: '胃部疼痛', + list1T5: '便秘', + list1T6: '腹胀', + list1T7: '大便带血', + list1T8: '腹泻', + list1T9: '其它不适', + list1T10: '其它问题', + list1T11: '其它', + list2T: '心脏不适反应有哪些(必选)', + list2T1: '没有不适', + list2T2: '心慌,心悸', + list2T3: '心率异常', + list2T4: '胸闷', + list2T5: '呼吸急促', + list2T6: '头昏', + list2T7: '打鼾', + list3T: '睡眠相关不适反应有哪些(必选)', + list3T1: '没有不适', + list3T2: '失眠', + list3T3: '入睡困难', + list3T4: '浅度睡眠', + list3T5: '视觉疲劳', + list3T6: '反应迟钝', + list3T7: '记忆力衰退', + list3T8: '焦虑', + list3T9: '困倦疲惫', + list4T: '目前妇科问题有哪些(必选)', + list4T1: '没有不适', + list4T2: '月经不规律', + list4T3: '月经紊乱', + list4T4: '已绝经', + list4T5: '白带增多异常', + list4T6: '尿频尿急', + list4T7: '不孕不育', + list4T8: '小腹胀痛', + list4T9: '子宫肌瘤', + list5T: '目前男科问题有哪些(必选)', + list5T1: '没有不适', + list5T2: '不孕不育', + list5T3: '尿频尿急', + list5T4: '小腹胀痛', + list6T: '其他不适反应有哪些(必选)', + list6T1: '没有不适', + list6T2: '呼吸系统不好', + list6T3: '鼻炎', + list6T4: '腰酸背痛', + list6T5: '肌肉酸痛', + list6T6: '容易感冒', + list6T7: '虚弱无力', + list6T8: '无食欲', + list6T9: '容易感染', + list6T10: '皮肤问题', + list6T11: '哮喘', + list6T12: '耳鸣', + list6T13: '咳嗽', + list6T14: '水肿', + list6T15: '反应迟钝', + list7T: '您的饮食习惯(必选)', + list7T1: '一日三餐规律饮食', + list7T2: '饿了就吃', + list7T3: '偏好主食', + list7T4: '偏好蔬菜水果', + list7T5: '偏好肉类', + list7T6: '偏好甜食', + list7T7: '高盐高油', + list8T: '您的生活习惯(必选)', + list8T1: '抽烟', + list8T2: '喝酒', + list8T3: '规律睡眠', + list8T4: '经常熬夜', + list8T5: '经常运动', + list8T6: '偶尔运动', + list8T7: '几乎不运动', + list9T: '您目前精神心理状态有哪些(选填)', + list9T1: '经常感觉到职场压力', + list9T2: '经常感觉到夫妻关系压力', + list9T3: '经常感觉到父母关系压力', + list9T4: '经常感觉到亲子关系压力', + list9T5: '经常感觉焦虑', + list9T6: '经常无故冲动', + list9T7: '经常处于心平气和的状态', + list9T8: '面对问题,能够快速的找到解决的办法', + list9T9: '开心愉悦', + list10T: '您目前家庭关系有哪些(选填)', + list10T1: '夫妻关系和睦', + list10T2: '亲子关系和睦', + list10T3: '我与父母关系和睦', + list10T4: '夫妻关系不和睦', + list10T5: '亲子关系不和睦', + list10T6: '我与父母关系不和睦', + list11T: '您家庭成员有哪些(选填)', + list11T1: '一个孩子', + list11T2: '两个孩子', + list11T3: '三个孩子及以上', + list11T4: '父亲', + list11T5: '母亲', + list11T6: '丈夫', + list11T7: '妻子', + new1: '您是否知悉、充分理解并自愿承担方案过程中因自身疾病问题而出现或可能出现的不可抗力或者并发症(如癫痫、抽搐、痉挛、病情加重等),除非经有权司法机关裁决事故系由本公司故意或重大过失引起的,否则本公司不承担任何法律责任(必选)', + new2: '完全知悉、充分理解', + new3: '不知悉、不能理解', + new4: '您是否充分理解本公司的健康学习方案原则,并同意严格按本公司的指导方法进行学习,并愿意承担方案过程中可能产生的任何不良反应(必选)', + new5: '充分理解', + new6: '不理解', + new7: '您反映的身体症状,以及提供的医院的病例及检验数据(如有),是否真实、准确、完整?(必选)', + new8: '是', + new9: '否', + new10: '您是否自愿承担健康学习方案过程中突发性生命危险或病情加重的后果,并不以任何形式追究本公司的任何责任?(必选)', + new11: '描述:', + new12: '其它', + list12T: '个人情况(选填)', + list12T1: '已婚', + list12T2: '未婚', + list12T3: '离异', + list12T4: '丧偶', + list12T5: '财务方面压力较大', + list12T6: '财务方面压力较小', + list12T7: '财务方面毫无压力', + otherShow1: '温馨提示', + otherShow2: '是否确认删除报告?', + otherShow3: '删除成功', + otherShow4: '保存成功', + otherShow5: '请先完善个人信息', + otherShow6: '请先完善个人自述必选项', + otherShow7: '温馨提示:', + otherShow8: '是否确认使用', + otherShow9: '该手机号?确认后暂不支持修改', + otherShow10: '斤', + otherShow11: '以上', + otherShow12: '以下', + otherShow13: '请到体脂秤上获取体重', + otherShow14: '是否确认删除该补充资料', + other13: '补充资料', + rule: '请上传全身正面照', + rule1: '请上传全身侧面照', + rule2: '请上传大头正面照', + rule3: '请上传左手掌照片', + rule4: '请上传右手掌照片', + rule5: '请上传伸舌照', + Ace1: '请上传全身照(正、侧面各一张)', + Ace2: '请上传全身照(侧面)', + Ace3: '请上传大头照(正面一张)', + Ace4: '请上传双手手掌朝上照(左右各一张)', + Ace5: '请上传右手掌照片', + Ace6: '请上传伸舌照(正脸伸舌头一张)', + Ace7: '用户全身照(正面)', + Ace8: '用户全身照(侧面)', + Ace9: '用户大头照(正面)', + Ace10: '用户手掌照(左右各一张)', + Ace11: '用户伸舌照', + Ace12: '身体其他问题照(最多九张)', + Ace13: '个人信息', + Ace14: '上传照片', + Ace15: '信息调查', + Ace16: '体检报告', + Ace17: '复检报告', + Ace18: '正面照', + Ace19: '侧面照', + Ace20: '大头照', + Ace21: '左手掌', + Ace22: '右手掌', + Ace23: '伸舌照', + Ace24: '其他', + Ace25: '为了精准地给您定制健康方案,需要您提供如下近照', + Ace26: '网络环境异常,请稍后重试', + Ace27: '全身照(正、侧面各一张)', + Ace28: '大头照(正面)', + Ace29: '双手手掌朝上照(左右各一张)', + Ace30: '伸舌照(正脸伸舌头一张)', + Ace31: '身体其他问题照', + Ace32: '暂无正面照', + Ace33: '暂无侧面照', + Ace34: '暂无左手掌', + Ace35: '暂无右手掌', + Ace36: '完成' + }, + editorRemark: { + remark1: '填写备注', + remark2: '查看备注', + remark3: '编辑备注', + remark4: '删除', + remark5: '请输入备注内容', + remark6: '保存', + remark7: '确定删除改备注', + remark8: '取消', + remark9: '确定', + remark10: '加载中', + remark11: '备注内容不能为空', + remark12: '创建成功', + remark13: '保存成功', + remark14: '删除成功', + remark15: '新建备注', + remark16: '查看备注', + remark17: '编辑备注' + } + }, + utilV2: { + dateTimePicker: { + date1: '早上好', + date2: '中午好', + date3: '下午好', + date4: '晚午好' + }, + utilV2: { + utilMes1: '未检测到体脂信息', + utilMes2: '正在测量' + }, + utilV3: { + utilMes1: '身高不正确', + utilMes2: '性别不正确', + utilMes3: '年龄不正确' + } + }, + user: { + bindMobile: { + Ace1: '绑定手机号', + Ace2: '当前手机号', + Ace3: '请输入手机号', + Ace4: '重新绑定', + Ace5: '微信手机号授权', + Ace6: '后重新获取', + Ace7: '获取验证码', + Ace8: '请输入正确的手机号码', + Ace9: '发送成功', + Ace10: '请输入验证码', + Ace11: '绑定成功', + Ace12: '中国大陆', + Ace13: '中国台湾', + Ace14: '中国香港', + Ace15: '中国澳门', + Ace16: '验证码登录', + Ace17: '泰国', + Ace18: '新加坡', + Ace19: '澳大利亚' + }, + languageSettings: { + title: '语言设置', + Ace1: '请选择', + Ace2: '您所需的语言种类', + Ace3: '多种语言功能,友福同享用心服务您', + Ace4: '简体', + Ace5: '你好! 欢迎来到友福同享' + }, + measuringRecord: { + title: '测量记录', + Ace1: '还没有测量数据哦~', + Ace2: '左滑删除测量数据', + Ace3: '删除', + Ace4: '加载已完成', + Ace5: '删除成功', + Ace6: '是否确认删除测量数据?' + }, + measuringRecordDetail: { + title: '记录详情', + Ace1: '年', + Ace2: '月', + Ace3: '日' + }, + myOrder: { + title: '我的订单', + Ace1: '订单信息', + Ace2: '支付状态', + Ace3: '支付成功', + Ace4: '订单类型', + Ace5: '服务报名', + Ace6: '支付方式', + Ace7: '微信支付', + Ace8: '支付时间', + Ace9: '订单编号', + Ace10: '复制', + Ace11: '完善资料', + Ace12: '暂无数据', + Ace13: '复制成功', + Ace14: '取消支付', + Ace15: '暂无详情介绍', + Ace16: '请仔细阅读完协议', + Ace17: '已下单', + Ace18: '已签收', + Ace19: '生成了方案', + Ace20: '修改了方案', + Ace21: '线下已配送', + Ace22: '已发货', + Ace23: '已退款', + Ace24: '未处理问题订单', + Ace25: '处理中问题订单', + Ace26: '已处理问题订单', + Ace27: '确认收货', + Ace28: '签收成功', + Ace29: '是否确认标记已收货?', + Ace30: '未支付', + Ace31: '物流信息' + }, + myUser: { + title: '我的用户', + Ace1: '暂无用户', + Ace2: '查看备注', + Ace3: '出生日期', + Ace4: '身高', + Ace5: '体重', + Ace6: '详情', + Ace7: '该订单异常,请联系客服', + Ace8: '聊天', + Ace9: '加载已完成', + Ace10: '未填写' + }, + userDetail: { + title: '个人详情', + tabBarList: { + Ace1: '个人信息', + Ace2: '个人自述症状', + Ace3: '体检报告', + Ace4: '每日食谱' + }, + detail: { + Ace1: '头像', + Ace2: '姓名', + Ace3: '性别', + Ace4: '出生日期', + Ace5: '身高', + Ace6: '体重', + Ace7: '素食', + Ace8: '鸡蛋' + }, + weekList: { + Ace1: '日', + Ace2: '一', + Ace3: '二', + Ace4: '三', + Ace5: '四', + Ace6: '五', + Ace7: '六' + }, + Ace1: '肠胃问题', + Ace2: '心脏问题', + Ace3: '睡眠问题', + Ace4: '免疫力问题', + Ace5: '妇科问题', + Ace6: '暂无数据', + Ace7: '上传时间', + Ace8: '体检报告', + Ace9: '体检时间', + Ace10: '标记异常项', + Ace11: '补充描述', + Ace12: '营养素', + Ace13: '每日食谱', + Ace14: '食谱正在定制中,请耐心等待', + Ace15: '未上传', + Ace16: '未填写', + Ace17: '男', + Ace18: '女', + Ace19: '否', + Ace20: '是', + Ace21: '不吃', + Ace22: '吃', + Ace23: '当前日期没有餐单', + Ace24: '当前餐单未解锁', + Ace25: '操作频率过快', + Ace26: '今', + Ace27: '展开', + Ace28: '收起' + } + }, + sub_page: { + baseInfo: { + title: '编辑资料', + Ace1: '注册资料', + v1: '点击修改头像', + v2: '点击上传头像', + v3: '当前手机号', + v4: '真实姓名', + v5: '请输入真实姓名', + v6: '性别', + v7: '请选择你的性别', + v8: '出生日期', + v9: '请选择你的出生日期', + v10: '身高', + v11: '请选择你的身高', + v12: '保存资料', + v13: '注册', + v14: '男', + v15: '女', + v16: '保存成功' + }, + bleAuthTips: { + v1: 'iOS13.0升级后,需要用户对应用开启蓝牙权限后,才可以使用蓝牙功能', + v2: '蓝牙权限开启方法', + v3: '打开手机【设置】→找到【微信】应用→打开【蓝牙权限】', + v4: '蓝牙开启方法', + v5: '1.由手机屏幕下方,往上滑出控制中心(iPhoneX则由右上角往下滑出)', + v6: '2.点击蓝牙图标,开启蓝牙', + v7: '当前蓝牙未开启', + v8: '1.由手机屏幕上方,往下滑出数据中心', + v9: '2.点击蓝牙图标,开启蓝牙', + v10: '开启蓝牙和位置服务开关', + v11: '由手机屏幕上方,往下滑出常用系统设置界面,打开蓝牙开关', + v12: '开启位置权限', + v13: '打开手机【设置】→找到【微信】应用→打开【您的位置】', + v14: '开启小程序蓝牙权限', + v15: '如您首次进入未设置小程序蓝牙权限,可通过打开小程序【设置】→找到【蓝牙】→点击使用时允许', + v16: '由手机屏幕上方,往下滑出常用系统设置界面,打开蓝牙和定位服务(GPS)开关' + }, + bookDetail: { + title: '链接网文' + }, + measure: { + measure_tips: '请赤脚上秤' + }, + onMeasure: { + title: '连接体脂秤', + measure: '测量完成', + bluetooth_tips_content: '请先打开蓝牙', + on_measure: '正在测量...', + complete: '测量完成', + tips1: '未测出电阻, 请重新测量', + tips2: '提示', + tips3: '需要您授权蓝牙功能', + tips4: '选择你的体脂秤', + tips5: '专业分析个人身体数据报告', + tips6: '新版秤', + tips7: '旧版秤', + tips8: '确定', + tips9: '下次不再提示', + tips10: '切换成功', + tips11: '体脂秤切换', + tips12: '新版秤', + tips13: '旧版秤', + tips14: '已经是当前体脂秤', + tips15: '体脂秤类型', + tips16: '正在使用', + tips17: '数据上传中', + tips18: '测量时间大概需要12~25秒,请耐心等待', + tips19: '微信未授权给当前用户蓝牙权限', + tips20: '手机系统蓝牙开关未开启', + tips21: '去设置', + tips22: '系统定位开关未开启', + tips23: '系统未授权微信使用定位功能', + tips24: '去开启', + tips25: '当前网络不可用,将会影响你的测量结果,请检查网络设置', + tips26: '当前网络信号较弱,将会影响你的测量结果' + }, + newMeasure: { + title: '连接体脂秤', + measure_tips: '请赤脚上秤', + tips_title: '提示', + tips_content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。', + bluetooth_tips_title: '开启蓝牙失败', + bluetooth_tips_content: '请打开蓝牙', + weight: '测量已完成,您的体重为', + complete: '测量完成', + on_measure: '正在测量', + unit_jin: '斤', + unit_kg: '千克', + sex_woman: '女', + sex_man: '男' + }, + shareReport: { + title: '加载中...', + fat_percentage: '脂肪占比', + muscle_ratio: '肌肉占比', + physical_index: '身体指标', + not_measure_data: '还没有测量数据哦', + in_loading: '请稍后,正在加载中', + value1: '的测量记录' + } + } + }, + components: { + baseInfoModal: { + Ace1: '修改', + Ace2: '上传', + Ace3: '头像', + Ace4: '当前手机号', + Ace5: '真实姓名', + Ace6: '请输入真实姓名', + Ace7: '性别', + Ace8: '请选择你的性别', + Ace9: '出生日期', + Ace10: '请选择你的出生日期', + Ace11: '身高', + Ace12: '请选择你的身高', + Ace13: '保存资料', + Ace14: '注册', + Ace15: '男', + Ace16: '女', + Ace17: '点击' + }, + menuModule: { + Ace1: '您今天是', + Ace2: '请严格按照食谱做任务哦', + Ace3: '食谱正在定制中,请耐心等待', + Ace4: '早餐', + Ace5: '暂无', + Ace6: '加餐', + Ace7: '午餐', + Ace8: '晚餐', + Ace9: '晚上', + Ace10: '睡前' + }, + uploadPic: { + Ace1: '拍摄', + Ace2: '从手机相册选择', + Ace3: '取消', + Ace4: '上传失败了', + Ace5: '加载中...', + Ace6: '上传中...', + Ace7: '温馨提示', + Ace8: '很抱歉!', + Ace9: '很抱歉!登录状态失效啦!', + Ace10: '重新登录', + Ace11: '登录成功', + Ace12: '确定', + Ace13: '登录中', + Ace14: '上传成功', + Ace15: '网络环境异常,请稍后重试' + } + }, + camera: { + title: '拍摄报告', + Ace1: '请将体检报告对齐参考线', + Ace2: '尚未打开相机权限,无法正常使用拍摄功能', + Ace3: '设置权限', + Ace4: '请将身体对齐参考线', + Ace5: '拍摄全身正面', + Ace6: '拍摄全身侧面', + Ace7: '拍摄大头照', + Ace8: '拍摄左手掌', + Ace9: '拍摄右手掌', + Ace10: '拍摄伸舌照', + Ace11: '拍摄其他照' + }, + login: { + title: '友福DMA', + Ace1: '一键快捷登录', + Ace2: '手机号快捷登录', + Ace3: '我已阅读并同意', + Ace4: '用户注册协议和隐私政策', + Ace5: '绑定成功', + Ace6: '请先阅读并同意用户注册协议和隐私政策', + Ace7: '快捷登录', + Ace8: '手机号登录' + }, + bodyIndex: { + weight1: '裸体或穿着已知重量的工作衣称量得到的身体重量', + weight2: '偏瘦', + weight3: '标准', + weight4: '偏胖', + weight5: '重度肥胖', + weight6: '体重偏低,身体消瘦,建议加强营养,平衡饮食,多吃高蛋白食物,摄入更多的热量以增加体重。', + weight7: '恭喜你拥有理想的体重,保持合理健康的生活方式,适量参加运动,你可以维持标准体重了。', + weight8: '体重偏重,略显肥胖,建议一周进行3-5次有氧运动,减少主食(米饭面食等)的摄入,增加高纤维粗粮比例。', + weight9: '体重严重超标,建议低脂、低胆固醇、高纤维膳食,补充多种维生素,增加运动量进行体重控制。', + fatRatio1: '是指身体成分中,脂肪组织所占的比率', + fatRatio2: '偏瘦', + fatRatio3: '标准', + fatRatio4: '偏胖', + fatRatio5: '肥胖', + fatRatio6: '当身体摄取到优质营养,并且令到小肠绒毛正常运作,就可以达到正常的脂肪比例。为了增重,食物最好以易消化、高蛋白、高热量为原则。', + fatRatio7: '目前你的体脂率处于标准范围,保持好的饮食方式和生活习惯是保持健康身材的最佳途径。', + fatRatio8: '要匀称不显胖,每日有氧运动要持续30分钟,体脂才会开始燃烧,快走、慢跑、游泳、爬楼梯、骑自行车都是很好的选择。', + fatRatio9: '你的体内囤积了太多脂肪,必须检测血压、血糖、肝功能等情况,是否潜藏危害。赶快开始你的减肥大战,坚持饮食控制、运动及改变生活方式。', + muscleRatio1: '根据人体肌肉总量和人体体重,身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。', + muscleRatio2: '不足', + muscleRatio3: '标准', + muscleRatio4: '优', + muscleRatio5: '体内的肌肉含量不足。增加肌肉量能让您更快的消耗热量,以最健康的方式减掉多余脂肪。合理的饮食,适量的运动,能够增加肌肉含量。', + muscleRatio6: '体内的肌肉含量标准,身体匀称健康,请您保持锻炼。', + muscleRatio7: '体内肌肉结量比较充足,请继续保持适当的运动量和合理的饮食。', + bodyWater1: '体内水分是指身体内的水量。水是参与新陈代谢最重要的物质之一,是人体的重要组成部分。', + bodyWater2: '不足', + bodyWater3: '标准', + bodyWater4: '优', + bodyWater5: '体水分率偏低,规律的饮食习惯和每天喝足8杯水可以维持正常的体水分水平,充足的水分可以促进代谢,带走废物和身体毒素。', + bodyWater6: '身体水分率处于标准值,适量饮水,适当运动,均衡饮食,保持身体水分的平衡。', + bodyWater7: '身体水分含量高,细胞活性高。充足的水分能帮助你更好地消化食物和吸收养分,并促进代谢,带走废物和毒素。', + BMI1: '是指身体质量指数,国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。', + BMI2: '偏瘦', + BMI3: '标准', + BMI4: '偏胖', + BMI5: '肥胖', + BMI6: '根据您目前的身高,BMI指数偏瘦,建议您适当增加体重,保证健康状态。', + BMI7: '请继续保持健康规律作息您身体体重处于良好状态,继续努力保持。', + BMI8: '根据您目前的身高体重偏胖,我们建议您采用科学的减肥方式,适当减轻体重,避免因肥胖导致的健康问题。', + BMI9: '根据您目前的身高体重远高于标准值,我们建议您采用科学的减肥方式,适当减轻体重,避免因肥胖导致的健康问题。', + metabolism1: '指人体维持生命的所有器官所需要的最低能量需要。', + metabolism2: '偏低', + metabolism3: '标准', + metabolism4: '你的基础代谢率,目前处于未达标状态。持续轻量运动能够提高身体的基础代谢率,而节食基础代谢会大幅下降。', + metabolism5: '你的基础代谢,处于达标状态。保持基础代谢率最有效的方式是每天进行适量的运动。', + boneWeight1: '骨量是指是单位体积内,骨组织[骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白质、无机盐等等)]含量。', + boneWeight2: '不足', + boneWeight3: '标准', + boneWeight4: '优', + boneWeight5: '你的骨量水平偏低。长期低钙饮食、缺乏运动、过度减肥等都可能引起骨量偏低,多吃含钙高的食物,多晒太阳,多运动及时补钙。', + boneWeight6: '你的骨量水平标准。骨量在短期内不会出现明显的变化,你只要保证健康的饮食和适当的锻炼,就可以维持稳定健康的骨量水平。', + boneWeight7: '你的骨量水平充足。说明骨骼中包含的钙等无机盐的含量非常充分,但要注意防范肾结石、低血压的风险,尽量避免高钙摄入。', + visceralFat1: '内脏脂肪是围绕着人体脏器并起到保护作用的一种脂肪,同时也可以储存能量。', + visceralFat2: '标准', + visceralFat3: '警惕', + visceralFat4: '超标', + visceralFat5: '内脏脂肪指数标准,暂时没有太大风险。', + visceralFat6: '内脏脂肪指数偏高,持续保持均衡的饮食和适当的运动,以标准程度为目标,进行适当运动和限制卡路里。', + visceralFat7: '内脏脂肪水平严重偏高,有心脏病、高血压的风险,必须重视。', + bodyAge1: '身体年龄是以基础代谢为基础,综合体重、身高、脂肪、肌肉等数值,换算所得出的数值。所以身体年龄是一个高于或低于实际年龄的综合判断标准。', + bodyAge2: '标准', + bodyAge3: '偏大', + bodyAge4: '优', + protein1: '生命的物质基础,是构成细胞的基本有机物。', + protein2: '偏低', + protein3: '标准', + protein4: '偏高', + protein5: '高', + protein6: '蛋白质不足会引起基础代谢减少,也会引起肌肉的数量减少。坚持长期运动,适当提高肌肉比例,辅助于蛋白质的补充,可以提升蛋白质比例。', + protein7: '你的蛋白质处于标准水平。蛋白质:生命的物质基础,是构成细胞的基本有机物。', + protein8: '生命的物质基础,是构成细胞的基本有机物。', + protein9: '生命的物质基础,是构成细胞的基本有机物。', + proteinRatio1: '生命的物质基础,是构成细胞的基本有机物。', + proteinRatio2: '偏低', + proteinRatio3: '标准', + proteinRatio4: '偏高', + proteinRatio5: '高', + proteinRatio6: '您的蛋白水平偏低。缺乏蛋白质会引起免疫力下降、肌肉无力和贫血。建议你保持健康饮食,不过分节食,补充足够的营养。', + proteinRatio7: '您的蛋白水平比例充足,请继续保持,同时也要防止过度摄入,蛋白质过度摄入也会在体内转化成脂肪,造成脂肪堆积。', + proteinRatio8: '生命的物质基础,是构成细胞的基本有机物。', + proteinRatio9: '生命的物质基础,是构成细胞的基本有机物。', + degreasingWeight1: '去脂体重是指除脂肪以外身体其他成分的重量,肌肉是其中的主要部分。', + degreasingWeight2: '偏弱', + degreasingWeight3: '标准', + muscleWeight1: '是组成人体体重的成分可分为非脂肪物质与脂肪物质二大部分。', + muscleWeight2: '不足', + muscleWeight3: '标准', + muscleWeight4: '优', + muscleWeight5: '你缺少足够的肌肉,需要加强运动,增加肌肉。肌肉量:全身肌肉的重量,包括骨骼肌、心肌、平滑肌。', + muscleWeight6: '你的肌肉比较发达,继续保持。肌肉量:全身肌肉的重量,包括骨骼肌、心肌、平滑肌。', + muscleWeight7: '你的肌肉比较发达,继续保持。肌肉量:全身肌肉的重量,包括骨骼肌、心肌、平滑肌。', + waterContent1: '不同部位的水分含量不同,大脑组织中的水分占80%,血液中的水分高达90%,骨骼中只有15%的水分', + waterContent2: '不足', + waterContent3: '标准', + waterContent4: '优', + skeletalMuscleWeight1: '骨骼肌量是指骨骼肌所占身体的比重。骨骼肌含量越高,肌肉越发达。骨骼肌又称横纹肌,肌肉中的一种。', + skeletalMuscleRatio1: '人体有多个肌肉组成,其中骨骼肌是可以通过锻炼增加的肌肉。', + fatControl1: '是针对大众健康需求,帮助不同程度的肥胖人群进行合理减肥,主要可以从饮食调理、运动锻炼、药物治疗等方面调理。', + fatControl2: '偏瘦', + fatControl3: '标准', + fatControl4: '偏胖', + fatControl5: '肥胖', + bodyFatWeight1: '体脂重量的意思就是人的脂肪重量。反映的是人体脂肪含量的多少,可以用来衡量肥胖程度。', + bodyFatWeight2: '偏瘦', + bodyFatWeight3: '标准', + bodyFatWeight4: '偏胖', + bodyFatWeight5: '肥胖', + obesity1: '肥胖度是指用实际体重减去标准体重,然后除以标准体重×100%', + obesity2: '偏瘦', + obesity3: '标准', + obesity4: '偏胖', + obesity5: '肥胖', + bodyFatRatio1: '体脂率的意思就是人的脂肪所占总体重的比例。反映的是人体脂肪含量的多少,可以用来衡量肥胖程度。', + bodyFatRatio2: '偏低', + bodyFatRatio3: '标准', + bodyFatRatio4: '偏高', + bodyFatRatio5: '高', + bodyFatRatio6: '体脂肪水平偏低,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,建议均衡搭配饮食,适当增加卡路里摄入量。', + bodyFatRatio7: '体脂肪水平标准。保持健康规律作息,注意保持摄入足够水分,增加代谢,有利于保持健康标准体脂率。', + bodyFatRatio8: '体脂肪水平偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动', + bodyFatRatio9: '体脂肪水平严重偏高,处于危险区间。脂肪是维持人体新陈谢和运动的能量物质,过多/过少都不利于健康,请注意控制高油高脂食物的摄入,并且多做运动' + } +} diff --git a/src/images/icon/close_icon.png b/src/images/icon/close_icon.png new file mode 100644 index 0000000..ee988bf Binary files /dev/null and b/src/images/icon/close_icon.png differ diff --git a/src/images/icon/close_icon_v3.png b/src/images/icon/close_icon_v3.png new file mode 100644 index 0000000..b260c1f Binary files /dev/null and b/src/images/icon/close_icon_v3.png differ diff --git a/src/images/icon/pyq_icon.png b/src/images/icon/pyq_icon.png new file mode 100644 index 0000000..5189d6f Binary files /dev/null and b/src/images/icon/pyq_icon.png differ diff --git a/src/images/icon/selected.png b/src/images/icon/selected.png new file mode 100644 index 0000000..5a722c5 Binary files /dev/null and b/src/images/icon/selected.png differ diff --git a/src/images/icon/unselected.png b/src/images/icon/unselected.png new file mode 100644 index 0000000..8388562 Binary files /dev/null and b/src/images/icon/unselected.png differ diff --git a/src/images/icon/wx_icon.png b/src/images/icon/wx_icon.png new file mode 100644 index 0000000..51548fc Binary files /dev/null and b/src/images/icon/wx_icon.png differ diff --git a/src/images/tabbar/activeHome.png b/src/images/tabbar/activeHome.png new file mode 100644 index 0000000..ac3ff46 Binary files /dev/null and b/src/images/tabbar/activeHome.png differ diff --git a/src/images/tabbar/activeMy.png b/src/images/tabbar/activeMy.png new file mode 100644 index 0000000..d66e968 Binary files /dev/null and b/src/images/tabbar/activeMy.png differ diff --git a/src/images/tabbar/activeServe.png b/src/images/tabbar/activeServe.png new file mode 100644 index 0000000..414406b Binary files /dev/null and b/src/images/tabbar/activeServe.png differ diff --git a/src/images/tabbar/inactiveHome.png b/src/images/tabbar/inactiveHome.png new file mode 100644 index 0000000..91acdbd Binary files /dev/null and b/src/images/tabbar/inactiveHome.png differ diff --git a/src/images/tabbar/inactiveMy.png b/src/images/tabbar/inactiveMy.png new file mode 100644 index 0000000..9378fce Binary files /dev/null and b/src/images/tabbar/inactiveMy.png differ diff --git a/src/images/tabbar/inactiveServe.png b/src/images/tabbar/inactiveServe.png new file mode 100644 index 0000000..8c2146f Binary files /dev/null and b/src/images/tabbar/inactiveServe.png differ diff --git a/src/miniprogram-i18n/index.js b/src/miniprogram-i18n/index.js new file mode 100644 index 0000000..51d59ee --- /dev/null +++ b/src/miniprogram-i18n/index.js @@ -0,0 +1 @@ +class t{locale;locales;context;constructor(t){this.locale="",this.locales=t||{}}setLocale(t){this.locale=t}getLocale(){return this.locale}loadTranslations(t){return this.locales=t,this.context&&this.effect(this.context)}mergeTranslations(t){for(const e in t)this.locales[e]?this.locales[e]={...this.locales[e],...t[e]}:this.locales[e]=t[e];return this.context&&this.effect(this.context)}getLanguage(){return this.locales[this.locale]}effect(t){if(this.context=t,t.setData)return new Promise((e=>{t.setData({$language:this.getLanguage()},(()=>{e(t.$language)}))}))}toggleLanguage(t){return this.setLocale(t),this.effect(this.context)}}const e=new t;export{t as I18n,e as default,e as i18nInstance}; diff --git a/src/mixins/base.js b/src/mixins/base.js new file mode 100644 index 0000000..5970f1c --- /dev/null +++ b/src/mixins/base.js @@ -0,0 +1,285 @@ +/* ======================================================== + 小程序基础公用方法,类似于弹框.....等 +======================================================== */ + +export default { + data: { + i18nL: null + }, + + methods: { + $callPhone(mobile) { + wx.makePhoneCall({ + phoneNumber: mobile, + success: function () { + console.log('拨打电话成功!') + }, + fail: function () { + console.log('拨打电话失败!') + } + }) + }, + $setTabBarItemI18n() { // 设置TabBar - I18N + wx.setTabBarItem({ + index: 0, + 'text': this.i18nL.pages.tabBar.home.Ace23 + }) + wx.setTabBarItem({ + index: 1, + 'text': this.i18nL.pages.tabBar.menu.menuData13 + }) + wx.setTabBarItem({ + index: 2, + 'text': this.i18nL.pages.tabBar.user.title + }) + }, + $setNavigationBarTitleI18n(title) { // 设置顶部title-i18n + wx.setNavigationBarTitle({ + title: title + }) + }, + $showToast(title) { + wx.showToast({ + title: title, + icon: 'none', + duration: 1200 + }) + }, + $Toast_success(title) { + wx.showToast({ + title: title, + icon: 'success', + duration: 1200 + }) + }, + $isJson (str) { + if (isNaN(Number(str))) { + try { + JSON.parse(str) + return true + } catch (e) { + return false + } + } else { + } + return false + }, + $isNull (str) { + if (str == '') return true + + var regu = '^[ ]+$' + + var re = new RegExp(regu) + + return re.test(str) + }, + $Toast_error(title) { + wx.showToast({ + title: title, + icon: 'error', + duration: 1200 + }) + }, + $showLoading(title) { + wx.showLoading({ + title: title, + mask: true + }) + }, + // 跳转链接 + $goto(url) { // 普通跳转,有路由栈限制 + wx.navigateTo({url: url}) + }, + $gotoTab(url) { // 跳转至tabBar + wx.switchTab({url: url}) + }, + $redirectTo(url) { // 关闭当前页面 + wx.redirectTo({url: url}) + }, + $reLaunchTo(url) { // 关闭所有页面 + wx.redirectTo({url: url}) + }, + $gotoBack(num) { + wx.navigateBack({ + delta: num + }) + }, + $goToService() { + wx.openCustomerServiceChat({ + extInfo: {url: 'https://work.weixin.qq.com/kfid/kfcc9fc8ab1387b7e89'}, + corpId: 'wwf4b1ba746056e63a', + success(res) {} + }) + }, + $gotoH5(URL) { + console.log(encodeURIComponent(URL)) + wx.navigateTo({url: '/pages/test?url=' + encodeURIComponent(URL)}) + }, + $createSelectorQuery(id) { + return new Promise((resolve) => { + wx.createSelectorQuery().select(id).boundingClientRect(function (rect) { + resolve(rect) + // 节点的上边界坐标 + // let top = rect.top // 节点的下边界坐标 + // let bottom = rect.bottom + }).exec() + }) + }, + $getCurrentPageUrl() { // 获取当前页面路由 + const pages = getCurrentPages() + const currentPage = pages[pages.length - 1] + const url = `/${currentPage.route}` + return url + }, + $getCurrentLastPageUrl() { // 获取上个页面路由 + const pages = getCurrentPages() + const currentPage = pages[pages.length - 2] + const url = `/${currentPage.route}` + return url + }, + // 预览单图 + $previewImage(image) { + let imageArray = [] + imageArray.push(image) + console.log(imageArray) + wx.previewImage({ + current: image, // 当前显示图片的http链接 + urls: imageArray // 需要预览的图片http链接列表 + }) + }, + // 预览多图 + $previewImages(image, imageArray) { + wx.previewImage({ + current: image, // 当前显示图片的http链接 + urls: imageArray // 需要预览的图片http链接列表 + }) + }, + // 打开文档 + $openDocument(url) { + wx.showLoading({ + title: '正在打开文件', + mask: true + }) + wx.downloadFile({ + // 示例 url,并非真实存在 + url: url, + success: function (res) { + const filePath = res.tempFilePath + wx.openDocument({ + filePath: filePath, + success: function (res) { + console.log('打开文档成功') + wx.hideLoading() + }, + fail: (err) => { + console.log(err) + wx.hideLoading() + } + }) + } + }) + }, + $contrastTime(st, et) { + console.log(`开始${st}`, `结束${et}`) + return new Promise((resolve, reject) => { + if (st && et) { + var stdt = new Date(st.replace(/-/g, '/')) + var etdt = new Date(et.replace(/-/g, '/')) + console.log(stdt, etdt) + + // let createTime = res.date.replace(/-/g, '/'); + if (stdt > etdt) { + let vm = this + wx.showModal({ // 使用模态框提示用户进行操作 + title: '温馨提示', + content: '开始时间必须小于结束时间,请重新选择!', + showCancel: false, + confirmText: `${vm.i18nL.components.uploadPic.Ace12}`, + success: function (res) { + reject(new Error(`开始时间需小于结束时间`)) + // if (res.confirm) { + // vm.formData.link_file.splice(index, 1) + // } else if (res.cancel) { + // console.log('用户点击取消') + // } + } + }) + // this.$showToast('') + + // } else if (stdt == etdt) { + // this.$showToast('开始时间不能等于结束时间') + // reject(new Error(`开始时间不能等于结束时间`)) + } else { + console.log('时间合理') + resolve() + } + } else { + resolve() + } + }) + }, + $getsubscription(ids) { + let subscriptionsSetting = wx.getStorageSync('subscriptionsSetting') + return new Promise((resolve, reject) => { + if (subscriptionsSetting && subscriptionsSetting == 'true') { + reject(resV) + } else { + wx.getSetting({ + withSubscriptions: true, + success(resV) { + let {itemSettings, mainSwitch} = resV.subscriptionsSetting + if (!mainSwitch) { + resolve(resV) + return console.log('需要跳转到授权页面') + } + if (!itemSettings) { + wx.setStorageSync('subscriptionsSetting', 'false') + console.log('需要授权') + wx.requestSubscribeMessage({ + tmplIds: ids, // 此处可填写多个模板 ID,但低版本微信不兼容只能授权一个 + success(res) { + if (res[ids[0]] === 'accept') { + console.log('订阅成功') + } else { + console.log('拒绝授权') + } + }, + complete(res) { + resolve(res) + console.log('complete 调用完成') + } + }) + } else { + console.log('授权成功') + wx.setStorageSync('subscriptionsSetting', 'true') + reject(resV) + } + } + }) + } + }) + }, + $getSystemInfo() { + return new Promise((resolve) => { + wx.getSystemInfo({ + success: (res) => { + console.log(res) + resolve(res) + // 获取可使用窗口宽度 + // let clientHeight = res.windowHeight + // 获取可使用窗口高度 + // let clientWidth = res.windowWidth + // 算出比例 + // let ratio = 750 / clientWidth + // 算出高度(单位rpx) + // let height = clientHeight * ratio + // 设置高度 + } + }) + }) + } + }, + created() { + this.i18nL = this.$app.$options.globalData.i18nL + } +} diff --git a/src/mixins/https.js b/src/mixins/https.js new file mode 100644 index 0000000..3c1223c --- /dev/null +++ b/src/mixins/https.js @@ -0,0 +1,240 @@ +import utils from '../utils/util' +import {service} from '../config' + +export default { + data: { + errorOne: 1, + errorTwo: 1, + mixin: 'MixinText' + }, + methods: { + /* =================== [$get 发起GET请求] =================== */ + $get({url = '', headers = {}, data = {}, timeout = 8000}) { + let vm = this + const methods = 'GET' + vm.$showLoading('') + return new Promise((resolve, reject) => { + this.$ajax({url, headers, methods, data, timeout}).then(({code, data}) => { + resolve({code, data}) + }).catch((err) => { + reject(err) + }) + }) + }, + $post({url = '', headers = {}, data = {}, timeout = 8000}) { + const methods = 'POST' + return new Promise((resolve, reject) => { + this.$ajax({url, headers, methods, data, timeout}).then(({code, data}) => { + resolve({code, data}) + }).catch((err) => { + reject(err) + }) + }) + }, + $put({url = '', headers = {}, data = {}, timeout = 8000}) { + const methods = 'PUT' + return new Promise((resolve, reject) => { + this.$ajax({url, headers, methods, data, timeout}).then(({code, data}) => { + resolve({code, data}) + }).catch((err) => { + reject(err) + }) + }) + }, + $delete({url = '', headers = {}, data = {}, timeout = 8000}) { + const methods = 'DELETE' + return new Promise((resolve, reject) => { + this.$ajax({url, headers, methods, data, timeout}).then(({code, data}) => { + resolve({code, data}) + }).catch((err) => { + reject(err) + }) + }) + }, + $ajax({url = '', headers = {}, methods = 'GET', data = {}}) { + // 增强体验:顶部加载中 + wx.showNavigationBarLoading() + let versions = this.$app.$options.globalData.versions + let params = { + XDEBUG_SESSION_START: '1', + version: versions, + from_user_id: wx.getStorageSync('from_user_id') || '', + agent_user_id: wx.getStorageSync('agent_user_id') || '', + agent: wx.getStorageSync('agent') || '', + from_source: 'mp', + from_type: wx.getStorageSync('fromType') || '' + } + // 构造请求体 + let requestUrl = `${url}${url.includes('?') ? '&' : '?'}` + Object.keys(params).map(i => `${i}=${encodeURIComponent(params[i] || '')}`).join('&') + const request = { + url: requestUrl, + timeout: 10000, + method: ['GET', 'POST', 'PUT', 'DELETE'].indexOf(methods) > -1 ? methods : 'GET', + header: Object.assign({ + 'Authorization': 'Bearer ' + wx.getStorageSync('token'), + 'X-Requested-With': 'XMLHttpRequest' + }, headers), + data: Object.assign({ // set something global + }, data) + } + // 控制台调试日志 + // console.table(request) + // 发起请求 + return new Promise((resolve, reject) => { + let vm = this + wx.request(Object.assign(request, { + success: ({statusCode, data}) => { + wx.hideNavigationBarLoading() + const {code, message, notice, operate, path} = data + wx.removeStorageSync('message') + wx.stopPullDownRefresh() + // 控制台调试日志 + console.log('[SUCCESS]', statusCode, typeof data === 'object' ? data : data.toString().substring(0, 100)) + // 状态码正常 & 确认有数据 + if (data.code === 0) { + // 成功回调 + wx.removeStorageSync('formId') + resolve({statusCode, ...data}) + } else if (data.code === 1) { + resolve({statusCode, ...data}) + console.error(data.message) + // console.log(this.$app.$options.globalData) + if (this.$is == 'pages/service/GroupChatPage' && data.message.includes('已断开连接')) { + let vm = this + wx.showModal({ // 使用模态框提示用户进行操作 + title: `${this.i18nL.pages.service.healthMGT.otherShow1}`, + content: `${this.i18nL.UpdatePromptText5}`, + showCancel: false, + confirmText: `${this.i18nL.UpdatePromptText5}`, + success: function (res) { + if (res.confirm) { + wx.hideLoading() + wx.navigateBack({ + delta: 1 + }) + // console.log('开始尝试连接WebSocket!readyState=' + vm.$app.$options.globalData.localSocket.readyState) + vm.$app.initSocket('http') + } + } + }) + } else { + vm.errorOne += 1 + if (vm.errorOne <= 2) { + wx.showModal({ // 使用模态框提示用户进行操作 + title: `${this.i18nL.pages.service.healthMGT.otherShow1}`, + content: data.message, + showCancel: false, + confirmText: `${this.i18nL.appWpy.confirmText}`, + success: function (res) { + if (res.confirm) { + vm.errorOne = 1 + wx.hideLoading() + wx.navigateBack({ + delta: 1 + }) + } + } + }) + } + let errorMessage = {message: '错误,请寻找开发人员协助'} + throw errorMessage + } + wx.hideLoading() + } else if (data.code === 2) { + console.error(data.message) + vm.errorTwo += 1 + if (vm.errorTwo <= 2) { + var pages = getCurrentPages() // 获取加载的页面 + var currentPage = pages[pages.length - 1] // 获取当前页面的对象 + var options = currentPage.options + let url = '' + for (var key in options) { + url = `${url}${key}=${options[key]}&` + } + utils.wx_login().then(({code, data}) => { + if (code === 0) { + vm.errorTwo = 1 + if (currentPage.route == 'pages/service/healthMGT') { + wx.redirectTo({url: `/${currentPage.route}?${url}`}) + } else if (data.mobile && data.is_complete_profile) { + if (currentPage.route == 'pages/tabBar/home') { + wx.reLaunch({url: '/pages/tabBar/home'}) + } else { + wx.redirectTo({url: `/${currentPage.route}?${url}`}) + } + } else if (!data.mobile) { + wx.redirectTo({url: `/pages/login`}) + } else if (!data.is_complete_profile) { + wx.redirectTo({url: `/pages/user/registrationMaterial`}) + } + } + }) + } + let errorMessage = {message: '错误,需要重新登录'} + throw errorMessage + } + }, + fail: (err) => { + // eslint-disable-next-line prefer-promise-reject-errors + reject(err) + console.error('[ERROR]', err) + }, + complete: (res) => { + wx.hideLoading() + if (res.errMsg.indexOf('timeout') > -1) { + vm.errorOne += 1 + let pages = getCurrentPages() // 获取加载的页面 + if (vm.errorOne <= 2) { + wx.showModal({ // 使用模态框提示用户进行操作 + title: `${this.i18nL.pages.service.healthMGT.otherShow1}`, + content: `${this.i18nL.pages.service.healthMGT.Ace26}`, + showCancel: false, + confirmText: `${this.i18nL.appWpy.confirmText}`, + success: function (res) { + if (res.confirm) { + vm.errorOne = 1 + wx.hideLoading() + if (pages.length > 1) { + wx.navigateBack({ + delta: 1 + }) + } else { + wx.reLaunch({url: '/pages/tabBar/home'}) + } + } + } + }) + } + console.log('当前网络不稳定!请重试...') + let errorMessage = {message: '当前网络不稳定!请重试'} + throw errorMessage + } + } + })) + }) + } + }, + created() { + console.log(this.i18nL) + console.log('created in mixin', '插件打印') + let vm = this + let cacheBodyData = wx.getStorageSync('cacheBodyData') + if (cacheBodyData && vm.$app.$options.globalData.resubmit == 1) { + let data = { + data: cacheBodyData + } + vm.$app.$options.globalData.resubmit = 2 + console.log(data, '提交数组数据***********') + vm.$post({url: `${service.host}/save/weak/network/fat`, data}).then(({code, data}) => { + if (code === 0) { + vm.app.globalData.bodyFatData = null + wx.setStorageSync('bodyFatData', '1') + wx.removeStorageSync('cacheBodyData') + } + wx.hideLoading() + }).catch(err => { + console.log(err) + }) + } + } +} diff --git a/src/mixins/plugins.js b/src/mixins/plugins.js new file mode 100644 index 0000000..fd9e141 --- /dev/null +++ b/src/mixins/plugins.js @@ -0,0 +1,214 @@ +// 转换时间 +const getTime = (time) => { + function getTimeText(argument) { + let timeS = argument + let todayT = '' + let yestodayT = '' + let timeCha = getTimeS(timeS) + timeS = timeS.slice(-8) + todayT = new Date().getHours() * 60 * 60 * 1000 + new Date().getMinutes() * 60 * 1000 + new Date().getSeconds() * 1000 + yestodayT = todayT + 24 * 60 * 60 * 1000 + const date = new Date() + let year = date.getFullYear() + let yea = Number(argument.slice(0, 4)) + if (timeCha > yestodayT) { + if (yea == year) { + return argument.slice(5, 11) + (timeS.slice(0, 2) >= 12 ? '下午' + (timeS.slice(0, 2) == 12 ? 12 : timeS.slice(0, 2) - 12) + timeS.slice(2, 5) : '上午' + timeS.slice(0, 5)) + } else { + return timeS.slice(0, 2) >= 12 ? '下午' + (timeS.slice(0, 2) == 12 ? 12 : timeS.slice(0, 2) - 12) + timeS.slice(2, 5) : '上午' + timeS.slice(0, 5) + } + } + if (timeCha > todayT && timeCha < yestodayT) { + return timeS.slice(0, 2) > 12 ? '昨天 下午' + (timeS.slice(0, 2) == 12 ? 12 : timeS.slice(0, 2) - 12) + timeS.slice(2, 5) : '昨天 上午' + timeS.slice(0, 5) + } + if (timeCha < todayT) { + return timeS.slice(0, 2) >= 12 ? '下午' + (timeS.slice(0, 2) == 12 ? 12 : timeS.slice(0, 2) - 12) + timeS.slice(2, 5) : '上午' + timeS.slice(0, 5) + } + } + +// 时间戳获取 + function getTimeS(argument) { + let timeS = argument + timeS = timeS.replace(/[-]/g, '/').replace(/[-]/, '') + timeS = timeS.replace(/[年月]/g, '/').replace(/[日]/, '') + return new Date().getTime() - new Date(timeS).getTime() - 1000 // 有一秒的误差 + } + + let timeText = getTimeText(time) + return timeText +} + +// 时间戳是整数,否则要parseInt转换 +function add0(m) { return m < 10 ? '0' + m : m } +const format = (timestamp) => { + let time = new Date(timestamp) + let y = time.getFullYear() + let m = time.getMonth() + 1 + let d = time.getDate() + let h = time.getHours() + let mm = time.getMinutes() + let s = time.getSeconds() + return y + '-' + add0(m) + '-' + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s) +} + +const timeContrast = (startTime, endTime) => { + let dateEnd = new Date(endTime.replace(/-/g, '/')) + let dateBegin = new Date(startTime.replace(/-/g, '/')) + let retValue = {} + let date3 = dateEnd.getTime() - dateBegin.getTime() // 时间差的毫秒数 + // 计算出相差天数 + let days = Math.floor(date3 / (24 * 3600 * 1000)) + retValue.Days = days + let years = Math.floor(days / 365) + retValue.Years = years + let months = Math.floor(days / 30) + retValue.Months = months + // 计算出小时数 + let leave1 = date3 % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数 + let hours = Math.floor(leave1 / (3600 * 1000)) + retValue.Hours = hours + // 计算相差分钟数 + let leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数 + let minutes = Math.floor(leave2 / (60 * 1000)) + retValue.Minutes = minutes + // 计算相差秒数 + let leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数 + let seconds = Math.round(leave3 / 1000) + retValue.Seconds = seconds + let strTime = '' + if (years >= 1) { + strTime = years + '年前' + } else if (months >= 1) { + strTime = months + '个月前' + } else if (days >= 1) { + strTime = days + '天前' + } else if (hours >= 1) { + strTime = hours + '小时前' + } else { + strTime = minutes + '分钟前' + } + retValue.PubTime = strTime + return years >= 1 || months >= 1 || hours >= 1 || minutes >= 5 +} + +// 获取视频时间 +const getVideoTime = (time) => { + let value = time / 1000 + let theTime = value// 秒 + let theTime1 = 0// 分 + let theTime2 = 0// 小时 + if (theTime > 60) { + theTime1 = parseInt(theTime / 60) + theTime = parseInt(theTime % 60) + if (theTime1 > 60) { + theTime2 = parseInt(theTime1 / 60) + theTime1 = parseInt(theTime1 % 60) + } + } + let result = '' + parseInt(theTime) + if (result < 10) { + result = '0' + result + } + if (theTime1 > 0) { + result = '' + parseInt(theTime1) + ':' + result + if (theTime1 < 10) { + result = '0' + result + } + } else { + result = '00:' + result + } + if (theTime2 > 0) { + result = '' + parseInt(theTime2) + ':' + result + if (theTime2 < 10) { + result = '0' + result + } + } + return result +} + +Date.prototype.format = function (format) { + let o = { + 'M+': this.getMonth() + 1, // month + 'd+': this.getDate(), // day + 'h+': this.getHours(), // hour + 'm+': this.getMinutes(), // minute + 's+': this.getSeconds(), // second + 'q+': Math.floor((this.getMonth() + 3) / 3), // quarter + 'S': this.getMilliseconds() // millisecond + } + if (/(y+)/.test(format)) { + format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (let k in o) { + if (new RegExp('(' + k + ')').test(format)) { + format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)) + } + } + return format +} + +const getDiffTime = (recordTime, yearsFlag) => { + if (recordTime) { + recordTime = new Date(parseFloat(recordTime) * 1000) + let minute = 1000 * 60 + let hour = minute * 60 + let day = hour * 24 + let now = new Date() + let diff = now - recordTime + let result = '' + if (diff < 0) { + return result + } + let weekR = diff / (7 * day) + let dayC = diff / day + let hourC = diff / hour + let minC = diff / minute + let formate = '' + if (weekR >= 1) { + formate = 'MM-dd hh:mm' + if (yearsFlag) { + formate = 'yyyy-MM-dd hh:mm' + } + return recordTime.format(formate) + } else if (dayC == 1 || (hourC < 24 && recordTime.getDate() != now.getDate())) { + result = '昨天' + recordTime.format('hh:mm') + return result + } else if (dayC > 1) { + formate = 'MM-dd hh:mm' + if (yearsFlag) { + formate = 'yyyy-MM-dd hh:mm' + } + return recordTime.format(formate) + } else if (hourC >= 1) { + result = parseInt(hourC) + '小时前' + return result + } else if (minC >= 1) { + result = parseInt(minC) + '分钟前' + return result + } else { + result = '刚刚' + return result + } + } + return '数据异常' +} + +const getElement_WH = (element) => { // 获取元素位置 + return new Promise((resolve) => { + let query = wx.createSelectorQuery() + query.select(element).boundingClientRect((rect) => { + if (typeof rect == 'object') { + resolve(rect) + } + }).exec() + }) +} + +module.exports = { + getTime, + format, + timeContrast, + getVideoTime, + getDiffTime, + getElement_WH +} diff --git a/src/pages/home/information.wpy b/src/pages/home/information.wpy new file mode 100644 index 0000000..562fe74 --- /dev/null +++ b/src/pages/home/information.wpy @@ -0,0 +1,1201 @@ + + + + + +{ +navigationBarTitleText: '好友申请', +enablePullDownRefresh: true, +backgroundColorTop: '#f5f5f5', +backgroundColorBottom: '#f5f5f5', +usingComponents: { +pageScroll: '~@/components/pageScroll' +} +} + diff --git a/src/pages/news/groupChitchat.wpy b/src/pages/news/groupChitchat.wpy new file mode 100644 index 0000000..aa0045c --- /dev/null +++ b/src/pages/news/groupChitchat.wpy @@ -0,0 +1,1506 @@ + + + + + +{ +navigationBarTitleText: '聊天', +enablePullDownRefresh: false, +backgroundColorTop: '#f2f2f2', +backgroundColorBottom: '#f2f2f2', +usingComponents: { +chatEmoji: '~@/components/chatEmojiFile/ChatEmoji' +} +} + diff --git a/src/pages/news/groupChitchatDetail.wpy b/src/pages/news/groupChitchatDetail.wpy new file mode 100644 index 0000000..be55d48 --- /dev/null +++ b/src/pages/news/groupChitchatDetail.wpy @@ -0,0 +1,428 @@ + + + + + +{ +navigationBarTitleText: '群聊详情', +enablePullDownRefresh: false, +backgroundColorTop: '#f5f5f5', +backgroundColorBottom: '#f5f5f5', +} + diff --git a/src/pages/news/review.wpy b/src/pages/news/review.wpy new file mode 100644 index 0000000..af5f7f2 --- /dev/null +++ b/src/pages/news/review.wpy @@ -0,0 +1,432 @@ + + + + + +{ +navigationBarTitleText: '', +enablePullDownRefresh: true, +backgroundColorTop: '#ffffff', +backgroundColorBottom: '#ffffff', +usingComponents: { +pageScroll: '~@/components/pageScroll' +} +} + diff --git a/src/pages/news/systemNews.wpy b/src/pages/news/systemNews.wpy new file mode 100644 index 0000000..6407e93 --- /dev/null +++ b/src/pages/news/systemNews.wpy @@ -0,0 +1,330 @@ + + + + + +{ +navigationBarTitleText: '系统通知', +enablePullDownRefresh: true, +backgroundColorTop: '#f5f5f5', +backgroundColorBottom: '#f5f5f5', +usingComponents: { +pageScroll: '~@/components/pageScroll' +} +} + diff --git a/src/pages/news/visitor.wpy b/src/pages/news/visitor.wpy new file mode 100644 index 0000000..1604520 --- /dev/null +++ b/src/pages/news/visitor.wpy @@ -0,0 +1,579 @@ + + + + + +{ +navigationBarTitleText: '访客/粉丝', +enablePullDownRefresh: true, +backgroundColorTop: '#ffffff', +backgroundColorBottom: '#ffffff', +} + diff --git a/src/pages/tabBar/home.wpy b/src/pages/tabBar/home.wpy new file mode 100644 index 0000000..aede91a --- /dev/null +++ b/src/pages/tabBar/home.wpy @@ -0,0 +1,430 @@ + + + + + +{ +navigationBarTitleText: '消息', +navigationStyle: 'custom', +enablePullDownRefresh: true, +backgroundColorTop: '#ffffff', +backgroundColorBottom: '#ffffff', +usingComponents: { +cuCustom: '~@/components/cuCustom' +} +} + diff --git a/src/pages/tabBar/news.wpy b/src/pages/tabBar/news.wpy new file mode 100644 index 0000000..b334fac --- /dev/null +++ b/src/pages/tabBar/news.wpy @@ -0,0 +1,425 @@ + + + + + +{ +navigationBarTitleText: '消息', +navigationStyle: 'custom', +enablePullDownRefresh: true, +backgroundColorTop: '#ffffff', +backgroundColorBottom: '#ffffff', +usingComponents: { +cuCustom: '~@/components/cuCustom' +} +} + diff --git a/src/pages/tabBar/user.wpy b/src/pages/tabBar/user.wpy new file mode 100644 index 0000000..c194f7e --- /dev/null +++ b/src/pages/tabBar/user.wpy @@ -0,0 +1,801 @@ + + + + + + +{ +navigationBarTitleText: '我的', +navigationStyle: 'custom', +enablePullDownRefresh: false, +backgroundColorTop: '#F4F7FC', +backgroundColorBottom: '#F4F7FC', +usingComponents: { +} +} + diff --git a/src/pages/tabBar/welcome.wpy b/src/pages/tabBar/welcome.wpy new file mode 100644 index 0000000..7de02d0 --- /dev/null +++ b/src/pages/tabBar/welcome.wpy @@ -0,0 +1,39 @@ + + + + + + +{ +navigationBarTitleText: '加载中...', +navigationBarBackgroundColor: '#f8f8f8', +enablePullDownRefresh: true, +} + diff --git a/src/pages/user/test.wpy b/src/pages/user/test.wpy new file mode 100644 index 0000000..af17760 --- /dev/null +++ b/src/pages/user/test.wpy @@ -0,0 +1,95 @@ + + + + + +{ +navigationBarTitleText: '优质单身', +enablePullDownRefresh: true, +backgroundColorTop: '#f8f8f8', +backgroundColorBottom: '#f8f8f8', +usingComponents: { +pageScroll: '~@/components/pageScroll' +} +} + diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..9d2aa7d --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,28 @@ +import Vuex from '@wepy/x'; + +export default new Vuex.Store({ + state: { + counter: 0 + }, + mutations: { + increment (state) { + state.counter++; + }, + decrement (state) { + state.counter--; + } + }, + actions: { + increment ({ commit }) { + commit('increment'); + }, + decrement ({ commit }) { + commit('decrement'); + }, + incrementAsync ({ commit }) { + setTimeout(() => { + commit('increment'); + }, 1000); + } + } +}); diff --git a/src/styles/animation.wxss b/src/styles/animation.wxss new file mode 100644 index 0000000..b8e5ebf --- /dev/null +++ b/src/styles/animation.wxss @@ -0,0 +1,184 @@ +/* + Animation 微动画 + 基于ColorUI组建库的动画模块 by Mamba 2022年11月21日12:52:28 + */ + +/* css 滤镜 控制黑白底色gif的 */ +.gif-black{ + mix-blend-mode: screen; +} +.gif-white{ + mix-blend-mode: multiply; +} + + +/* Animation css */ +[class*=animation-] { + animation-duration: .5s; + animation-timing-function: ease-out; + animation-fill-mode: both +} + +.animation-fade { + animation-name: fade; + animation-duration: .8s; + animation-timing-function: linear +} + +.animation-scale-up { + animation-name: scale-up +} + +.animation-scale-down { + animation-name: scale-down +} + +.animation-slide-top { + animation-name: slide-top +} + +.animation-slide-bottom { + animation-name: slide-bottom +} + +.animation-slide-left { + animation-name: slide-left +} + +.animation-slide-right { + animation-name: slide-right +} + +.animation-shake { + animation-name: shake +} + +.animation-reverse { + animation-direction: reverse +} + +@keyframes fade { + 0% { + opacity: 0 + } + + 100% { + opacity: 1 + } +} + +@keyframes scale-up { + 0% { + opacity: 0; + transform: scale(.2) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes scale-down { + 0% { + opacity: 0; + transform: scale(1.8) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} + +@keyframes slide-top { + 0% { + opacity: 0; + transform: translateY(-100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes slide-bottom { + 0% { + opacity: 0; + transform: translateY(100%) + } + + 100% { + opacity: 1; + transform: translateY(0) + } +} + +@keyframes shake { + + 0%, + 100% { + transform: translateX(0) + } + + 10% { + transform: translateX(-9px) + } + + 20% { + transform: translateX(8px) + } + + 30% { + transform: translateX(-7px) + } + + 40% { + transform: translateX(6px) + } + + 50% { + transform: translateX(-5px) + } + + 60% { + transform: translateX(4px) + } + + 70% { + transform: translateX(-3px) + } + + 80% { + transform: translateX(2px) + } + + 90% { + transform: translateX(-1px) + } +} + +@keyframes slide-left { + 0% { + opacity: 0; + transform: translateX(-100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} + +@keyframes slide-right { + 0% { + opacity: 0; + transform: translateX(100%) + } + + 100% { + opacity: 1; + transform: translateX(0) + } +} diff --git a/src/styles/flex.wxss b/src/styles/flex.wxss new file mode 100644 index 0000000..432d120 --- /dev/null +++ b/src/styles/flex.wxss @@ -0,0 +1,179 @@ +.relative { + position: relative; +} + +.absolute { + position: absolute; +} + +.fixed { + position: fixed; +} + +.fixed-bottom { + left: 0; + right: 0; + bottom: 0; + position: fixed; +} + +.inline-block { + display: inline-block; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.autowrap { + word-wrap: break-word; + word-break: normal; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.over-hidden { + overflow: hidden !important; +} + +.scroll-y { + overflow-y: auto; +} + +/* 小曲的样式 */ +.min100 { + min-height: 100vh; +} + +.w100 { + width: 100%; +} + +.h100 { + height: 100%; +} + +.line-1 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* 两行超出显示省略号 */ +.line-2 { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.flex { + justify-content: space-between; + display: flex; + align-items: center; +} + +.flex_l { + justify-content: flex-start; + display: flex; + align-items: center; +} + +.flex_r { + justify-content: flex-end; + display: flex; + align-items: center; +} + +.center { + display: flex; + align-items: center; + justify-content: center; +} + +.flex1 { + display: flex; +} + +.flex-inline { + display: inline-flex; +} + +.flex::before, .flex::after, .flex-inline::before, .flex-inline::after { + display: none; +} + +.flex-left { + justify-content: flex-start; +} + +.flex-center { + justify-content: center; +} + +.flex-right { + justify-content: flex-end; +} + +.flex-between { + justify-content: space-between; +} + +.flex-around { + justify-content: space-around; +} + +.flex-stretch { + align-items: stretch; +} + +.flex-top { + align-items: flex-start; +} + +.flex-middle { + align-items: center; +} + +.flex-bottom { + align-items: flex-end; +} + +.flex-row { + flex-direction: row; +} + +.flex-row-reverse { + flex-direction: row-reverse; +} + +.flex-column { + flex-direction: column; +} + +.flex-column-reverse { + flex-direction: column-reverse; +} + +.flex-nowrap { + flex-wrap: nowrap; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse; +} diff --git a/src/styles/index.less b/src/styles/index.less new file mode 100644 index 0000000..fdfeb85 --- /dev/null +++ b/src/styles/index.less @@ -0,0 +1,68 @@ +@import url(./theme.less); +@import url(./reset.less); +@import url(./flex.wxss); +@import url(./animation.wxss); +@import url(./main.wxss); + +@colors: black, white, gray-1, gray-2, gray-3, gray-4, red, blue, yellow; +each(@colors, { + .@{value} { + color: @@value; + } +}); +each(@colors, { + .bg-@{value} { + background-color: @@value; + } +}); +each(range(10, 100, 2), { + .size-@{value} { + font-size: @value*1rpx; + } +}) + +each(range(5, 30, 5), { + .radius-@{value} { + border-radius: @value*1rpx; + } +}) + +each(range(100), { + .pd-@{value}, .ptb-@{value}, .pt-@{value} { + padding-top: @value*1rpx; + } + .pd-@{value}, .ptb-@{value}, .pb-@{value} { + padding-bottom: @value*1rpx; + } + .pd-@{value}, .plr-@{value}, .pl-@{value} { + padding-left: @value*1rpx; + } + .pd-@{value}, .plr-@{value}, .pr-@{value} { + padding-right: @value*1rpx; + } + .mg-@{value}, .mtb-@{value}, .mt-@{value} { + margin-top: @value*1rpx; + } + .mg-@{value}, .mtb-@{value}, .mb-@{value} { + margin-bottom: @value*1rpx; + } + .mg-@{value}, .mlr-@{value}, .ml-@{value} { + margin-left: @value*1rpx; + } + .mg-@{value}, .mlr-@{value}, .mr-@{value} { + margin-right: @value*1rpx; + } +}) + +each(range(12), { + .flex-@{value} { + flex: @value; + } +}); +.bg { + background-color: @gray-5; +} + +.bold { + font-weight: 600; +} diff --git a/src/styles/main.wxss b/src/styles/main.wxss new file mode 100644 index 0000000..e4dd00d --- /dev/null +++ b/src/styles/main.wxss @@ -0,0 +1,3990 @@ +/* + ColorUi for MP-weixin v2.1.4 | by Mamba 2022年11月21日12:15:42 + 仅供学习交流,如作它用所承受的法律责任一概与作者无关 + 使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 + +*/ + +/* ================== + 初始化 + ==================== */ +page { + /* Color 可以自定义相关配色 */ + /* var属性兼容性 --> https://www.caniuse.com/#feat=css-variables */ + /* 标准色 */ + --red: #e54d42; + --orange: #f37b1d; + --yellow: #fbbd08; + --olive: #8dc63f; + --green: #39b54a; + --cyan: #1cbbb4; + --blue: #0081ff; + --purple: #6739b6; + --mauve: #9c26b0; + --pink: #e03997; + --brown: #a5673f; + --grey: #8799a3; + --black: #333333; + --darkGray: #666666; + --gray: #aaaaaa; + --ghostWhite: #f1f1f1; + --white: #ffffff; + /* 自定义 */ + --yel:#FEA035; + --mainColor: #F33B6C; + /* 浅色 */ + --redLight: #fadbd9; + --orangeLight: #fde6d2; + --yellowLight: #fef2ce; + --oliveLight: #e8f4d9; + --greenLight: #d7f0db; + --cyanLight: #d2f1f0; + --blueLight: #cce6ff; + --purpleLight: #e1d7f0; + --mauveLight: #ebd4ef; + --pinkLight: #f9d7ea; + --brownLight: #ede1d9; + --greyLight: #e7ebed; + /* 渐变色 */ + --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c); + --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24); + --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f); + --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff); + --gradualPink: linear-gradient(45deg, #ec008c, #6739b6); + --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4); + /* 阴影透明色 */ + --ShadowSize: 6rpx 6rpx 8rpx; + --redShadow: rgba(204, 69, 59, 0.2); + --orangeShadow: rgba(217, 109, 26, 0.2); + --yellowShadow: rgba(224, 170, 7, 0.2); + --oliveShadow: rgba(124, 173, 55, 0.2); + --greenShadow: rgba(48, 156, 63, 0.2); + --cyanShadow: rgba(28, 187, 180, 0.2); + --blueShadow: rgba(0, 102, 204, 0.2); + --purpleShadow: rgba(88, 48, 156, 0.2); + --mauveShadow: rgba(133, 33, 150, 0.2); + --pinkShadow: rgba(199, 50, 134, 0.2); + --brownShadow: rgba(140, 88, 53, 0.2); + --greyShadow: rgba(114, 130, 138, 0.2); + --grayShadow: rgba(114, 130, 138, 0.2); + --blackShadow: rgba(26, 26, 26, 0.2); + + background-color: var(--ghostWhite); + font-size: 28rpx; + color: var(--black); + font-family: Helvetica Neue, Helvetica, sans-serif; +} + +view, +scroll-view, +swiper, +button, +input, +textarea, +label, +navigator, +image { + box-sizing: border-box; +} + +.round { + border-radius: 5000rpx; +} + +.radius { + border-radius: 6rpx; +} + +/* ================== + 图片 + ==================== */ + +image { + /* max-width: 100%; */ + display: inline-block; + position: relative; + z-index: 0; +} + +image.loading::before { + content: ""; + background-color: #f5f5f5; + display: block; + position: absolute; + width: 100%; + height: 100%; + z-index: -2; +} + +image.loading::after { + content: "\e7f1"; + font-family: "cuIcon"; + position: absolute; + top: 0; + left: 0; + width: 32rpx; + height: 32rpx; + line-height: 32rpx; + right: 0; + bottom: 0; + z-index: -1; + font-size: 32rpx; + margin: auto; + color: #ccc; + -webkit-animation: cuIcon-spin 2s infinite linear; + animation: cuIcon-spin 2s infinite linear; + display: block; +} + +.response { + width: 100%; +} + +/* ================== + 开关 + ==================== */ + +switch, +checkbox, +radio { + position: relative; +} + +switch::after, +switch::before { + font-family: "cuIcon"; + content: "\e645"; + position: absolute; + color: var(--white) !important; + top: 0%; + left: 0rpx; + font-size: 26rpx; + line-height: 26px; + width: 50%; + text-align: center; + pointer-events: none; + transform: scale(0, 0); + transition: all 0.3s ease-in-out 0s; + z-index: 9; + bottom: 0; + height: 26px; + margin: auto; +} + +switch::before { + content: "\e646"; + right: 0; + transform: scale(1, 1); + left: auto; +} + +switch[checked]::after, +switch.checked::after { + transform: scale(1, 1); +} + +switch[checked]::before, +switch.checked::before { + transform: scale(0, 0); +} + +switch[checked]::before { + transform: scale(0, 0); +} + +radio::before, +checkbox::before { + /*font-family: "cuIcon";*/ + content: "\e645"; + position: absolute; + color: var(--white) !important; + top: 50%; + margin-top: -8px; + right: 5px; + font-size: 32rpx; + line-height: 16px; + pointer-events: none; + transform: scale(1, 1); + transition: all 0.3s ease-in-out 0s; + z-index: 9; +} + +radio .wx-radio-input, +checkbox .wx-checkbox-input { + margin: 0; + width: 24px; + height: 24px; +} + +checkbox.round .wx-checkbox-input { + border-radius: 100rpx; +} + +switch .wx-switch-input { + border: none; + padding: 0 24px; + width: 48px; + height: 26px; + margin: 0; + border-radius: 100rpx; +} + +switch .wx-switch-input:not([class*="bg-"]) { + background: var(--grey) !important; +} + +switch .wx-switch-input::after { + margin: auto; + width: 26px; + height: 26px; + border-radius: 100rpx; + left: 0rpx; + top: 0rpx; + bottom: 0rpx; + position: absolute; + transform: scale(0.9, 0.9); + transition: all 0.1s ease-in-out 0s; +} + +switch .wx-switch-input.wx-switch-input-checked::after { + margin: auto; + left: 22px; + box-shadow: none; + transform: scale(0.9, 0.9); +} + +radio-group { + display: inline-block; +} + + + +switch.radius .wx-switch-input::after, +switch.radius .wx-switch-input, +switch.radius .wx-switch-input::before { + border-radius: 10rpx; +} + +switch .wx-switch-input::before, +radio.radio::before, +checkbox .wx-checkbox-input::before, +radio .wx-radio-input::before, +radio.radio::before { + display: none; +} + +radio.radio[checked]::after { + content: ""; + background-color: transparent; + display: block; + position: absolute; + width: 8px; + height: 8px; + z-index: 999; + top: 0rpx; + left: 0rpx; + right: 0; + bottom: 0; + margin: auto; + border-radius: 200rpx; + border: 8px solid var(--white) !important; +} + +.switch-sex::after { + content: "\e71c"; +} + +.switch-sex::before { + content: "\e71a"; +} + +.switch-sex .wx-switch-input { + background: var(--red) !important; + border-color: var(--red) !important; +} + +.switch-sex[checked] .wx-switch-input { + background: var(--blue) !important; + border-color: var(--blue) !important; +} + +switch.red[checked] .wx-switch-input, +checkbox.red[checked] .wx-checkbox-input, +radio.red[checked] .wx-radio-input { + border-color: var(--red) !important; +} + +switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + border-color: var(--orange) !important; +} + +switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + border-color: var(--yellow) !important; +} + +switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, +radio.olive[checked] .wx-radio-input { + border-color: var(--olive) !important; +} + +switch.green[checked] .wx-switch-input, +checkbox.green[checked] .wx-checkbox-input, +checkbox[checked] .wx-checkbox-input, +radio.green[checked] .wx-radio-input { + border-color: var(--green) !important; +} + +switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, +radio.cyan[checked] .wx-radio-input { + border-color: var(--cyan) !important; +} + +switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, +radio.blue[checked] .wx-radio-input { + border-color: var(--blue) !important; +} + +switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + border-color: var(--purple) !important; +} + +switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, +radio.mauve[checked] .wx-radio-input { + border-color: var(--mauve) !important; +} + +switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, +radio.pink[checked] .wx-radio-input { + border-color: var(--pink) !important; +} + +switch.mainColor[checked] .wx-switch-input, +checkbox.mainColor[checked] .wx-checkbox-input, +radio.mainColor[checked] .wx-radio-input { + border-color: var(--mainColor) !important; +} + +switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, +radio.brown[checked] .wx-radio-input { + border-color: var(--brown) !important; +} + +switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, +radio.grey[checked] .wx-radio-input { + border-color: var(--grey) !important; +} + +switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, +radio.gray[checked] .wx-radio-input { + border-color: var(--grey) !important; +} + +switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, +radio.black[checked] .wx-radio-input { + border-color: var(--black) !important; +} + +switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, +radio.white[checked] .wx-radio-input { + border-color: var(--white) !important; +} + +switch.red[checked] .wx-switch-input.wx-switch-input-checked, +checkbox.red[checked] .wx-checkbox-input, +radio.red[checked] .wx-radio-input { + background-color: var(--red) !important; + color: var(--white) !important; +} + +switch.orange[checked] .wx-switch-input, +checkbox.orange[checked] .wx-checkbox-input, +radio.orange[checked] .wx-radio-input { + background-color: var(--orange) !important; + color: var(--white) !important; +} + +switch.yellow[checked] .wx-switch-input, +checkbox.yellow[checked] .wx-checkbox-input, +radio.yellow[checked] .wx-radio-input { + background-color: var(--yellow) !important; + color: var(--black) !important; +} + +switch.olive[checked] .wx-switch-input, +checkbox.olive[checked] .wx-checkbox-input, +radio.olive[checked] .wx-radio-input { + background-color: var(--olive) !important; + color: var(--white) !important; +} + +switch.green[checked] .wx-switch-input, +switch[checked] .wx-switch-input, +checkbox.green[checked] .wx-checkbox-input, +checkbox[checked] .wx-checkbox-input, +radio.green[checked] .wx-radio-input, +radio[checked] .wx-radio-input { + background-color: var(--green) !important; + color: var(--white) !important; +} + +switch.cyan[checked] .wx-switch-input, +checkbox.cyan[checked] .wx-checkbox-input, +radio.cyan[checked] .wx-radio-input { + background-color: var(--cyan) !important; + color: var(--white) !important; +} + +switch.blue[checked] .wx-switch-input, +checkbox.blue[checked] .wx-checkbox-input, +radio.blue[checked] .wx-radio-input { + background-color: var(--blue) !important; + color: var(--white) !important; +} + +switch.purple[checked] .wx-switch-input, +checkbox.purple[checked] .wx-checkbox-input, +radio.purple[checked] .wx-radio-input { + background-color: var(--purple) !important; + color: var(--white) !important; +} + +switch.mauve[checked] .wx-switch-input, +checkbox.mauve[checked] .wx-checkbox-input, +radio.mauve[checked] .wx-radio-input { + background-color: var(--mauve) !important; + color: var(--white) !important; +} + +switch.pink[checked] .wx-switch-input, +checkbox.pink[checked] .wx-checkbox-input, +radio.pink[checked] .wx-radio-input { + background-color: var(--pink) !important; + color: var(--white) !important; +} + +switch.mainColor[checked] .wx-switch-input, +checkbox.mainColor[checked] .wx-checkbox-input, +radio.mainColor[checked] .wx-radio-input { + background-color: var(--mainColor) !important; + color: var(--white) !important; +} + +switch.brown[checked] .wx-switch-input, +checkbox.brown[checked] .wx-checkbox-input, +radio.brown[checked] .wx-radio-input { + background-color: var(--brown) !important; + color: var(--white) !important; +} + +switch.grey[checked] .wx-switch-input, +checkbox.grey[checked] .wx-checkbox-input, +radio.grey[checked] .wx-radio-input { + background-color: var(--grey) !important; + color: var(--white) !important; +} + +switch.gray[checked] .wx-switch-input, +checkbox.gray[checked] .wx-checkbox-input, +radio.gray[checked] .wx-radio-input { + background-color: #f0f0f0 !important; + color: var(--black) !important; +} + +switch.black[checked] .wx-switch-input, +checkbox.black[checked] .wx-checkbox-input, +radio.black[checked] .wx-radio-input { + background-color: var(--black) !important; + color: var(--white) !important; +} + +switch.white[checked] .wx-switch-input, +checkbox.white[checked] .wx-checkbox-input, +radio.white[checked] .wx-radio-input { + background-color: var(--white) !important; + color: var(--black) !important; +} + +/* ================== + 边框 + ==================== */ + +/* -- 实线 -- */ + +.solid, +.solid-top, +.solid-right, +.solid-bottom, +.solid-left, +.solids, +.solids-top, +.solids-right, +.solids-bottom, +.solids-left, +.dashed, +.dashed-top, +.dashed-right, +.dashed-bottom, +.dashed-left { + position: relative; +} + +.solid::after, +.solid-top::after, +.solid-right::after, +.solid-bottom::after, +.solid-left::after, +.solids::after, +.solids-top::after, +.solids-right::after, +.solids-bottom::after, +.solids-left::after, +.dashed::after, +.dashed-top::after, +.dashed-right::after, +.dashed-bottom::after, +.dashed-left::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border-radius: inherit; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + +} + +.solid::after { + border: 1rpx solid rgba(0, 0, 0, 0.1); +} + +.solid-top::after { + border-top: 1rpx solid rgba(0, 0, 0, 0.1); +} + +.solid-right::after { + border-right: 1rpx solid rgba(0, 0, 0, 0.1); +} + +.solid-bottom::after { + border-bottom: 1rpx solid rgba(0, 0, 0, 0.1); +} + +.solid-left::after { + border-left: 1rpx solid rgba(0, 0, 0, 0.1); +} + +.solids::after { + border: 8rpx solid #eee; +} + +.solids-top::after { + border-top: 8rpx solid #eee; +} + +.solids-right::after { + border-right: 8rpx solid #eee; +} + +.solids-bottom::after { + border-bottom: 8rpx solid #eee; +} + +.solids-left::after { + border-left: 8rpx solid #eee; +} + +/* -- 虚线 -- */ + +.dashed::after { + border: 1rpx dashed #ddd; +} + +.dashed-top::after { + border-top: 1rpx dashed #ddd; +} + +.dashed-right::after { + border-right: 1rpx dashed #ddd; +} + +.dashed-bottom::after { + border-bottom: 1rpx dashed #ddd; +} + +.dashed-left::after { + border-left: 1rpx dashed #ddd; +} + +/* -- 阴影 -- */ + +.shadow[class*='white'] { + --ShadowSize: 0 1rpx 6rpx; +} + +.shadow-lg { + --ShadowSize: 0rpx 40rpx 100rpx 0rpx; +} + +.shadow-warp { + position: relative; + box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1); +} + +.shadow-warp:before, +.shadow-warp:after { + position: absolute; + content: ""; + top: 20rpx; + bottom: 30rpx; + left: 20rpx; + width: 50%; + box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2); + transform: rotate(-3deg); + z-index: -1; +} + +.shadow-warp:after { + right: 20rpx; + left: auto; + transform: rotate(3deg); +} + +.shadow-blur { + position: relative; +} + +.shadow-blur::before { + content: ""; + display: block; + background: inherit; + filter: blur(10rpx); + position: absolute; + width: 100%; + height: 100%; + top: 10rpx; + left: 10rpx; + z-index: -1; + opacity: 0.4; + transform-origin: 0 0; + border-radius: inherit; + transform: scale(1, 1); +} + +/* ================== + 按钮 + ==================== */ + +.cu-btn { + position: relative; + border: 0rpx; + display: inline-flex; + align-items: center; + justify-content: center; + + padding: 0 30rpx; + font-size: 28rpx; + height: 64rpx; + line-height: 1; + text-align: center; + text-decoration: none; + overflow: visible; + margin-left: initial; + transform: translate(0rpx, 0rpx); + margin-right: initial; +} + +.cu-btn::after { + display: none; +} + +.cu-btn:not([class*="bg-"]) { + background-color: #f0f0f0; +} + +.cu-btn[class*="line"] { + background-color: transparent; +} + +.cu-btn[class*="line"]::after { + content: " "; + display: block; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border: 1rpx solid currentColor; + transform: scale(0.5); + transform-origin: 0 0; + + border-radius: 12rpx; + z-index: 1; + pointer-events: none; +} + +.cu-btn.round[class*="line"]::after { + border-radius: 1000rpx; +} + +.cu-btn[class*="lines"]::after { + border: 6rpx solid currentColor; +} + +.cu-btn[class*="bg-"]::after { + display: none; +} + +.cu-btn.sm { + padding: 0 20rpx; + font-size: 20rpx; + height: 48rpx; +} + +.cu-btn.lg { + padding: 0 40rpx; + font-size: 32rpx; + height: 80rpx; +} + +.cu-btn.icon.sm { + width: 48rpx; + height: 48rpx; +} + +.cu-btn.icon { + width: 64rpx; + height: 64rpx; + border-radius: 500rpx; + padding: 0; +} + +button.icon.lg { + width: 80rpx; + height: 80rpx; +} + +.cu-btn.shadow-blur::before { + top: 4rpx; + left: 4rpx; + filter: blur(6rpx); + opacity: 0.6; +} + +.cu-btn.button-hover { + transform: translate(1rpx, 1rpx); +} + +.block { + display: block; +} + +.cu-btn.block { + display: flex; +} + +.cu-btn[disabled] { + opacity: 0.6; + color: var(--white); +} + +/* ================== + 徽章 + ==================== */ + +.cu-tag { + font-size: 24rpx; + vertical-align: middle; + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + + padding: 0rpx 16rpx; + height: 48rpx; + font-family: Helvetica Neue, Helvetica, sans-serif; + white-space: nowrap; +} + +.cu-tag:not([class*="bg"]):not([class*="line"]) { + background-color: var(--ghostWhite); +} + +.cu-tag[class*="line-"]::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border: 1rpx solid currentColor; + transform: scale(0.5); + transform-origin: 0 0; + + border-radius: inherit; + z-index: 1; + pointer-events: none; +} + +.cu-tag.radius[class*="line"]::after { + border-radius: 12rpx; +} + +.cu-tag.round[class*="line"]::after { + border-radius: 1000rpx; +} + +.cu-tag[class*="line-"]::after { + border-radius: 0; +} + +.cu-tag+.cu-tag { + margin-left: 10rpx; +} + +.cu-tag.sm { + font-size: 20rpx; + padding: 0rpx 12rpx; + height: 32rpx; +} + +.cu-capsule { + display: inline-flex; + vertical-align: middle; +} + +.cu-capsule+.cu-capsule { + margin-left: 10rpx; +} + +.cu-capsule .cu-tag { + margin: 0; +} + +.cu-capsule .cu-tag[class*="line-"]:last-child::after { + border-left: 0rpx solid transparent; +} + +.cu-capsule .cu-tag[class*="line-"]:first-child::after { + border-right: 0rpx solid transparent; +} + +.cu-capsule.radius .cu-tag:first-child { + border-top-left-radius: 6rpx; + border-bottom-left-radius: 6rpx; +} + +.cu-capsule.radius .cu-tag:last-child::after, +.cu-capsule.radius .cu-tag[class*="line-"] { + border-top-right-radius: 12rpx; + border-bottom-right-radius: 12rpx; +} + +.cu-capsule.round .cu-tag:first-child { + border-top-left-radius: 200rpx; + border-bottom-left-radius: 200rpx; + text-indent: 4rpx; +} + +.cu-capsule.round .cu-tag:last-child::after, +.cu-capsule.round .cu-tag:last-child { + border-top-right-radius: 200rpx; + border-bottom-right-radius: 200rpx; + text-indent: -4rpx; +} + +.cu-tag.badge { + border-radius: 200rpx; + position: absolute; + top: -10rpx; + right: -10rpx; + font-size: 20rpx; + padding: 0rpx 10rpx; + height: 28rpx; + color: var(--white); +} + +.cu-tag.badge:not([class*="bg-"]) { + background-color: #dd514c; +} + +.cu-tag:empty:not([class*="cuIcon-"]) { + padding: 0rpx; + width: 16rpx; + height: 16rpx; + top: -4rpx; + right: -4rpx; +} + +.cu-tag[class*="cuIcon-"] { + width: 32rpx; + height: 32rpx; + top: -4rpx; + right: -4rpx; +} + +/* ================== + 头像 + ==================== */ + +.cu-avatar { + font-variant: small-caps; + margin: 0; + padding: 0; + display: inline-flex; + text-align: center; + justify-content: center; + align-items: center; + background-color: #ccc; + color: var(--white); + white-space: nowrap; + position: relative; + width: 64rpx; + height: 64rpx; + background-size: cover; + background-position: center; + vertical-align: middle; + font-size: 1.5em; +} + +.cu-avatar.sm { + width: 48rpx; + height: 48rpx; + font-size: 1em; +} + +.cu-avatar.lg { + width: 96rpx; + height: 96rpx; + font-size: 2em; +} + +.cu-avatar.xl { + width: 128rpx; + height: 128rpx; + font-size: 2.5em; +} + +.cu-avatar .avatar-text { + font-size: 0.4em; +} + +.cu-avatar-group { + direction: rtl; + unicode-bidi: bidi-override; + padding: 0 10rpx 0 40rpx; + display: inline-block; +} + +.cu-avatar-group .cu-avatar { + margin-left: -30rpx; + border: 4rpx solid var(--ghostWhite); + vertical-align: middle; +} + +.cu-avatar-group .cu-avatar.sm { + margin-left: -20rpx; + border: 1rpx solid var(--ghostWhite); +} + +/* ================== + 进度条 + ==================== */ + +.cu-progress { + overflow: hidden; + height: 28rpx; + background-color: #ebeef5; + display: inline-flex; + align-items: center; + width: 100%; +} + +.cu-progress+view, +.cu-progress+text { + line-height: 1; +} + +.cu-progress.xs { + height: 10rpx; +} + +.cu-progress.sm { + height: 20rpx; +} + +.cu-progress view { + width: 0; + height: 100%; + align-items: center; + display: flex; + justify-items: flex-end; + justify-content: space-around; + font-size: 20rpx; + color: var(--white); + transition: width 0.6s ease; +} + +.cu-progress text { + align-items: center; + display: flex; + font-size: 20rpx; + color: var(--black); + text-indent: 10rpx; +} + +.cu-progress.text-progress { + padding-right: 60rpx; +} + +.cu-progress.striped view { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 72rpx 72rpx; +} + +.cu-progress.active view { + animation: progress-stripes 2s linear infinite; +} + +@keyframes progress-stripes { + from { + background-position: 72rpx 0; + } + + to { + background-position: 0 0; + } +} + +/* ================== + 加载 + ==================== */ + +.cu-load { + display: block; + line-height: 3em; + text-align: center; +} + +.cu-load::before { + font-family: "cuIcon"; + display: inline-block; + margin-right: 6rpx; +} + +.cu-load.loading::before { + content: "\e67a"; + animation: cuIcon-spin 2s infinite linear; +} + +.cu-load.loading::after { + content: "加载中..."; +} + +.cu-load.over::before { + content: "\e64a"; +} + +.cu-load.over::after { + content: "没有更多了"; +} + +.cu-load.erro::before { + content: "\e658"; +} + +.cu-load.erro::after { + content: "加载失败"; +} + +.cu-load.load-icon::before { + font-size: 32rpx; +} + +.cu-load.load-icon::after { + display: none; +} + +.cu-load.load-icon.over { + display: none; +} + +.cu-load.load-modal { + position: fixed; + top: 0; + right: 0; + bottom: 140rpx; + left: 0; + margin: auto; + width: 260rpx; + height: 260rpx; + background-color: var(--white); + border-radius: 10rpx; + box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + font-size: 28rpx; + z-index: 9999; + line-height: 2.4em; +} + +.cu-load.load-modal [class*="cuIcon-"] { + font-size: 60rpx; +} + +.cu-load.load-modal image { + width: 70rpx; + height: 70rpx; +} + +.cu-load.load-modal::after { + content: ""; + position: absolute; + background-color: var(--white); + border-radius: 50%; + width: 200rpx; + height: 200rpx; + font-size: 10px; + border-top: 6rpx solid rgba(0, 0, 0, 0.05); + border-right: 6rpx solid rgba(0, 0, 0, 0.05); + border-bottom: 6rpx solid rgba(0, 0, 0, 0.05); + border-left: 6rpx solid var(--orange); + animation: cuIcon-spin 1s infinite linear; + z-index: -1; +} + +.load-progress { + pointer-events: none; + top: 0; + position: fixed; + width: 100%; + left: 0; + z-index: 2000; +} + +.load-progress.hide { + display: none; +} + +.load-progress .load-progress-bar { + position: relative; + width: 100%; + height: 4rpx; + overflow: hidden; + transition: all 200ms ease 0s; +} + +.load-progress .load-progress-spinner { + position: absolute; + top: 10rpx; + right: 10rpx; + z-index: 2000; + display: block; +} + +.load-progress .load-progress-spinner::after { + content: ""; + display: block; + width: 24rpx; + height: 24rpx; + -webkit- + + border: solid 4rpx transparent; + border-top-color: inherit; + border-left-color: inherit; + border-radius: 50%; + -webkit-animation: load-progress-spinner 0.4s linear infinite; + animation: load-progress-spinner 0.4s linear infinite; +} + +@-webkit-keyframes load-progress-spinner { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes load-progress-spinner { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* ================== + 列表 + ==================== */ +.grayscale { + filter: grayscale(1); +} + +.cu-list+.cu-list { + margin-top: 30rpx +} + +.cu-list>.cu-item { + transition: all .6s ease-in-out 0s; + transform: translateX(0rpx) +} + +.cu-list>.cu-item.move-cur { + transform: translateX(-260rpx) +} + +.cu-list>.cu-item .move { + position: absolute; + right: 0; + display: flex; + width: 260rpx; + height: 100%; + transform: translateX(100%) +} + +.cu-list>.cu-item .move view { + display: flex; + flex: 1; + justify-content: center; + align-items: center +} + +.cu-list.menu-avatar { + overflow: hidden; +} + +.cu-list.menu-avatar>.cu-item { + position: relative; + display: flex; + padding-right: 10rpx; + height: 140rpx; + background-color: var(--white); + justify-content: flex-end; + align-items: center +} + +.cu-list.menu-avatar>.cu-item>.cu-avatar { + position: absolute; + left: 30rpx +} + +.cu-list.menu-avatar>.cu-item .flex .text-cut { + max-width: 510rpx +} + +.cu-list.menu-avatar>.cu-item .content { + position: absolute; + left: 146rpx; + width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx); + line-height: 1.6em; +} + +.cu-list.menu-avatar>.cu-item .content.flex-sub { + width: calc(100% - 96rpx - 60rpx - 20rpx); +} + +.cu-list.menu-avatar>.cu-item .content>view:first-child { + font-size: 30rpx; + display: flex; + align-items: center +} + +.cu-list.menu-avatar>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx +} + +.cu-list.menu-avatar>.cu-item .action { + width: 100rpx; + text-align: center +} + +.cu-list.menu-avatar>.cu-item .action view+view { + margin-top: 10rpx +} + +.cu-list.menu-avatar.comment>.cu-item .content { + position: relative; + left: 0; + width: auto; + flex: 1; +} + +.cu-list.menu-avatar.comment>.cu-item { + padding: 30rpx 30rpx 30rpx 120rpx; + height: auto +} + +.cu-list.menu-avatar.comment .cu-avatar { + align-self: flex-start +} + +.cu-list.menu>.cu-item { + position: relative; + display: flex; + padding: 0 30rpx; + min-height: 100rpx; + background-color: var(--white); + justify-content: space-between; + align-items: center +} + +.cu-list.menu>.cu-item:last-child:after { + border: none +} + +.cu-list.menu>.cu-item:after { + position: absolute; + top: 0; + left: 0; + + width: 200%; + height: 200%; + border-bottom: 1rpx solid #ddd; + border-radius: inherit; + content: " "; + transform: scale(.5); + transform-origin: 0 0; + pointer-events: none +} + +.cu-list.menu>.cu-item.grayscale { + background-color: #f5f5f5 +} + +.cu-list.menu>.cu-item.cur { + background-color: #fcf7e9 +} + +.cu-list.menu>.cu-item.arrow { + padding-right: 90rpx +} + +.cu-list.menu>.cu-item.arrow:before { + position: absolute; + top: 0; + right: 30rpx; + bottom: 0; + display: block; + margin: auto; + width: 30rpx; + height: 30rpx; + color: var(--grey); + content: "\e6a3"; + text-align: center; + font-size: 34rpx; + font-family: "cuIcon"; + line-height: 30rpx +} + +.cu-list.menu>.cu-item button.content { + padding: 0; + background-color: transparent; + justify-content: flex-start +} + +.cu-list.menu>.cu-item button.content:after { + display: none +} + +.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar { + border-color: var(--white) +} + +.cu-list.menu>.cu-item .content>view:first-child { + display: flex; + align-items: center +} + +.cu-list.menu>.cu-item .content>text[class*=cuIcon] { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + text-align: center +} + +.cu-list.menu>.cu-item .content>image { + display: inline-block; + margin-right: 10rpx; + width: 1.6em; + height: 1.6em; + vertical-align: middle +} + +.cu-list.menu>.cu-item .content { + font-size: 30rpx; + line-height: 1.6em; + flex: 1 +} + +.cu-list.menu>.cu-item .content .cu-tag.sm { + display: inline-block; + margin-left: 10rpx; + height: 28rpx; + font-size: 16rpx; + line-height: 32rpx +} + +.cu-list.menu>.cu-item .action .cu-tag:empty { + right: 10rpx +} + +.cu-list.menu { + display: block; + overflow: hidden +} + +.cu-list.menu.sm-border>.cu-item:after { + left: 30rpx; + width: calc(200% - 120rpx) +} + +.cu-list.grid>.cu-item { + position: relative; + display: flex; + padding: 20rpx 0 30rpx; + transition-duration: 0s; + flex-direction: column +} + +.cu-list.grid>.cu-item:after { + position: absolute; + top: 0; + left: 0; + + width: 200%; + height: 200%; + border-right: 1px solid rgba(0, 0, 0, .1); + border-bottom: 1px solid rgba(0, 0, 0, .1); + border-radius: inherit; + content: " "; + transform: scale(.5); + transform-origin: 0 0; + pointer-events: none +} + +.cu-list.grid>.cu-item text { + display: block; + margin-top: 10rpx; + color: #888; + font-size: 26rpx; + line-height: 40rpx +} + +.cu-list.grid>.cu-item [class*=cuIcon] { + position: relative; + display: block; + margin-top: 20rpx; + width: 100%; + font-size: 48rpx +} + +.cu-list.grid>.cu-item .cu-tag { + right: auto; + left: 50%; + margin-left: 20rpx +} + +.cu-list.grid { + background-color: var(--white); + text-align: center +} + +.cu-list.grid.no-border>.cu-item { + padding-top: 10rpx; + padding-bottom: 20rpx +} + +.cu-list.grid.no-border>.cu-item:after { + border: none +} + +.cu-list.grid.no-border { + padding: 20rpx 10rpx +} + +.cu-list.grid.col-3>.cu-item:nth-child(3n):after, +.cu-list.grid.col-4>.cu-item:nth-child(4n):after, +.cu-list.grid.col-5>.cu-item:nth-child(5n):after { + border-right-width: 0 +} + +.cu-list.card-menu { + overflow: hidden; + margin-right: 30rpx; + margin-left: 30rpx; + border-radius: 20rpx +} + + +/* ================== + 操作条 + ==================== */ + +.cu-bar { + display: flex; + position: relative; + align-items: center; + min-height: 100rpx; + justify-content: space-between; +} + +.cu-bar .action { + display: flex; + align-items: center; + height: 100%; + justify-content: center; + max-width: 100%; +} + +.cu-bar .action.border-title { + position: relative; + top: -10rpx; +} + +.cu-bar .action.border-title text[class*="bg-"]:last-child { + position: absolute; + bottom: -0.5rem; + min-width: 2rem; + height: 6rpx; + left: 0; +} + +.cu-bar .action.sub-title { + position: relative; + top: -0.2rem; +} + +.cu-bar .action.sub-title text { + position: relative; + z-index: 1; +} + +.cu-bar .action.sub-title text[class*="bg-"]:last-child { + position: absolute; + display: inline-block; + bottom: -0.2rem; + border-radius: 6rpx; + width: 100%; + height: 0.6rem; + left: 0.6rem; + opacity: 0.3; + z-index: 0; +} + +.cu-bar .action.sub-title text[class*="text-"]:last-child { + position: absolute; + display: inline-block; + bottom: -0.7rem; + left: 0.5rem; + opacity: 0.2; + z-index: 0; + text-align: right; + font-weight: 900; + font-size: 36rpx; +} + +.cu-bar.justify-center .action.border-title text:last-child, +.cu-bar.justify-center .action.sub-title text:last-child { + left: 0; + right: 0; + margin: auto; + text-align: center; +} + +.cu-bar .action:first-child { + margin-left: 30rpx; + font-size: 30rpx; +} + +.cu-bar .action text.text-cut { + text-align: left; + width: 100%; +} + +.cu-bar .cu-avatar:first-child { + margin-left: 20rpx; +} + +.cu-bar .action:first-child>text[class*="cuIcon-"] { + margin-left: -0.3em; + margin-right: 0.3em; +} + +.cu-bar .action:last-child { + margin-right: 30rpx; +} + +.cu-bar .action>text[class*="cuIcon-"], +.cu-bar .action>view[class*="cuIcon-"] { + font-size: 36rpx; +} + +.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] { + margin-left: 0.5em; +} + +.cu-bar .content { + position: absolute; + text-align: center; + width: calc(100% - 340rpx); + left: 0; + right: 0; + bottom: 0; + top: 0; + margin: auto; + height: 60rpx; + font-size: 32rpx; + line-height: 60rpx; + cursor: none; + pointer-events: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.cu-bar.ios .content { + bottom: 7px; + height: 30px; + font-size: 32rpx; + line-height: 30px; +} + +.cu-bar.btn-group { + justify-content: space-around; +} + +.cu-bar.btn-group button { + padding: 20rpx 32rpx; +} + +.cu-bar.btn-group button { + flex: 1; + margin: 0 20rpx; + max-width: 50%; +} + +.cu-bar .search-form { + background-color: #f5f5f5; + line-height: 64rpx; + height: 64rpx; + font-size: 24rpx; + color: var(--black); + flex: 1; + display: flex; + align-items: center; + margin: 0 30rpx; +} + +.cu-bar .search-form+.action { + margin-right: 30rpx; +} + +.cu-bar .search-form input { + flex: 1; + padding-right: 30rpx; + height: 64rpx; + line-height: 64rpx; + font-size: 26rpx; + background-color: transparent; +} + +.cu-bar .search-form [class*="cuIcon-"] { + margin: 0 0.5em 0 0.8em; +} + +.cu-bar .search-form [class*="cuIcon-"]::before { + top: 0rpx; +} + +.cu-bar.fixed, +.nav.fixed { + position: fixed; + width: 100%; + top: 0; + z-index: 1024; + box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +.cu-bar.foot { + position: fixed; + width: 100%; + bottom: 0; + z-index: 1024; + box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +.cu-bar.tabbar { + padding: 0; + height: calc(100rpx + env(safe-area-inset-bottom) / 2); + padding-bottom: calc(env(safe-area-inset-bottom) / 2); +} + +.cu-tabbar-height { + min-height: 100rpx; + height: calc(100rpx + env(safe-area-inset-bottom) / 2); +} + +.cu-bar.tabbar.shadow { + box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1); +} + +.cu-bar.tabbar .action { + font-size: 22rpx; + position: relative; + flex: 1; + text-align: center; + padding: 0; + display: block; + height: auto; + line-height: 1; + margin: 0; + overflow: initial; +} + +.cu-bar.tabbar.shop .action { + width: 140rpx; + flex: initial; +} + +.cu-bar.tabbar .action.add-action { + position: relative; + z-index: 2; + padding-top: 50rpx; + background-color: inherit; +} + +.cu-bar.tabbar .action.add-action [class*="cuIcon-"] { + position: absolute; + width: 70rpx; + z-index: 2; + height: 70rpx; + border-radius: 50%; + line-height: 70rpx; + font-size: 50rpx; + top: -35rpx; + left: 0; + right: 0; + margin: auto; + padding: 0; +} + +.cu-bar.tabbar .action.add-action::after { + content: ""; + position: absolute; + width: 100rpx; + height: 100rpx; + top: -50rpx; + left: 0; + right: 0; + margin: auto; + box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08); + border-radius: 50rpx; + background-color: inherit; + z-index: 0; +} + +.cu-bar.tabbar .action.add-action::before { + content: ""; + position: absolute; + width: 100rpx; + height: 30rpx; + bottom: 30rpx; + left: 0; + right: 0; + margin: auto; + background-color: inherit; + z-index: 1; +} + +.cu-bar.tabbar .btn-group { + flex: 1; + display: flex; + justify-content: space-around; + align-items: center; + padding: 0 10rpx; +} + +.cu-bar.tabbar button.action::after { + border: 0; +} + +.cu-bar.tabbar .action [class*="cuIcon-"] { + width: 100rpx; + position: relative; + display: block; + height: auto; + margin: 0 auto 10rpx; + text-align: center; + font-size: 40rpx; +} + +.cu-bar.tabbar .action .cuIcon-cu-image { + margin: 0 auto; +} + +.cu-bar.tabbar .action .cuIcon-cu-image image { + width: 50rpx; + height: 50rpx; + display: inline-block; +} + +.cu-bar.tabbar .submit { + align-items: center; + display: flex; + justify-content: center; + text-align: center; + position: relative; + flex: 2; + align-self: stretch; +} + +.cu-bar.tabbar .submit:last-child { + flex: 2.6; +} + +.cu-bar.tabbar .submit+.submit { + flex: 2; +} + +.cu-bar.tabbar.border .action::before { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + transform: scale(0.5); + transform-origin: 0 0; + border-right: 1rpx solid rgba(0, 0, 0, 0.1); + z-index: 3; +} + +.cu-bar.tabbar.border .action:last-child:before { + display: none; +} + +.cu-bar.input { + padding-right: 20rpx; + background-color: var(--white); +} + +.cu-bar.input input { + overflow: initial; + line-height: 64rpx; + height: 64rpx; + min-height: 64rpx; + flex: 1; + font-size: 30rpx; + margin: 0 20rpx; +} + +.cu-bar.input .action { + margin-left: 20rpx; +} + +.cu-bar.input .action [class*="cuIcon-"] { + font-size: 48rpx; +} + +.cu-bar.input input+.action { + margin-right: 20rpx; + margin-left: 0rpx; +} + +.cu-bar.input .action:first-child [class*="cuIcon-"] { + margin-left: 0rpx; +} + +.cu-custom { + display: block; + position: relative; +} + +.cu-custom .cu-bar .content { + width: calc(100% - 440rpx); +} + + +.cu-custom .cu-bar .content image { + height: 60rpx; + width: 240rpx; +} + +.cu-custom .cu-bar { + min-height: 0px; + padding-right: 220rpx; + box-shadow: 0rpx 0rpx 0rpx; + z-index: 9999; +} + +.cu-custom .cu-bar .border-custom { + position: relative; + background: rgba(0, 0, 0, 0.15); + border-radius: 1000rpx; + height: 30px; +} + +.cu-custom .cu-bar .border-custom::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border-radius: inherit; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + + border: 1rpx solid var(--white); + opacity: 0.5; +} + +.cu-custom .cu-bar .border-custom::before { + content: " "; + width: 1rpx; + height: 110%; + position: absolute; + top: 22.5%; + left: 0; + right: 0; + margin: auto; + transform: scale(0.5); + transform-origin: 0 0; + pointer-events: none; + + opacity: 0.6; + background-color: var(--white); +} + +.cu-custom .cu-bar .border-custom text { + display: block; + flex: 1; + margin: auto !important; + text-align: center; + font-size: 34rpx; +} + +/* ================== + 导航栏 + ==================== */ + +.nav { + white-space: nowrap; +} + +::-webkit-scrollbar { + display: none; +} + +.nav .cu-item { + height: 90rpx; + display: inline-block; + line-height: 90rpx; + margin: 0 10rpx; + padding: 0 20rpx; +} + +.nav .cu-item.cur { + border-bottom: 4rpx solid; +} + +/* ================== + 时间轴 + ==================== */ + +.cu-timeline { + display: block; + background-color: var(--white); +} + +.cu-timeline .cu-time { + width: 120rpx; + text-align: center; + padding: 20rpx 0; + font-size: 26rpx; + color: #888; + display: block; +} + +.cu-timeline>.cu-item { + padding: 30rpx 30rpx 30rpx 120rpx; + position: relative; + display: block; + z-index: 0; +} + +.cu-timeline>.cu-item:not([class*="text-"]) { + color: #ccc; +} + +.cu-timeline>.cu-item::after { + content: ""; + display: block; + position: absolute; + width: 1rpx; + background-color: #ddd; + left: 60rpx; + height: 100%; + top: 0; + z-index: 8; +} + +.cu-timeline>.cu-item::before { + font-family: "cuIcon"; + display: block; + position: absolute; + top: 36rpx; + z-index: 9; + background-color: var(--white); + width: 50rpx; + height: 50rpx; + text-align: center; + border: none; + line-height: 50rpx; + left: 36rpx; +} + +.cu-timeline>.cu-item:not([class*="cuIcon-"])::before { + content: "\e763"; +} + +.cu-timeline>.cu-item[class*="cuIcon-"]::before { + background-color: var(--white); + width: 50rpx; + height: 50rpx; + text-align: center; + border: none; + line-height: 50rpx; + left: 36rpx; +} + +.cu-timeline>.cu-item>.content { + padding: 30rpx; + border-radius: 6rpx; + display: block; + line-height: 1.6; +} + +.cu-timeline>.cu-item>.content:not([class*="bg-"]) { + background-color: var(--ghostWhite); + color: var(--black); +} + +.cu-timeline>.cu-item>.content+.content { + margin-top: 20rpx; +} + +/* ================== + 聊天 + ==================== */ + +.cu-chat { + display: flex; + flex-direction: column; +} + +.cu-chat .cu-item { + display: flex; + padding: 30rpx 30rpx 70rpx; + position: relative; +} + +.cu-chat .cu-item>.cu-avatar { + width: 80rpx; + height: 80rpx; +} + +.cu-chat .cu-item>.main { + max-width: calc(100% - 260rpx); + margin: 0 40rpx; + display: flex; + align-items: center; +} + +.cu-chat .cu-item>image { + height: 320rpx; +} + +.cu-chat .cu-item>.main .content { + padding: 20rpx; + border-radius: 6rpx; + display: inline-flex; + max-width: 100%; + align-items: center; + font-size: 30rpx; + position: relative; + min-height: 80rpx; + line-height: 40rpx; + text-align: left; +} + +.cu-chat .cu-item>.main .content:not([class*="bg-"]) { + background-color: var(--white); + color: var(--black); +} + +.cu-chat .cu-item .date { + position: absolute; + font-size: 24rpx; + color: var(--grey); + width: calc(100% - 320rpx); + bottom: 20rpx; + left: 160rpx; +} + +.cu-chat .cu-item .action { + padding: 0 30rpx; + display: flex; + align-items: center; +} + +.cu-chat .cu-item>.main .content::after { + content: ""; + top: 27rpx; + transform: rotate(45deg); + position: absolute; + z-index: 100; + display: inline-block; + overflow: hidden; + width: 24rpx; + height: 24rpx; + left: -12rpx; + right: initial; + background-color: inherit; +} + +.cu-chat .cu-item.self>.main .content::after { + left: auto; + right: -12rpx; +} + +.cu-chat .cu-item>.main .content::before { + content: ""; + top: 30rpx; + transform: rotate(45deg); + position: absolute; + z-index: -1; + display: inline-block; + overflow: hidden; + width: 24rpx; + height: 24rpx; + left: -12rpx; + right: initial; + background-color: inherit; + filter: blur(5rpx); + opacity: 0.3; +} + +.cu-chat .cu-item>.main .content:not([class*="bg-"])::before { + background-color: var(--black); + opacity: 0.1; +} + +.cu-chat .cu-item.self>.main .content::before { + left: auto; + right: -12rpx; +} + +.cu-chat .cu-item.self { + justify-content: flex-end; + text-align: right; +} + +.cu-chat .cu-info { + display: inline-block; + margin: 20rpx auto; + font-size: 24rpx; + padding: 8rpx 12rpx; + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6rpx; + color: var(--white); + max-width: 400rpx; + line-height: 1.4; +} + +/* ================== + 卡片 + ==================== */ + +.cu-card { + display: block; + overflow: hidden; +} + +.cu-card>.cu-item { + display: block; + background-color: var(--white); + overflow: hidden; + border-radius: 10rpx; + margin: 30rpx; +} + +.cu-card>.cu-item.shadow-blur { + overflow: initial; +} + +.cu-card.no-card>.cu-item { + margin: 0rpx; + border-radius: 0rpx; +} + +.cu-card .grid.grid-square { + margin-bottom: -20rpx; +} + +.cu-card.case .image { + position: relative; +} + +.cu-card.case .image image { + width: 100%; +} + +.cu-card.case .image .cu-tag { + position: absolute; + right: 0; + top: 0; +} + +.cu-card.case .image .cu-bar { + position: absolute; + bottom: 0; + width: 100%; + background-color: transparent; + padding: 0rpx 30rpx; +} + +.cu-card.case.no-card .image { + margin: 30rpx 30rpx 0; + overflow: hidden; + border-radius: 10rpx; +} + +.cu-card.dynamic { + display: block; +} + +.cu-card.dynamic>.cu-item { + display: block; + background-color: var(--white); + overflow: hidden; +} + +.cu-card.dynamic>.cu-item>.text-content { + padding: 0 30rpx 0; + max-height: 6.4em; + overflow: hidden; + font-size: 30rpx; + margin-bottom: 20rpx; +} + +.cu-card.dynamic>.cu-item .square-img { + width: 100%; + height: 200rpx; + border-radius: 6rpx; +} + +.cu-card.dynamic>.cu-item .only-img { + width: 100%; + height: 320rpx; + border-radius: 6rpx; +} + +.cu-card.article { + display: block; +} + +.cu-card.article>.cu-item { + padding-bottom: 30rpx; +} + +.cu-card.article>.cu-item .title { + font-size: 30rpx; + font-weight: 900; + color: var(--black); + line-height: 100rpx; + padding: 0 30rpx; +} + +.cu-card.article>.cu-item .content { + display: flex; + padding: 0 30rpx; +} + +.cu-card.article>.cu-item .content>image { + width: 240rpx; + height: 6.4em; + margin-right: 20rpx; + border-radius: 6rpx; +} + +.cu-card.article>.cu-item .content .desc { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.cu-card.article>.cu-item .content .text-content { + font-size: 28rpx; + color: #888; + height: 4.8em; + overflow: hidden; +} + +/* ================== + 表单 + ==================== */ + +.cu-form-group { + background-color: var(--white); + padding: 1rpx 30rpx; + display: flex; + align-items: center; + min-height: 100rpx; + justify-content: space-between; +} + +.cu-form-group+.cu-form-group { + border-top: 1rpx solid #eee; +} + +.cu-form-group .title { + text-align: justify; + padding-right: 30rpx; + font-size: 30rpx; + position: relative; + height: 60rpx; + line-height: 60rpx; +} + +.cu-form-group input { + flex: 1; + font-size: 30rpx; + color: #555; + padding-right: 20rpx; +} + +.cu-form-group>text[class*="cuIcon-"] { + font-size: 36rpx; + padding: 0; + box-sizing: border-box; +} + +.cu-form-group textarea { + margin: 32rpx 0 30rpx; + height: 4.6em; + width: 100%; + line-height: 1.2em; + flex: 1; + font-size: 28rpx; + padding: 0; +} + +.cu-form-group.align-start .title { + height: 1em; + margin-top: 32rpx; + line-height: 1em; +} + +.cu-form-group picker { + flex: 1; + padding-right: 40rpx; + overflow: hidden; + position: relative; +} + +.cu-form-group picker .picker { + line-height: 100rpx; + font-size: 28rpx; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 100%; + text-align: right; +} + +.cu-form-group picker::after { + font-family: "cuIcon"; + display: block; + content: "\e6a3"; + position: absolute; + font-size: 34rpx; + color: var(--grey); + line-height: 100rpx; + width: 60rpx; + text-align: center; + top: 0; + bottom: 0; + right: -20rpx; + margin: auto; +} + +.cu-form-group textarea[disabled], +.cu-form-group textarea[disabled] .placeholder { + color: transparent; +} + +/* ================== + 模态窗口 + ==================== */ + +.cu-modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1110; + opacity: 0; + outline: 0; + text-align: center; + -ms-transform: scale(1.185); + transform: scale(1.185); + backface-visibility: hidden; + perspective: 2000rpx; + background: rgba(0, 0, 0, 0.6); + transition: all 0.3s ease-in-out 0s; + pointer-events: none; +} + +.cu-modal::before { + content: "\200B"; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.cu-modal.show { + opacity: 1; + transition-duration: 0.3s; + -ms-transform: scale(1); + transform: scale(1); + overflow-x: hidden; + overflow-y: auto; + pointer-events: auto; +} + +.cu-dialog { + position: relative; + display: inline-block; + vertical-align: middle; + margin-left: auto; + margin-right: auto; + width: 680rpx; + max-width: 100%; + background-color: #f8f8f8; + border-radius: 10rpx; + overflow: hidden; +} + +.cu-modal.bottom-modal::before { + vertical-align: bottom; +} + +.cu-modal.bottom-modal .cu-dialog { + width: 100%; + border-radius: 0; +} + +.cu-modal.bottom-modal { + margin-bottom: -1000rpx; +} + +.cu-modal.bottom-modal.show { + margin-bottom: 0; +} + +.cu-modal.drawer-modal { + transform: scale(1); + display: flex; +} + +.cu-modal.drawer-modal .cu-dialog { + height: 100%; + min-width: 200rpx; + border-radius: 0; + margin: initial; + transition-duration: 0.3s; +} + +.cu-modal.drawer-modal.justify-start .cu-dialog { + transform: translateX(-100%); +} + +.cu-modal.drawer-modal.justify-end .cu-dialog { + transform: translateX(100%); +} + +.cu-modal.drawer-modal.show .cu-dialog { + transform: translateX(0%); +} +.cu-modal .cu-dialog>.cu-bar:first-child .action{ + min-width: 100rpx; + margin-right: 0; + min-height: 100rpx; +} +/* ================== + 轮播 + ==================== */ +swiper .a-swiper-dot { + display: inline-block; + width: 16rpx; + height: 16rpx; + background: rgba(0, 0, 0, .3); + border-radius: 50%; + vertical-align: middle; +} + +swiper[class*="-dot"] .wx-swiper-dots { + display: flex; + align-items: center; + width: 100%; + justify-content: center; +} + +swiper.square-dot .wx-swiper-dot { + background-color: var(--white); + opacity: 0.4; + width: 10rpx; + height: 10rpx; + border-radius: 20rpx; + margin: 0 8rpx !important; +} + +swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active { + opacity: 1; + width: 30rpx; +} + +swiper.round-dot .wx-swiper-dot { + width: 10rpx; + height: 10rpx; + position: relative; + margin: 4rpx 8rpx !important; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after { + content: ""; + position: absolute; + width: 10rpx; + height: 10rpx; + top: 0rpx; + left: 0rpx; + right: 0; + bottom: 0; + margin: auto; + background-color: var(--white); + border-radius: 20rpx; +} + +swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active { + width: 18rpx; + height: 18rpx; +} + +.screen-swiper { + min-height: 375rpx; +} + +.screen-swiper image, +.screen-swiper video, +.swiper-item image, +.swiper-item video { + width: 100%; + display: block; + height: 100%; + margin: 0; + pointer-events: none; +} + +.card-swiper { + height: 420rpx !important; +} + +.card-swiper swiper-item { + width: 610rpx !important; + left: 70rpx; + box-sizing: border-box; + padding: 40rpx 0rpx 70rpx; + overflow: initial; +} + +.card-swiper swiper-item .swiper-item { + width: 100%; + display: block; + height: 100%; + border-radius: 10rpx; + transform: scale(0.9); + transition: all 0.2s ease-in 0s; + overflow: hidden; +} + +.card-swiper swiper-item.cur .swiper-item { + transform: none; + transition: all 0.2s ease-in 0s; +} + + +.tower-swiper { + height: 420rpx; + position: relative; + max-width: 750rpx; + overflow: hidden; +} + +.tower-swiper .tower-item { + position: absolute; + width: 300rpx; + height: 380rpx; + top: 0; + bottom: 0; + left: 50%; + margin: auto; + transition: all 0.2s ease-in 0s; + opacity: 1; +} + +.tower-swiper .tower-item.none { + opacity: 0; +} + +.tower-swiper .tower-item .swiper-item { + width: 100%; + height: 100%; + border-radius: 6rpx; + overflow: hidden; +} + +/* ================== + 步骤条 + ==================== */ + +.cu-steps { + display: flex; +} + +scroll-view.cu-steps { + display: block; + white-space: nowrap; +} + +scroll-view.cu-steps .cu-item { + display: inline-block; +} + +.cu-steps .cu-item { + flex: 1; + text-align: center; + position: relative; + min-width: 100rpx; +} + +.cu-steps .cu-item:not([class*="text-"]) { + color: var(--grey); +} + +.cu-steps .cu-item [class*="cuIcon-"], +.cu-steps .cu-item .num { + display: block; + font-size: 40rpx; + line-height: 80rpx; +} + +.cu-steps .cu-item::before, +.cu-steps .cu-item::after, +.cu-steps.steps-arrow .cu-item::before, +.cu-steps.steps-arrow .cu-item::after { + content: ""; + display: block; + position: absolute; + height: 0px; + width: calc(100% - 80rpx); + border-bottom: 1px solid #ccc; + left: calc(0px - (100% - 80rpx) / 2); + top: 40rpx; + z-index: 0; +} + +.cu-steps.steps-arrow .cu-item::before, +.cu-steps.steps-arrow .cu-item::after { + content: "\e6a3"; + font-family: "cuIcon"; + height: 30rpx; + border-bottom-width: 0px; + line-height: 30rpx; + top: 0; + bottom: 0; + margin: auto; + color: #ccc; +} + +.cu-steps.steps-bottom .cu-item::before, +.cu-steps.steps-bottom .cu-item::after { + bottom: 40rpx; + top: initial; +} + +.cu-steps .cu-item::after { + border-bottom: 1px solid currentColor; + width: 0px; + transition: all 0.3s ease-in-out 0s; +} + +.cu-steps .cu-item[class*="text-"]::after { + width: calc(100% - 80rpx); + color: currentColor; +} + +.cu-steps .cu-item:first-child::before, +.cu-steps .cu-item:first-child::after { + display: none; +} + +.cu-steps .cu-item .num { + width: 40rpx; + height: 40rpx; + border-radius: 50%; + line-height: 40rpx; + margin: 20rpx auto; + font-size: 24rpx; + border: 1px solid currentColor; + position: relative; + overflow: hidden; +} + +.cu-steps .cu-item[class*="text-"] .num { + background-color: currentColor; +} + +.cu-steps .cu-item .num::before, +.cu-steps .cu-item .num::after { + content: attr(data-index); + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + margin: auto; + transition: all 0.3s ease-in-out 0s; + transform: translateY(0rpx); +} + +.cu-steps .cu-item[class*="text-"] .num::before { + transform: translateY(-40rpx); + color: var(--white); +} + +.cu-steps .cu-item .num::after { + transform: translateY(40rpx); + color: var(--white); + transition: all 0.3s ease-in-out 0s; +} + +.cu-steps .cu-item[class*="text-"] .num::after { + content: "\e645"; + font-family: "cuIcon"; + color: var(--white); + transform: translateY(0rpx); +} + +.cu-steps .cu-item[class*="text-"] .num.err::after { + content: "\e646"; +} + +/* ================== + 布局 + ==================== */ + +/* -- flex弹性布局 -- */ + +.flex { + display: flex; +} + +.basis-xs { + flex-basis: 20%; +} + +.basis-sm { + flex-basis: 40%; +} + +.basis-df { + flex-basis: 50%; +} + +.basis-lg { + flex-basis: 60%; +} + +.basis-xl { + flex-basis: 80%; +} + +.flex-sub { + flex: 1; +} + +.flex-twice { + flex: 2; +} + +.flex-treble { + flex: 3; +} + +.flex-direction { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.align-start { + align-items: flex-start; +} + +.align-end { + align-items: flex-end; +} + +.align-center { + align-items: center; +} + +.align-stretch { + align-items: stretch; +} + +.self-start { + align-self: flex-start; +} + +.self-center { + align-self: flex-center; +} + +.self-end { + align-self: flex-end; +} + +.self-stretch { + align-self: stretch; +} + +.align-stretch { + align-items: stretch; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.justify-around { + justify-content: space-around; +} + +/* grid布局 */ + +.grid { + display: flex; + flex-wrap: wrap; +} + +.grid.grid-square { + overflow: hidden; +} + +.grid.grid-square .cu-tag { + position: absolute; + right: 0; + top: 0; + border-bottom-left-radius: 6rpx; + padding: 6rpx 12rpx; + height: auto; + background-color: rgba(0, 0, 0, 0.5); +} + +.grid.grid-square>view>text[class*="cuIcon-"] { + font-size: 52rpx; + position: absolute; + color: var(--grey); + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} + +.grid.grid-square>view { + margin-right: 20rpx; + margin-bottom: 20rpx; + border-radius: 6rpx; + position: relative; + overflow: hidden; +} + +.grid.grid-square>view.bg-img image { + width: 100%; + height: 100%; + position: absolute; +} + +.grid.col-1.grid-square>view { + padding-bottom: 100%; + height: 0; + margin-right: 0; +} + +.grid.col-2.grid-square>view { + padding-bottom: calc((100% - 20rpx)/2); + height: 0; + width: calc((100% - 20rpx)/2); +} + +.grid.col-3.grid-square>view { + padding-bottom: calc((100% - 40rpx)/3); + height: 0; + width: calc((100% - 40rpx)/3); +} + +.grid.col-4.grid-square>view { + padding-bottom: calc((100% - 60rpx)/4); + height: 0; + width: calc((100% - 60rpx)/4); +} + +.grid.col-5.grid-square>view { + padding-bottom: calc((100% - 80rpx)/5); + height: 0; + width: calc((100% - 80rpx)/5); +} + +.grid.col-2.grid-square>view:nth-child(2n), +.grid.col-3.grid-square>view:nth-child(3n), +.grid.col-4.grid-square>view:nth-child(4n), +.grid.col-5.grid-square>view:nth-child(5n){ + margin-right: 0; +} + +.grid.col-1>view { + width: 100%; +} + +.grid.col-2>view { + width: 50%; +} + +.grid.col-3>view { + width: 33.33%; +} + +.grid.col-4>view { + width: 25%; +} + +.grid.col-5>view { + width: 20%; +} + +/* -- 内外边距 -- */ + +.margin-0 { + margin: 0; +} + +.margin-xs { + margin: 10rpx; +} + +.margin-sm { + margin: 20rpx; +} + +.margin { + margin: 30rpx; +} + +.margin-lg { + margin: 40rpx; +} + +.margin-xl { + margin: 50rpx; +} + +.margin-top-xs { + margin-top: 10rpx; +} + +.margin-top-sm { + margin-top: 20rpx; +} + +.margin-top { + margin-top: 30rpx; +} + +.margin-top-lg { + margin-top: 40rpx; +} + +.margin-top-xl { + margin-top: 50rpx; +} + +.margin-right-xs { + margin-right: 10rpx; +} + +.margin-right-sm { + margin-right: 20rpx; +} + +.margin-right { + margin-right: 30rpx; +} + +.margin-right-lg { + margin-right: 40rpx; +} + +.margin-right-xl { + margin-right: 50rpx; +} + +.margin-bottom-xs { + margin-bottom: 10rpx; +} + +.margin-bottom-sm { + margin-bottom: 20rpx; +} + +.margin-bottom { + margin-bottom: 30rpx; +} + +.margin-bottom-lg { + margin-bottom: 40rpx; +} + +.margin-bottom-xl { + margin-bottom: 50rpx; +} + +.margin-left-xs { + margin-left: 10rpx; +} + +.margin-left-sm { + margin-left: 20rpx; +} + +.margin-left { + margin-left: 30rpx; +} + +.margin-left-lg { + margin-left: 40rpx; +} + +.margin-left-xl { + margin-left: 50rpx; +} + +.margin-lr-xs { + margin-left: 10rpx; + margin-right: 10rpx; +} + +.margin-lr-sm { + margin-left: 20rpx; + margin-right: 20rpx; +} + +.margin-lr { + margin-left: 30rpx; + margin-right: 30rpx; +} + +.margin-lr-lg { + margin-left: 40rpx; + margin-right: 40rpx; +} + +.margin-lr-xl { + margin-left: 50rpx; + margin-right: 50rpx; +} + +.margin-tb-xs { + margin-top: 10rpx; + margin-bottom: 10rpx; +} + +.margin-tb-sm { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.margin-tb { + margin-top: 30rpx; + margin-bottom: 30rpx; +} + +.margin-tb-lg { + margin-top: 40rpx; + margin-bottom: 40rpx; +} + +.margin-tb-xl { + margin-top: 50rpx; + margin-bottom: 50rpx; +} + +.padding-0 { + padding: 0; +} + +.padding-xs { + padding: 10rpx; +} + +.padding-sm { + padding: 20rpx; +} + +.padding { + padding: 30rpx; +} + +.padding-lg { + padding: 40rpx; +} + +.padding-xl { + padding: 50rpx; +} + +.padding-top-xs { + padding-top: 10rpx; +} + +.padding-top-sm { + padding-top: 20rpx; +} + +.padding-top { + padding-top: 30rpx; +} + +.padding-top-lg { + padding-top: 40rpx; +} + +.padding-top-xl { + padding-top: 50rpx; +} + +.padding-right-xs { + padding-right: 10rpx; +} + +.padding-right-sm { + padding-right: 20rpx; +} + +.padding-right { + padding-right: 30rpx; +} + +.padding-right-lg { + padding-right: 40rpx; +} + +.padding-right-xl { + padding-right: 50rpx; +} + +.padding-bottom-xs { + padding-bottom: 10rpx; +} + +.padding-bottom-sm { + padding-bottom: 20rpx; +} + +.padding-bottom { + padding-bottom: 30rpx; +} + +.padding-bottom-lg { + padding-bottom: 40rpx; +} + +.padding-bottom-xl { + padding-bottom: 50rpx; +} + +.padding-left-xs { + padding-left: 10rpx; +} + +.padding-left-sm { + padding-left: 20rpx; +} + +.padding-left { + padding-left: 30rpx; +} + +.padding-left-lg { + padding-left: 40rpx; +} + +.padding-left-xl { + padding-left: 50rpx; +} + +.padding-lr-xs { + padding-left: 10rpx; + padding-right: 10rpx; +} + +.padding-lr-sm { + padding-left: 20rpx; + padding-right: 20rpx; +} + +.padding-lr { + padding-left: 30rpx; + padding-right: 30rpx; +} + +.padding-lr-lg { + padding-left: 40rpx; + padding-right: 40rpx; +} + +.padding-lr-xl { + padding-left: 50rpx; + padding-right: 50rpx; +} + +.padding-tb-xs { + padding-top: 10rpx; + padding-bottom: 10rpx; +} + +.padding-tb-sm { + padding-top: 20rpx; + padding-bottom: 20rpx; +} + +.padding-tb { + padding-top: 30rpx; + padding-bottom: 30rpx; +} + +.padding-tb-lg { + padding-top: 40rpx; + padding-bottom: 40rpx; +} + +.padding-tb-xl { + padding-top: 50rpx; + padding-bottom: 50rpx; +} + +/* -- 浮动 -- */ + +.cf::after, +.cf::before { + content: " "; + display: table; +} + +.cf::after { + clear: both; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +/* ================== + 背景 + ==================== */ + +.line-red::after, +.lines-red::after { + border-color: var(--red); +} + +.line-orange::after, +.lines-orange::after { + border-color: var(--orange); +} + +.line-yellow::after, +.lines-yellow::after { + border-color: var(--yellow); +} + +.line-olive::after, +.lines-olive::after { + border-color: var(--olive); +} + +.line-green::after, +.lines-green::after { + border-color: var(--green); +} + +.line-cyan::after, +.lines-cyan::after { + border-color: var(--cyan); +} + +.line-blue::after, +.lines-blue::after { + border-color: var(--blue); +} + +.line-purple::after, +.lines-purple::after { + border-color: var(--purple); +} + +.line-mauve::after, +.lines-mauve::after { + border-color: var(--mauve); +} + +.line-pink::after, +.lines-pink::after { + border-color: var(--pink); +} + +.line-mainColor::after, +.lines-mainColor::after { + border-color: var(--mainColor); +} + +.line-brown::after, +.lines-brown::after { + border-color: var(--brown); +} + +.line-grey::after, +.lines-grey::after { + border-color: var(--grey); +} + +.line-gray::after, +.lines-gray::after { + border-color: var(--gray); +} + +.line-black::after, +.lines-black::after { + border-color: var(--black); +} + +.line-white::after, +.lines-white::after { + border-color: var(--white); +} + +.bg-red { + background-color: var(--red); + color: var(--white); +} + +.bg-orange { + background-color: var(--orange); + color: var(--white); +} + +.bg-yellow { + background-color: var(--yellow); + color: var(--black); +} + +.bg-olive { + background-color: var(--olive); + color: var(--white); +} + +.bg-green { + background-color: var(--green); + color: var(--white); +} + +.bg-cyan { + background-color: var(--cyan); + color: var(--white); +} + +.bg-blue { + background-color: var(--blue); + color: var(--white); +} + +.bg-purple { + background-color: var(--purple); + color: var(--white); +} + +.bg-mauve { + background-color: var(--mauve); + color: var(--white); +} + +.bg-pink { + background-color: var(--pink); + color: var(--white); +} + +.bg-mainColor { + background-color: var(--mainColor); + color: var(--white); +} + +.bg-brown { + background-color: var(--brown); + color: var(--white); +} + +.bg-grey { + background-color: var(--grey); + color: var(--white); +} + +.bg-gray { + background-color: #f0f0f0; + color: var(--black); +} + +.bg-black { + background-color: var(--black); + color: var(--white); +} + +.bg-white { + background-color: var(--white); + color: var(--darkGray); +} + +.bg-shadeTop { + background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01)); + color: var(--white); +} + +.bg-shadeBottom { + background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1)); + color: var(--white); +} + +.bg-red.light { + color: var(--red); + background-color: var(--redLight); +} + +.bg-orange.light { + color: var(--orange); + background-color: var(--orangeLight); +} + +.bg-yellow.light { + color: var(--yellow); + background-color: var(--yellowLight); +} + +.bg-olive.light { + color: var(--olive); + background-color: var(--oliveLight); +} + +.bg-green.light { + color: var(--green); + background-color: var(--greenLight); +} + +.bg-cyan.light { + color: var(--cyan); + background-color: var(--cyanLight); +} + +.bg-blue.light { + color: var(--blue); + background-color: var(--blueLight); +} + +.bg-purple.light { + color: var(--purple); + background-color: var(--purpleLight); +} + +.bg-mauve.light { + color: var(--mauve); + background-color: var(--mauveLight); +} + +.bg-pink.light { + color: var(--pink); + background-color: var(--pinkLight); +} + +.bg-mainColor.light { + color: var(--mainColor); + background-color: var(--pinkLight); +} + +.bg-brown.light { + color: var(--brown); + background-color: var(--brownLight); +} + +.bg-grey.light { + color: var(--grey); + background-color: var(--greyLight); +} + +.bg-gradual-red { + background-image: var(--gradualRed); + color: var(--white); +} + +.bg-gradual-orange { + background-image: var(--gradualOrange); + color: var(--white); +} + +.bg-gradual-green { + background-image: var(--gradualGreen); + color: var(--white); +} + +.bg-gradual-purple { + background-image: var(--gradualPurple); + color: var(--white); +} + +.bg-gradual-pink { + background-image: var(--gradualPink); + color: var(--white); +} + +.bg-gradual-mainColor { + background-image: var(--gradualPink); + color: var(--white); +} + +.bg-gradual-blue { + background-image: var(--gradualBlue); + color: var(--white); +} + +.shadow[class*="-red"] { + box-shadow: var(--ShadowSize) var(--redShadow); +} + +.shadow[class*="-orange"] { + box-shadow: var(--ShadowSize) var(--orangeShadow); +} + +.shadow[class*="-yellow"] { + box-shadow: var(--ShadowSize) var(--yellowShadow); +} + +.shadow[class*="-olive"] { + box-shadow: var(--ShadowSize) var(--oliveShadow); +} + +.shadow[class*="-green"] { + box-shadow: var(--ShadowSize) var(--greenShadow); +} + +.shadow[class*="-cyan"] { + box-shadow: var(--ShadowSize) var(--cyanShadow); +} + +.shadow[class*="-blue"] { + box-shadow: var(--ShadowSize) var(--blueShadow); +} + +.shadow[class*="-purple"] { + box-shadow: var(--ShadowSize) var(--purpleShadow); +} + +.shadow[class*="-mauve"] { + box-shadow: var(--ShadowSize) var(--mauveShadow); +} + +.shadow[class*="-pink"] { + box-shadow: var(--ShadowSize) var(--pinkShadow); +} + +.shadow[class*="-mainColor"] { + box-shadow: var(--ShadowSize) var(--pinkShadow); +} + +.shadow[class*="-brown"] { + box-shadow: var(--ShadowSize) var(--brownShadow); +} + +.shadow[class*="-grey"] { + box-shadow: var(--ShadowSize) var(--greyShadow); +} + +.shadow[class*="-gray"] { + box-shadow: var(--ShadowSize) var(--grayShadow); +} + +.shadow[class*="-black"] { + box-shadow: var(--ShadowSize) var(--blackShadow); +} + +.shadow[class*="-white"] { + box-shadow: var(--ShadowSize) var(--blackShadow); +} + +.text-shadow[class*="-red"] { + text-shadow: var(--ShadowSize) var(--redShadow); +} + +.text-shadow[class*="-orange"] { + text-shadow: var(--ShadowSize) var(--orangeShadow); +} + +.text-shadow[class*="-yellow"] { + text-shadow: var(--ShadowSize) var(--yellowShadow); +} + +.text-shadow[class*="-olive"] { + text-shadow: var(--ShadowSize) var(--oliveShadow); +} + +.text-shadow[class*="-green"] { + text-shadow: var(--ShadowSize) var(--greenShadow); +} + +.text-shadow[class*="-cyan"] { + text-shadow: var(--ShadowSize) var(--cyanShadow); +} + +.text-shadow[class*="-blue"] { + text-shadow: var(--ShadowSize) var(--blueShadow); +} + +.text-shadow[class*="-purple"] { + text-shadow: var(--ShadowSize) var(--purpleShadow); +} + +.text-shadow[class*="-mauve"] { + text-shadow: var(--ShadowSize) var(--mauveShadow); +} + +.text-shadow[class*="-pink"] { + text-shadow: var(--ShadowSize) var(--pinkShadow); +} + +.text-shadow[class*="-mainColor"] { + text-shadow: var(--ShadowSize) var(--pinkShadow); +} + +.text-shadow[class*="-brown"] { + text-shadow: var(--ShadowSize) var(--brownShadow); +} + +.text-shadow[class*="-grey"] { + text-shadow: var(--ShadowSize) var(--greyShadow); +} + +.text-shadow[class*="-gray"] { + text-shadow: var(--ShadowSize) var(--grayShadow); +} + +.text-shadow[class*="-black"] { + text-shadow: var(--ShadowSize) var(--blackShadow); +} + +.bg-img { + background-size: cover; + background-position: center; + background-repeat: no-repeat; +} + +.bg-mask { + background-color: var(--black); + position: relative; +} + +.bg-mask::after { + content: ""; + border-radius: inherit; + width: 100%; + height: 100%; + display: block; + background-color: rgba(0, 0, 0, 0.4); + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; +} + +.bg-mask view, +.bg-mask cover-view { + z-index: 5; + position: relative; +} + +.bg-video { + position: relative; +} + +.bg-video video { + display: block; + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; + position: absolute; + top: 0; + z-index: 0; + pointer-events: none; +} + +/* ================== + 文本 + ==================== */ + +.text-xs { + font-size: 20rpx; +} + +.text-sm { + font-size: 24rpx; +} + +.text-df { + font-size: 28rpx; +} + +.text-lg { + font-size: 32rpx; +} + +.text-xl { + font-size: 36rpx; +} + +.text-xxl { + font-size: 44rpx; +} + +.text-sl { + font-size: 80rpx; +} + +.text-xsl { + font-size: 120rpx; +} + +.text-Abc { + text-transform: Capitalize; +} + +.text-ABC { + text-transform: Uppercase; +} + +.text-abc { + text-transform: Lowercase; +} + +.text-price::before { + content: "¥"; + font-size: 80%; + margin-right: 4rpx; +} + +.text-cut { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.text-bold { + font-weight: bold; +} + +.text-center { + text-align: center; +} + +.text-content { + line-height: 1.6; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-red, +.line-red, +.lines-red { + color: var(--red); +} + +.text-orange, +.line-orange, +.lines-orange { + color: var(--orange); +} + +.text-yellow, +.line-yellow, +.lines-yellow { + color: var(--yellow); +} + +.text-olive, +.line-olive, +.lines-olive { + color: var(--olive); +} + +.text-green, +.line-green, +.lines-green { + color: var(--green); +} + +.text-cyan, +.line-cyan, +.lines-cyan { + color: var(--cyan); +} + +.text-blue, +.line-blue, +.lines-blue { + color: var(--blue); +} + +.text-purple, +.line-purple, +.lines-purple { + color: var(--purple); +} + +.text-mauve, +.line-mauve, +.lines-mauve { + color: var(--mauve); +} + +.text-pink, +.line-pink, +.lines-pink { + color: var(--pink); +} + +.text-mainColor, +.line-mainColor, +.lines-mainColor { + color: var(--mainColor); +} + +.text-brown, +.line-brown, +.lines-brown { + color: var(--brown); +} + +.text-grey, +.line-grey, +.lines-grey { + color: var(--grey); +} + +.text-gray, +.line-gray, +.lines-gray { + color: var(--gray); +} + +.text-black, +.line-black, +.lines-black { + color: var(--black); +} + +.text-white, +.line-white, +.lines-white { + color: var(--white); +} diff --git a/src/styles/reset.less b/src/styles/reset.less new file mode 100644 index 0000000..50a3b59 --- /dev/null +++ b/src/styles/reset.less @@ -0,0 +1,1000 @@ +.ui-relative { + position: relative +} + +.inline-block { + display: inline-block +} + +.flo_l { + float: left +} + +.flo_r { + float: right +} + +.clearfloat { + clear: both; +} + +.font_16{ + font-size: 16rpx; +} + +.font_18{ + font-size: 18rpx; +} + +.font_20 { + font-size: 20rpx +} + +.font_22 { + font-size: 22rpx +} + +.font_24 { + font-size: 24rpx +} + +.font_26 { + font-size: 26rpx +} + +.font_28 { + font-size: 28rpx +} + +.font_30 { + font-size: 30rpx +} + +.font_32 { + font-size: 32rpx +} + +.font_34 { + font-size: 34rpx +} + +.font_36 { + font-size: 36rpx +} + +.font_40 { + font-size: 40rpx +} + +.font_42 { + font-size: 42rpx +} + +.font_44 { + font-size: 44rpx +} + +.font_48 { + font-size: 48rpx +} + +.font_52 { + font-size: 52rpx +} + +.bold { + font-weight: bold +} + +.color70 { + color: #707070 +} + +.colorF { + color: #ffffff +} + +.color333 { + color: #333333 +} + +.color666 { + color: #666666 +} + +.color999 { + color: #999999 +} + +.colorfff { + color: #FFFFFF !important; +} + +.colorC8 { + color: #C8C8C8 !important; +} + +.bg_theme { + background: #F33B6C!important; + color: white!important; +} + +.text-r { + text-align: right +} + +.text-l { + text-align: left; +} + +.text-c { + text-align: center; +} + +.n_btn { + display: contents; + + &&::after { + border: none; + } +} + +no_border { + border: none !important; +} + +.color-theme { + color: #f33b6c !important; +} + +.colorPrice { + color: #fe4241 !important; +} + +.btn-theme { + background: #F33B6C !important; + height: 90rpx; + color: white; + text-align: center; + border-radius: 8rpx; + line-height: 90rpx; + margin: auto; +} + +.text-wrapper { + white-space: pre-wrap; +} + +.btn_active { + animation: myMove 500ms 1; +} + +.btn_red:active { + animation: myMove 500ms 1; +} + +.btn_white:active { + animation: myMove 500ms 1; +} + +.ui-pt-4 { + padding-top: 4rpx; +} + +.ui-pt-6 { + padding-top: 6rpx; +} + +.ui-pt-8 { + padding-top: 8rpx; +} + +.ui-pt-10 { + padding-top: 10rpx; +} + +.ui-pt-12 { + padding-top: 12rpx; +} + +.ui-pt-14 { + padding-top: 14rpx; +} + +.ui-pt-16 { + padding-top: 16rpx; +} + +.ui-pt-18 { + padding-top: 18rpx; +} + +.ui-pt-20 { + padding-top: 20rpx; +} + +.ui-pt-22 { + padding-top: 22rpx; +} + +.ui-pt-24 { + padding-top: 24rpx; +} + +.ui-pt-26 { + padding-top: 26rpx; +} + +.ui-pt-28 { + padding-top: 28rpx; +} + +.ui-pt-30 { + padding-top: 30rpx; +} + +.ui-pt-32 { + padding-top: 32rpx; +} + +.ui-pt-36 { + padding-top: 36rpx; +} + +.ui-pt-40 { + padding-top: 40rpx; +} + +.ui-pr-4 { + padding-right: 4rpx; +} + +.ui-pr-6 { + padding-right: 6rpx; +} + +.ui-pr-8 { + padding-right: 8rpx; +} + +.ui-pr-10 { + padding-right: 10rpx; +} + +.ui-pr-12 { + padding-right: 12rpx; +} + +.ui-pr-14 { + padding-right: 14rpx; +} + +.ui-pr-16 { + padding-right: 16rpx; +} + +.ui-pr-18 { + padding-right: 18rpx; +} + +.ui-pr-20 { + padding-right: 20rpx; +} + +.ui-pr-22 { + padding-right: 22rpx; +} + +.ui-pr-24 { + padding-right: 24rpx; +} + +.ui-pr-26 { + padding-right: 26rpx; +} + +.ui-pr-28 { + padding-right: 28rpx; +} + +.ui-pr-30 { + padding-right: 30rpx; +} + +.ui-pr-32 { + padding-right: 32rpx; +} + +.ui-pr-36 { + padding-right: 36rpx; +} + +.ui-pr-40 { + padding-right: 40rpx; +} + +.ui-pb-4 { + padding-bottom: 4rpx; +} + +.ui-pb-6 { + padding-bottom: 6rpx; +} + +.ui-pb-8 { + padding-bottom: 8rpx; +} + +.ui-pb-10 { + padding-bottom: 10rpx; +} + +.ui-pb-12 { + padding-bottom: 12rpx; +} + +.ui-pb-14 { + padding-bottom: 14rpx; +} + +.ui-pb-16 { + padding-bottom: 16rpx; +} + +.ui-pb-18 { + padding-bottom: 18rpx; +} + +.ui-pb-20 { + padding-bottom: 20rpx; +} + +.ui-pb-22 { + padding-bottom: 22rpx; +} + +.ui-pb-24 { + padding-bottom: 24rpx; +} + +.ui-pb-26 { + padding-bottom: 26rpx; +} + +.ui-pb-28 { + padding-bottom: 28rpx; +} + +.ui-pb-30 { + padding-bottom: 30rpx; +} + +.ui-pb-32 { + padding-bottom: 32rpx; +} + +.ui-pb-36 { + padding-bottom: 36rpx; +} + +.ui-pb-40 { + padding-bottom: 40rpx; +} + +.ui-pl-4 { + padding-left: 4rpx; +} + +.ui-pl-6 { + padding-left: 6rpx; +} + +.ui-pl-8 { + padding-left: 8rpx; +} + +.ui-pl-10 { + padding-left: 10rpx; +} + +.ui-pl-12 { + padding-left: 12rpx; +} + +.ui-pl-14 { + padding-left: 14rpx; +} + +.ui-pl-16 { + padding-left: 16rpx; +} + +.ui-pl-18 { + padding-left: 18rpx; +} + +.ui-pl-20 { + padding-left: 20rpx; +} + +.ui-pl-22 { + padding-left: 22rpx; +} + +.ui-pl-24 { + padding-left: 24rpx; +} + +.ui-pl-26 { + padding-left: 26rpx; +} + +.ui-pl-28 { + padding-left: 28rpx; +} + +.ui-pl-30 { + padding-left: 30rpx; +} + +.ui-pl-32 { + padding-left: 32rpx; +} + +.ui-pl-36 { + padding-left: 36rpx; +} + +.ui-pl-40 { + padding-left: 40rpx; +} + +.ui-mt-4 { + margin-top: 4rpx; +} + +.ui-mt-6 { + margin-top: 6rpx; +} + +.ui-mt-8 { + margin-top: 8rpx; +} + +.ui-mt-10 { + margin-top: 10rpx; +} + +.ui-mt-12 { + margin-top: 12rpx; +} + +.ui-mt-14 { + margin-top: 14rpx; +} + +.ui-mt-16 { + margin-top: 16rpx; +} + +.ui-mt-18 { + margin-top: 18rpx; +} + +.ui-mt-20 { + margin-top: 20rpx; +} + +.ui-mt-22 { + margin-top: 22rpx; +} + +.ui-mt-24 { + margin-top: 24rpx; +} + +.ui-mt-26 { + margin-top: 26rpx; +} + +.ui-mt-28 { + margin-top: 28rpx; +} + +.ui-mt-30 { + margin-top: 30rpx; +} + +.ui-mt-32 { + margin-top: 32rpx; +} + +.ui-mt-36 { + margin-top: 36rpx; +} + +.ui-mt-40 { + margin-top: 40rpx; +} + +.ui-mr-4 { + margin-right: 4rpx; +} + +.ui-mr-6 { + margin-right: 6rpx; +} + +.ui-mr-8 { + margin-right: 8rpx; +} + +.ui-mr-10 { + margin-right: 10rpx; +} + +.ui-mr-12 { + margin-right: 12rpx; +} + +.ui-mr-14 { + margin-right: 14rpx; +} + +.ui-mr-16 { + margin-right: 16rpx; +} + +.ui-mr-18 { + margin-right: 18rpx; +} + +.ui-mr-20 { + margin-right: 20rpx; +} + +.ui-mr-22 { + margin-right: 22rpx; +} + +.ui-mr-24 { + margin-right: 24rpx; +} + +.ui-mr-26 { + margin-right: 26rpx; +} + +.ui-mr-28 { + margin-right: 28rpx; +} + +.ui-mr-30 { + margin-right: 30rpx; +} + +.ui-mr-32 { + margin-right: 32rpx; +} + +.ui-mr-36 { + margin-right: 36rpx; +} + +.ui-mr-40 { + margin-right: 40rpx; +} + +.ui-mb-4 { + margin-bottom: 4rpx; +} + +.ui-mb-6 { + margin-bottom: 6rpx; +} + +.ui-mb-8 { + margin-bottom: 8rpx; +} + +.ui-mb-10 { + margin-bottom: 10rpx; +} + +.ui-mb-12 { + margin-bottom: 12rpx; +} + +.ui-mb-14 { + margin-bottom: 14rpx; +} + +.ui-mb-16 { + margin-bottom: 16rpx; +} + +.ui-mb-18 { + margin-bottom: 18rpx; +} + +.ui-mb-20 { + margin-bottom: 20rpx; +} + +.ui-mb-22 { + margin-bottom: 22rpx; +} + +.ui-mb-24 { + margin-bottom: 24rpx; +} + +.ui-mb-26 { + margin-bottom: 26rpx; +} + +.ui-mb-28 { + margin-bottom: 28rpx; +} + +.ui-mb-30 { + margin-bottom: 30rpx; +} + +.ui-mb-32 { + margin-bottom: 32rpx; +} + +.ui-mb-36 { + margin-bottom: 36rpx; +} + +.ui-mb-40 { + margin-bottom: 40rpx; +} + +.ui-ml-4 { + margin-left: 4rpx; +} + +.ui-ml-6 { + margin-left: 6rpx; +} + +.ui-ml-8 { + margin-left: 8rpx; +} + +.ui-ml-10 { + margin-left: 10rpx; +} + +.ui-ml-12 { + margin-left: 12rpx; +} + +.ui-ml-14 { + margin-left: 14rpx; +} + +.ui-ml-16 { + margin-left: 16rpx; +} + +.ui-ml-18 { + margin-left: 18rpx; +} + +.ui-ml-20 { + margin-left: 20rpx; +} + +.ui-ml-22 { + margin-left: 22rpx; +} + +.ui-ml-24 { + margin-left: 24rpx; +} + +.ui-ml-26 { + margin-left: 26rpx; +} + +.ui-ml-28 { + margin-left: 28rpx; +} + +.ui-ml-30 { + margin-left: 30rpx; +} + +.ui-ml-32 { + margin-left: 32rpx; +} + +.ui-ml-36 { + margin-left: 36rpx; +} + +.ui-ml-40 { + margin-left: 40rpx; +} + +@keyframes myMove { + 0% { + transform: scale(1, 1); + -moz-transform: scale(1, 1); + -webkit-transform: scale(1, 1); + -o-transform: scale(1, 1); + -ms-transform: scale(1, 1); + } + + 50% { + transform: scale(1.2, 1.2); + -moz-transform: scale(1.2, 1.2); + -webkit-transform: scale(1.2, 1.2); + -o-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + } + + 100% { + transform: scale(1, 1); + -moz-transform: scale(1, 1); + -webkit-transform: scale(1, 1); + -o-transform: scale(1, 1); + -ms-transform: scale(1, 1); + } +} + +.bg_f { + background: #ffffff !important; +} + +.bg_theme_p { + background: red; + width: 100%; + height: 50rpx; + border-radius: 12rpx; + background: #f8f8f8 !important; +} + +.fixed_c{ + position: fixed; + left: 50%; + transform: translate(-50%, -50%); +} + +.middle { + vertical-align: middle; +} + +.fixed_bot { + position: fixed; + left: 0; + bottom: 0; +} +.placeholderStyle { + width: 100%; + height: 34rpx; + background: #F6F6F6; + margin-top: 12rpx; +} + +.btn { + border: none; + text-align: left; + padding: 0; + margin: 0; + line-height: inherit; + background: none; + border-radius: inherit; + &::after { + border: none; + } +} + +.ellipsis_3 { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; +} + +.ellipsis_2 { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.ellipsis_1 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.clearfloat{ + overflow: hidden; +} + +.weui-loadmore__tips { + background: #f4f4f4; +} + +.box_animation { + margin: auto; + animation: active_v 1200ms 1 linear; + animation-fill-mode: forwards; +} + +@keyframes active_v { + 0% { + font-size: 10rpx; + transform: rotate(0deg); + } + + 100% { + font-size: 32rpx; + transform: rotate(360deg); + } +} + +.LRSwing { + animation: zy 2.5s .15s linear infinite; +} + +@keyframes zy { + 10% { + transform: rotate(8deg); + } + + 20% { + transform: rotate(-6deg); + } + + 30% { + transform: rotate(3deg); + } + + 40% { + transform: rotate(-3deg); + } + + 50%, + 100% { + transform: rotate(0deg); + } +} + +.f-fc { + display: flex; + align-items: center; +} + +.f-fcfe { + display: flex; + align-items: flex-end; +} + +.f-ffs { + display: flex; + align-items: flex-start; +} + +.f-fcc { + display: flex; + justify-content: center; + align-items: center; +} + +.f-fcl { + display: flex; + justify-content: left; + align-items: center; +} + +.f-fl { + display: flex; + justify-content: left; +} + +.f-fcr { + display: flex; + justify-content: right; + align-items: center; +} + +.f-fr { + display: flex; + justify-content: right; +} + +.f-fcfs { + display: flex; + justify-content: center; + align-items: flex-start; +} + +.f-fb { + display: flex; + justify-content: space-between; +} + +.f-fbc { + display: flex; + justify-content: space-between; + align-items: center; +} + +.f-fec { + display: flex; + justify-content: flex-end; + align-items: center; +} + +.f-fsac { + display: flex; + justify-content: space-around; + align-items: center; +} + +.f-fdc { + flex-direction: column; +} + +.ui-wrap{ + flex-flow: wrap; +} + +.cu-bar-title{ + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +.cancel,.confirm{ + width: 192rpx; + height: 68rpx; + border-radius: 34rpx; + border: 2rpx solid #D8D8D8; + margin-top: 80rpx; +} + +.confirm{ + border: none; + background: linear-gradient(90deg, #9DC0F8 0%, #508AFC 100%); + margin-left: 64rpx; +} + +.spacing2{ + letter-spacing: 2rpx; +} + +._t{ + width: 100%; +} + +._wx_box{ + ._icon_wx{ + width: 80rpx; + height: 80rpx; + } +} +._icon_close{ + width: 28rpx; + height: 28rpx; + position: absolute; + right: 30rpx; + top: 30rpx; +} +._icon_close_pic{ + width: 40rpx; + height: 40rpx; + position: absolute; + right: 30rpx; + top: 30rpx; +} +._wx_pyq{margin-left: 168rpx;} diff --git a/src/styles/theme.less b/src/styles/theme.less new file mode 100644 index 0000000..998ae45 --- /dev/null +++ b/src/styles/theme.less @@ -0,0 +1,18 @@ +// less变量 + +// 定义主题色 + +@theme_color: #5ac7a0; +@black: #000; +@white: #fff; +@gray-1: #333; +@gray-2: #666; +@gray-3: #999; +@gray-4: #eee; +@gray-5: #f8f8f8; +@red: #E91010; +@yellow: #FB8D32; +@blue: #2E93FF; +// border +@border-color: @gray-4; +@border-width-base: 1rpx; diff --git a/src/utils/comment.js b/src/utils/comment.js new file mode 100644 index 0000000..5dd4f89 --- /dev/null +++ b/src/utils/comment.js @@ -0,0 +1,87 @@ + +// 解释:聊天的时间逻辑 +// 传递 timeValue的格式为 2021/03/24 13:56:00 +// 如果数据是'2015-08-18 15:13:15';参考下述进行转换 +// var str ='2015-08-18 15:13:15'; +// str = str.replace(/-/g,"/"); +// var date = new Date(str ); + +function timeChange(timeValue) { + // timeValue = timeValue.replace(/-/g, '/') + timeValue = new Date(timeValue).getTime() + var timeNew = new Date().getTime() // 当前时间 + // console.log('传入的时间', timeValue, timeNew) + var timeDiffer = timeNew - timeValue // 与当前时间误差 + // console.log('时间差', timeDiffer) + var returnTime = '' + if (timeDiffer <= 60000) { // 一分钟内 + returnTime = '刚刚' + } else if (timeDiffer > 60000 && timeDiffer < 3600000) { // 1小时内 + returnTime = Math.floor(timeDiffer / 60000) + '分钟前' + } else if (timeDiffer >= 3600000 && timeDiffer < 86400000 && isYestday(timeValue) === false) { // 今日 + returnTime = formatTime(timeValue).substr(11, 5) + } else if (timeDiffer > 3600000 && isYestday(timeValue) === true) { // 昨天 + // console.log(昨天) + returnTime = '昨天' + formatTime(timeValue).substr(11, 5) + } else if (timeDiffer > 86400000 && isYestday(timeValue) === false && isYear(timeValue) === true) { // 今年 + returnTime = formatTime(timeValue).substr(5, 11) + } else if (timeDiffer > 86400000 && isYestday(timeValue) === false && isYear(timeValue) === false) { // 不属于今年 + returnTime = formatTime(timeValue).substr(0, 16) + } + // console.log(returnTime) + return returnTime +} + +// 函数isYestday:是否为昨天 返回 true or false +// 这里根据日期进行判断,而非时间戳数值,因为数值计算涉及到大数有一定的误差 + +function isYestday(timeValue) { // 是否为昨天 + const date = new Date(timeValue) + const today = new Date() + if (date.getFullYear() === today.getFullYear() && date.getMonth() === today.getMonth()) { + if (date.getDate() - today.getDate() === 1) { + return true + } else { + return false + } + } else { + return false + } +} + +function isYear(timeValue) { // 是否为今年 + const dateyear = new Date(timeValue).getFullYear() + const toyear = new Date().getFullYear() + // console.log(dateyear, toyear) + if (dateyear === toyear) { + return true + } else { + return false + } +} +// 函数:formatTime 格式化时间 返回时间字符串如 2018-07-06 11:11:37 +function formatTime(date) { + var t = getTimeArray(date) + return [t[0], t[1], t[2]].map(formatNumber).join('-') + ' ' + [t[3], t[4], t[5]].map(formatNumber).join(':') +} + +function getTimeArray(date) { + date = new Date(date) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + return [year, month, day, hour, minute, second].map(formatNumber) +} + +// 转化日期 如2018-7-6 -->(2018-07-06) +function formatNumber(n) { + n = n.toString() + return n[1] ? n : '0' + n +} + +export { + timeChange +} diff --git a/src/utils/dateTimeFormat.js b/src/utils/dateTimeFormat.js new file mode 100644 index 0000000..7b17c28 --- /dev/null +++ b/src/utils/dateTimeFormat.js @@ -0,0 +1,172 @@ +// 循环处理时间 +import dayjs from 'dayjs' + +const dateTimeFormat = (arr, key) => { + /** + * 参数 + * arr:数据数组 + * key:数组中对象的时间key键。 + * 新增属性 + * show_time_type:时间的类型 + * show_time:页面展示输出的时间 + * is_show_time:间隔上个时间是否大于5分钟,大于则显示当前时间,反之。 + **/ + // function checkShowRule(arr, key) { + var newArr = arr.map((item, index, array) => { + var obj = toggleTime(item[key]) + item['show_time_type'] = obj.type + item['show_time'] = obj.time + if (index > 0) { + item['is_show_time'] = compareTimeInterval(array[index - 1][key], array[index][key]) + } else { + item['is_show_time'] = true + } + return item + }) + return newArr + // } + +// 根据不同时间的消息,输出不同的时间格式 + function toggleTime(date) { + var time + var type = getDateDiff(date) + // 1:新消息,2:当天消息,3:昨天消息,4:今年消息,5:其他消息 + if (type == 1) { + time = '以下为最新消息'// 新消息,不显示时间,但是要显示"以下为最新消息" + } else if (type == 2) { + time = dayjs(date).format('H:mm')// 当天消息,显示:10:22 + } else if (type == 3) { + time = dayjs(date).format('昨天 H:mm')// 昨天消息,显示:昨天 20:41 + } else if (type == 4) { + time = dayjs(date).format('M月D日 AH:mm').replace('AM', '上午').replace('PM', '下午')// 今年消息,上午下午,显示:3月17日 下午16:45 + } else if (type == 5) { + time = dayjs(date).format('YYYY年M月D日 AH:mm').replace('AM', '上午').replace('PM', '下午')// 其他消息,上午下午,显示:2020年11月2日 下午15:17 + } + return { + time: time, + type: type + } + } + +// 判断消息类型 + function getDateDiff(date) { + var nowDate = dayjs(new Date())// 当前时间 + var oldDate = dayjs(new Date(date))// 参数时间 + var timeTemp = dayjs(getThisTime().now.split(' ')[0] + '00:00').diff(oldDate, 'hour') + var result + // 优先判断昨天消息。今年的日期00:00的时间与上一个时间的时间戳小于1天,那就判断为昨天消息 + if ((nowDate.year() - oldDate.year() == 1 || nowDate.month() - oldDate.month() == 1) && timeTemp >= 0 && timeTemp <= 24) { + result = 3 + } else if (nowDate.year() - oldDate.year() >= 1) { + result = 5 + } else if (nowDate.month() - oldDate.month() >= 1 || nowDate.date() - oldDate.date() >= 2) { + result = 4 + } else if (nowDate.date() - oldDate.date() >= 1) { + result = 3 + } else if (nowDate.hour() - oldDate.hour() >= 1 || nowDate.minute() - oldDate.minute() >= 5) { + result = 2 + } else { + result = 1 + } + return result + } + +// 判断两个时间差是否大于5分钟 + function compareTimeInterval(t1, t2) { + // console.log(t1,t2,dayjs(t2)-dayjs(t1)); + return dayjs(t2) - dayjs(t1) >= 300000 ? true : false + } + +// 获取当前时间,当前日期 + function getThisTime(timeStamp) { + var myDate = timeStamp ? new Date(parseInt(timeStamp) * 1000) : new Date() + + function p(s) { + return s < 10 ? '0' + s : s + } + + return { + 'year': myDate.getFullYear(), + 'month': myDate.getMonth() + 1, + 'date': myDate.getDate(), + 'h': myDate.getHours(), + 'm': myDate.getMinutes(), + 's': myDate.getSeconds(), + 'now': myDate.getFullYear() + '-' + p(myDate.getMonth() + 1) + '-' + p(myDate.getDate()) + ' ' + p(myDate.getHours()) + ':' + p(myDate.getMinutes()) + ':' + p(myDate.getSeconds()) + } + } +} +const toggleTime = (date) => { +// 根据不同时间的消息,输出不同的时间格式 +// function toggleTime() { + var time + var type = getDateDiff(date) + // 1:新消息,2:当天消息,3:昨天消息,4:今年消息,5:其他消息 + if (type == 1) { + time = '以下为最新消息'// 新消息,不显示时间,但是要显示"以下为最新消息" + } else if (type == 2) { + time = dayjs(date).format('H:mm')// 当天消息,显示:10:22 + } else if (type == 3) { + time = dayjs(date).format('昨天 H:mm')// 昨天消息,显示:昨天 20:41 + } else if (type == 4) { + time = dayjs(date).format('M月D日 AH:mm').replace('AM', '上午').replace('PM', '下午')// 今年消息,上午下午,显示:3月17日 下午16:45 + } else if (type == 5) { + time = dayjs(date).format('YYYY年M月D日 AH:mm').replace('AM', '上午').replace('PM', '下午')// 其他消息,上午下午,显示:2020年11月2日 下午15:17 + } + return { + time: time, + type: type + } + // } + +// 判断消息类型 + function getDateDiff(date) { + var nowDate = dayjs(new Date())// 当前时间 + var oldDate = dayjs(new Date(date))// 参数时间 + var timeTemp = dayjs(getThisTime().now.split(' ')[0] + '00:00').diff(oldDate, 'hour') + var result + // 优先判断昨天消息。今年的日期00:00的时间与上一个时间的时间戳小于1天,那就判断为昨天消息 + if ((nowDate.year() - oldDate.year() == 1 || nowDate.month() - oldDate.month() == 1) && timeTemp >= 0 && timeTemp <= 24) { + result = 3 + } else if (nowDate.year() - oldDate.year() >= 1) { + result = 5 + } else if (nowDate.month() - oldDate.month() >= 1 || nowDate.date() - oldDate.date() >= 2) { + result = 4 + } else if (nowDate.date() - oldDate.date() >= 1) { + result = 3 + } else if (nowDate.hour() - oldDate.hour() >= 1 || nowDate.minute() - oldDate.minute() >= 5) { + result = 2 + } else { + result = 1 + } + return result + } + +// 判断两个时间差是否大于5分钟 + function compareTimeInterval(t1, t2) { + // console.log(t1,t2,dayjs(t2)-dayjs(t1)); + return dayjs(t2) - dayjs(t1) >= 300000 ? true : false + } + +// 获取当前时间,当前日期 + function getThisTime(timeStamp) { + var myDate = timeStamp ? new Date(parseInt(timeStamp) * 1000) : new Date() + + function p(s) { + return s < 10 ? '0' + s : s + } + + return { + 'year': myDate.getFullYear(), + 'month': myDate.getMonth() + 1, + 'date': myDate.getDate(), + 'h': myDate.getHours(), + 'm': myDate.getMinutes(), + 's': myDate.getSeconds(), + 'now': myDate.getFullYear() + '-' + p(myDate.getMonth() + 1) + '-' + p(myDate.getDate()) + ' ' + p(myDate.getHours()) + ':' + p(myDate.getMinutes()) + ':' + p(myDate.getSeconds()) + } + } +} +module.exports = { + dateTimeFormat, toggleTime +} diff --git a/src/utils/im.js b/src/utils/im.js new file mode 100644 index 0000000..a6f4b71 --- /dev/null +++ b/src/utils/im.js @@ -0,0 +1,196 @@ +import NIM from 'nim-web-sdk-ng/dist/v2/NIM_MINIAPP_SDK' +import { service } from '../config.js' + +const IM = (account, token) => { + console.log(account, token, '8888888888888888') + let nim = NIM.getInstance({ + debugLevel: 'off', + appkey: '9bc3ed1f7d8197b6b69f8f5b742824b1', + account: account, + token: token, + lbsUrls: [ + 'https://lbs.netease.im/lbs/wxwebconf.jsp' + ], + linkUrl: 'wlnimsc0.netease.im' + }) + + const eventList = [ + 'logined', 'willReconnect', 'disconnect', 'msg', 'syncdone', 'syncRoamingMsgs', 'sessions', 'updateMuteList', 'friends', 'updateSession', 'teams', 'myTeamMembers', 'updateMyMemberInfo', 'sendTeamMsg' + ] + + eventList.forEach((key) => { + nim.on(key, (res) => { + console.log(`Receive ${key} event:`, res ? JSON.parse(JSON.stringify(res)) : res) + }) + }) + + nim.connect() + + nim.on('logined', function () { + console.log('连接成功') + }) + + nim.on('willReconnect', function (e) { + console.log(e, '即将重连') + }) + + nim.on('disconnect', function (e) { + console.log(e, '丢失连接') + }) + + nim.on('sessions', function(e) { + console.log(e, '会话消息') + // 如果群是开启了免打扰自动标记未读数已读 + let mute = wx.getStorageSync('muteNotList') || [] + if (mute && mute.length > 0) { + mute.forEach((j) => { + nim.session.resetSessionUnreadCount({ + id: `team-${j.teamId}` + }) + }) + } + // 获取群消息未读数并赋值在tabBar显示 + let teamsSsions = [] + e.forEach((i) => { + if (i.scene === 'team') { + teamsSsions.push({id: i.to, unread: i.unread}) + } + }) + wx.setStorageSync('teamsSessionsCount', teamsSsions) + let groupCount = 0 + if (teamsSsions.length > 0) { + for (let i = 0; i < teamsSsions.length; i++) { + groupCount += teamsSsions[i].unread + } + } + if (groupCount > 0) { + wx.setTabBarBadge({ + index: 0, + text: `${groupCount}` + }) + } else { + wx.removeTabBarBadge({ + index: 0 + }) + } + }) + + nim.on('msg', function (e) { + console.log(e, '收到最新消息') + let pages = getCurrentPages() + let currentPage = pages[pages.length - 1] + let notiTypeData = { muteTeam: false } + if (wx.getStorageSync('nuteNotList') && wx.getStorageSync('nuteNotList').length > 0) { + notiTypeData = wx.getStorageSync('nuteNotList').find((item) => item.teamId == e.to) + } + // 如果是开启了免打扰的群消息,自动调用群消息已读接口 + if (notiTypeData.muteTeam) { + wx.request({ + url: `${service.host}/chat/group/read`, + header: { + 'Authorization': 'Bearer ' + wx.getStorageSync('token'), + 'X-Requested-With': 'XMLHttpRequest' + }, + method: 'post', + data: {team_id: notiTypeData.teamId}, + success: ({data}) => { + console.log(data, '已读') + } + }) + } + if (e.scene == 'team') { + // 判断是否是@功能 + if (e.apns) { + let teamAt = wx.getStorageSync('teamAtList') || [] + let userInfo = wx.getStorageSync('userInfo') || {nickName: ''} + if (!e.apns.accounts || e.apns.accounts.indexOf(userInfo.id + '') >= 0) { // 存入@ + if (teamAt.indexOf(e.to + '') < 0) { + teamAt.push(e.to) + wx.setStorageSync('teamAtList', teamAt) + } + } + } + // 群消息未读数增加逻辑 + let teamCount = wx.getStorageSync('teamsSessionsCount') || [] + let newTeamCount = teamCount.filter(item => { return item.id == e.to }) + if (e.attach && (e.attach.type === 'leaveTeam' || e.attach.type === 'dismissTeam' || e.attach.type === 'removeTeamMembers' || e.attach.type === 'addTeamMembers')) { + } else { + if (newTeamCount.length > 0) { + console.log(newTeamCount, '2222') + teamCount = teamCount.map(item => { + if (item.id == newTeamCount[0].id && !notiTypeData.muteTeam) { + item.unread += 1 + } + return item + }) + } else { + teamCount.push({id: e.to, unread: notiTypeData.muteTeam === false ? 0 : 1}) + } + wx.setStorageSync('teamsSessionsCount', teamCount) + } + } + if (currentPage.route == 'pages/tabBar/home') { + wx.request({ + url: `${service.host}/new/message/count`, + header: { + 'Authorization': 'Bearer ' + wx.getStorageSync('token'), + 'X-Requested-With': 'XMLHttpRequest' + }, + method: 'get', + success: ({data}) => { + let { new_count } = data.data + console.log(new_count, '新的未读数') + let groupCountList = wx.getStorageSync('teamsSessionsCount') || [] + let groupCount = 0 + if (groupCountList.length > 0) { + for (let i = 0; i < groupCountList.length; i++) { + groupCount += groupCountList[i].unread + } + } + if ((new_count + groupCount) > 0) { + wx.setTabBarBadge({ + index: 0, + text: `${new_count + groupCount}` + }) + } else { + wx.removeTabBarBadge({ + index: 0 + }) + } + } + }) + } + setTimeout(() => { + currentPage.onShow() + wx.vibrateLong({ + success: () => { + console.log('来消息了,震动~~') + } + }) + }, 800) + }) + + nim.on('myTeamMembers', function (e) { + console.log(e, nim.session, '/////////////') + let muteNotList = [] + if (e && e.length > 0) { + e.forEach((i) => { + if (i.muteTeam) { + muteNotList.push({ + teamId: i.teamId, + muteNotiType: i.muteTeam ? 1 : 0, + muteTeam: i.muteTeam + }) + } + }) + setTimeout(() => { + wx.setStorageSync('muteNotList', muteNotList) + }) + } + }) + return nim +} + +module.exports = { + IM +} diff --git a/src/utils/util.js b/src/utils/util.js new file mode 100644 index 0000000..391dcee --- /dev/null +++ b/src/utils/util.js @@ -0,0 +1,201 @@ +/* ======================================================== + 小程序公共方法 +======================================================== */ +const {service} = require('../config') +const base = require('../mixins/base') +const wx_modal_loading = (text = '加载中') => { + wx.showLoading({ + title: '', + mask: true + }) +} + +const getUpdateManager = () => { // 版本自动触发更新 + return new Promise((resolve, reject) => { + if (wx.canIUse('getUpdateManager')) { + const updateManager = wx.getUpdateManager() + updateManager.onCheckForUpdate(function (res) { + if (res.hasUpdate) { + updateManager.onUpdateReady(function () { + resolve('onUpdateReady') + }) + updateManager.onUpdateFailed(function () { + resolve('onUpdateFailed') + }) + } + }) + } else { + // eslint-disable-next-line prefer-promise-reject-errors + reject('error') + } + }) +} + +const wx_login = () => { + return new Promise((resolve, reject) => { + wx.login({ + success: (res) => { + let data = { + code: res.code, + version: getApp().$wepy.$options.globalData.versions + } + wx.request({ + url: `${service.host}/login/wechat/v2`, + data: data, + method: 'post', + success: ({data: res}) => { + let {code, data} = res + switch (code) { + case 0: + wx.setStorageSync('is_servicer', data.is_servicer) + wx.setStorageSync('token', data.token) + wx.setStorageSync('openid', (!!data.wechat && data.wechat.openid)) + wx.setStorageSync('user_id', data.user.id) // 用户id + wx.setStorageSync('mobile', data.user.mobile) // 用户手机号 + let userInfo = { + name: data.user.nickname, + avatar: data.user.avatar || 'https://image.fulllinkai.com/202203/09/cc1c73eb1a4941fef25a15cd1ff2f9df.png', + showId: data.user.id, + id: data.user.id, + type: data.user.type + } + console.log(userInfo, '7777------') + wx.setStorageSync('userInfo', userInfo) // 用户基本信息 + resolve(res) + break + case 1: + reject(res.messag) + break + case 2: + break + } + }, + fail: (Error) => { + reject(Error) + } + }) + }, + fail: (res) => { + console.error('wx.login登录失败', res) + } + }) + }) +} +const getPhoneNumber = ({detail}) => { + return new Promise((resolve, reject) => { + if (detail.iv) { + let data = { + code: detail.code + } + console.log(data) + wx.request({ + url: `${service.host}/code/to/mobile`, + header: { + 'Authorization': 'Bearer ' + wx.getStorageSync('token'), + 'X-Requested-With': 'XMLHttpRequest' + }, + data: data, + method: 'post', + success: ({data: res}) => { + let {code, data} = res + switch (code) { + case 0: + resolve(data) // 返回参数 + break + case 1: + reject(res.message) + break + } + }, + fail: (Error) => { + reject(Error) + } + }) + } + }) +} +const logger = () => { + const wxlogger = + wx.getLogManager && + wx.getLogManager({ + level: 0 + }) + const log = (...params) => { + console.log(...params) + wxlogger && wxlogger.log(...params) + } + return { + log + } +} +var timeout + +function throttle(func, wait, immediate) { + return fun(func, wait, immediate) +} + +function fun(func, wait, immediate) { + var context = this, + args = arguments + var later = function later() { + timeout = null + if (!immediate) func.apply(context, args) + } + var callNow = immediate && !timeout + if (!timeout) { + clearTimeout(timeout) + + timeout = setTimeout(later, wait) + } + if (callNow) func.apply(context, args) +} + +const getNowTime = () => { // 获取现在时间 + let now = new Date() + let year = now.getFullYear() + let month = (now.getMonth() + 1).toString().padStart(2, '0') + let date = (now.getDate()).toString().padStart(2, '0') + let hh = (now.getHours()).toString().padStart(2, '0') + let mm = (now.getMinutes()).toString().padStart(2, '0') + let ss = (now.getSeconds()).toString().padStart(2, '0') + return `${year}-${month}-${date} ${hh}:${mm}:${ss}` +} + +let commentTimeHandle = (timeStamp) => { + timeStamp = timeStamp.replace(/-/g, '/') + var dateTime = new Date(timeStamp) + console.log(dateTime) + var no1new = dateTime.valueOf() + var year = dateTime.getFullYear() + var month = dateTime.getMonth() + 1 + var day = dateTime.getDate() + var hour = dateTime.getHours() + var minute = dateTime.getMinutes() + var second = dateTime.getSeconds() + var now = new Date() + var now_new = now.valueOf() + var milliseconds = 0 + var timeSpanStr + + milliseconds = now_new - no1new + + if (milliseconds <= 1000 * 60 * 1) { + timeSpanStr = '刚刚' + } else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) { + timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前' + } else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) { + timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前' + } else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) { + timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前' + } else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) { + timeSpanStr = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second + } else { + timeSpanStr = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second + } + + return timeSpanStr +} + +module.exports = { + wx_login, throttle, getPhoneNumber, logger, getNowTime, commentTimeHandle, getUpdateManager +} diff --git a/static/.gitignore b/static/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/wepy.config.js b/wepy.config.js new file mode 100644 index 0000000..42437a7 --- /dev/null +++ b/wepy.config.js @@ -0,0 +1,39 @@ +const path = require('path') +const cliExt = require('wepy-cli-extend') +var prod = process.env.NODE_ENV === 'production' + +module.exports = { + wpyExt: '.wpy', + // eslint: true, + cliLogs: !prod, + static: ['./src/images'], + build: {}, + resolve: { + alias: { + counter: path.join(__dirname, 'src/components/counter'), + '@': path.join(__dirname, 'src') + }, + aliasFields: ['wepy', 'weapp'], + modules: ['node_modules'] + }, + plugins: [ + cliExt() + ], + compilers: { + less: { + compress: prod + }, + babel: { + sourceMap: true, + presets: [ + '@babel/preset-env' + ], + plugins: [ + '@wepy/babel-plugin-import-regenerator' + ] + } + }, + appConfig: { + noPromiseAPI: ['createSelectorQuery'] + } +}