From 7f6473b6914faee2632e1d51d9c76870b3012ff5 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sat, 29 Jul 2023 01:08:16 +0200 Subject: [PATCH 01/61] WIP --- package-lock.json | 14194 +++++++++++++++++++++++++------------------- 1 file changed, 8178 insertions(+), 6016 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c06d8e56..1e5919a05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,59 @@ { "name": "x-data-spreadsheet", "version": "1.1.8", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/code-frame": { + "packages": { + "": { + "name": "x-data-spreadsheet", + "version": "1.1.8", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "opencollective": "^1.0.3", + "opencollective-postinstall": "^2.0.2" + }, + "devDependencies": { + "@babel/core": "^7.3.4", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.3.4", + "@babel/register": "^7.0.0", + "babel-loader": "^8.0.5", + "clean-webpack-plugin": "^0.1.19", + "codecov": "^3.3.0", + "css-loader": "^1.0.0", + "eslint": "^6.8.0", + "eslint-config-airbnb-base": "^13.1.0", + "eslint-plugin-import": "^2.14.0", + "file-loader": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "less": "^3.8.1", + "less-loader": "^4.1.0", + "mini-css-extract-plugin": "^0.4.4", + "mocha": "^5.2.0", + "nyc": "^13.3.0", + "style-loader": "^0.23.0", + "webpack": "^4.29.6", + "webpack-cli": "^3.1.0", + "webpack-dev-server": "^3.10.2", + "webpack-merge": "^4.1.4" + } + }, + "node_modules/@babel/code-frame": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.0.0.tgz", "integrity": "sha1-BuKrGb21NThVWaq7W6WXKUgoAPg=", "dev": true, - "requires": { + "dependencies": { "@babel/highlight": "^7.0.0" } }, - "@babel/core": { + "node_modules/@babel/core": { "version": "7.5.4", "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.5.4.tgz?cache=0&sync_timestamp=1562698760694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.5.4.tgz", "integrity": "sha1-TDLfetWljp6ietAlwRJ2Mk4LTd0=", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/generator": "^7.5.0", "@babel/helpers": "^7.5.4", @@ -33,14 +68,17 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/generator": { + "node_modules/@babel/generator": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.5.0.tgz?cache=0&sync_timestamp=1562245150668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.5.0.tgz", "integrity": "sha1-8g5LepF1Dui2NlYHPYQ9KnNtyko=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.5.0", "jsesc": "^2.5.1", "lodash": "^4.17.11", @@ -48,124 +86,127 @@ "trim-right": "^1.0.1" } }, - "@babel/helper-annotate-as-pure": { + "node_modules/@babel/helper-annotate-as-pure": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha1-Mj053QtQ4Qx8Bsp9djjmhk2MXDI=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.0.0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.1.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha1-a2lijf5Ah3mODE7Zjj1Kay+9L18=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-explode-assignable-expression": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@babel/helper-call-delegate": { + "node_modules/@babel/helper-call-delegate": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-call-delegate/download/@babel/helper-call-delegate-7.4.4.tgz", "integrity": "sha1-h8H4yhmtVSpzanonscH8+LH/H0M=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-hoist-variables": "^7.4.4", "@babel/traverse": "^7.4.4", "@babel/types": "^7.4.4" } }, - "@babel/helper-create-class-features-plugin": { + "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.5.0.tgz", "integrity": "sha1-Au25f1EtRLojsyJ/G/LtQ0VO2sU=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.1.0", "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-replace-supers": "^7.4.4", "@babel/helper-split-export-declaration": "^7.4.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-define-map": { + "node_modules/@babel/helper-define-map": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.4.4.tgz", "integrity": "sha1-aWnR9XC0a9yQDR66jl1ZxIuiwSo=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.1.0", "@babel/types": "^7.4.4", "lodash": "^4.17.11" } }, - "@babel/helper-explode-assignable-expression": { + "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.1.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha1-U3+hP28WdN90WwwA7I/k6ZaByPY=", "dev": true, - "requires": { + "dependencies": { "@babel/traverse": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@babel/helper-function-name": { + "node_modules/@babel/helper-function-name": { "version": "7.1.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.1.0.tgz", "integrity": "sha1-oM6wFoX3M1XUNgwSR/WCv6/I/1M=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-get-function-arity": "^7.0.0", "@babel/template": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@babel/helper-get-function-arity": { + "node_modules/@babel/helper-get-function-arity": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.0.0.tgz", "integrity": "sha1-g1ctQyDipGVyY3NBE8QoaLZOScM=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.0.0" } }, - "@babel/helper-hoist-variables": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.4.4.tgz", "integrity": "sha1-Api18lyMCcUxAtUqxKmPdz6yhQo=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.4.4" } }, - "@babel/helper-member-expression-to-functions": { + "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha1-jNFLCg33/wDwCefXpDaUX0fHoW8=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.0.0" } }, - "@babel/helper-module-imports": { + "node_modules/@babel/helper-module-imports": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.0.0.tgz", "integrity": "sha1-lggbcRHkhtpNLNlxrRpP4hbMLj0=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.0.0" } }, - "@babel/helper-module-transforms": { + "node_modules/@babel/helper-module-transforms": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.4.4.tgz", "integrity": "sha1-lhFepCovE55hnpjtRt9gGblEFLg=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-simple-access": "^7.1.0", "@babel/helper-split-export-declaration": "^7.4.4", @@ -174,36 +215,36 @@ "lodash": "^4.17.11" } }, - "@babel/helper-optimise-call-expression": { + "node_modules/@babel/helper-optimise-call-expression": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha1-opIMVwKwc8Fd5REGIAqoytIEl9U=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.0.0" } }, - "@babel/helper-plugin-utils": { + "node_modules/@babel/helper-plugin-utils": { "version": "7.0.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.0.0.tgz", "integrity": "sha1-u7P77phmHFaQNCN8wDlnupm08lA=", "dev": true }, - "@babel/helper-regex": { + "node_modules/@babel/helper-regex": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.4.4.tgz", "integrity": "sha1-pH4CvJH7JZ0uZyfCowAT46wTxKI=", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.17.11" } }, - "@babel/helper-remap-async-to-generator": { + "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.1.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha1-Nh2AghtvONp1vT8HheziCojF/n8=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-wrap-function": "^7.1.0", "@babel/template": "^7.1.0", @@ -211,239 +252,296 @@ "@babel/types": "^7.0.0" } }, - "@babel/helper-replace-supers": { + "node_modules/@babel/helper-replace-supers": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.4.4.tgz", "integrity": "sha1-ruQXg+vk8tOrOud14cxvGpDO+ic=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/traverse": "^7.4.4", "@babel/types": "^7.4.4" } }, - "@babel/helper-simple-access": { + "node_modules/@babel/helper-simple-access": { "version": "7.1.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.1.0.tgz", "integrity": "sha1-Ze65VMjCRb6qToWdphiPOdceWFw=", "dev": true, - "requires": { + "dependencies": { "@babel/template": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@babel/helper-split-export-declaration": { + "node_modules/@babel/helper-split-export-declaration": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.4.4.tgz", "integrity": "sha1-/5SJSjQL549T8GrwOLIFxJ2ZNnc=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.4.4" } }, - "@babel/helper-wrap-function": { + "node_modules/@babel/helper-wrap-function": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.2.0.tgz", "integrity": "sha1-xOABJEV2nigVtVKW6tQ6lYVJ9vo=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.1.0", "@babel/template": "^7.1.0", "@babel/traverse": "^7.1.0", "@babel/types": "^7.2.0" } }, - "@babel/helpers": { + "node_modules/@babel/helpers": { "version": "7.5.4", "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.5.4.tgz", "integrity": "sha1-LwBgiqENRgveDM9mXW3PhHc1fPA=", "dev": true, - "requires": { + "dependencies": { "@babel/template": "^7.4.4", "@babel/traverse": "^7.5.0", "@babel/types": "^7.5.0" } }, - "@babel/highlight": { + "node_modules/@babel/highlight": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.5.0.tgz", "integrity": "sha1-VtETEr2SSPphlZHQJHK+boyzJUA=", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.0.0", "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { + "node_modules/@babel/parser": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.5.0.tgz?cache=0&sync_timestamp=1562255357036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.5.0.tgz", "integrity": "sha1-PgcT3/ia1q43+uw7Kdz8XJeXcLc=", - "dev": true + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } }, - "@babel/plugin-proposal-async-generator-functions": { + "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.2.0.tgz", "integrity": "sha1-somzBmadzkrSCwJSiJoVdoydQX4=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-remap-async-to-generator": "^7.1.0", "@babel/plugin-syntax-async-generators": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-class-properties": { + "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.5.0.tgz?cache=0&sync_timestamp=1562245150562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.5.0.tgz", "integrity": "sha1-W8agU30ob8tP1OiZda28ozSYcAc=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-class-features-plugin": "^7.5.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-dynamic-import": { + "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.5.0.tgz?cache=0&sync_timestamp=1562245130508&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.5.0.tgz", "integrity": "sha1-5TIgLbSDhyNpGxCme4zlCeOXxQY=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-json-strings": { + "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.2.0.tgz", "integrity": "sha1-Vo7MRGxhSK5rJn8CVREwiR4p8xc=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-json-strings": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-object-rest-spread": { + "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.5.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.5.4.tgz?cache=0&sync_timestamp=1562698760019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.5.4.tgz", "integrity": "sha1-JQ3jXYZ86CYKMbH9rGxPwbqpkzE=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-optional-catch-binding": { + "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha1-E12B7baKCB5V5W7EhUHs6AZcOPU=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-unicode-property-regex": { + "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.4.4.tgz", "integrity": "sha1-UB/9mCbAuR2iJpByByKsfLHKnHg=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.5.4" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-async-generators": { + "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha1-aeHw2zTG9aDPfiszI78VmnbIy38=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-dynamic-import": { + "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.2.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha1-acFZ/69JmBIhYa2OvF5tH1XfhhI=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.2.0.tgz", "integrity": "sha1-cr0T9v/h0lk4Ep0qGGsR/WKVFHA=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha1-O3o+czUQxX6CC5FCpleayLDfrS4=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha1-qUAT1u2okI3+akd+f57ahWVuz1w=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-arrow-functions": { + "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha1-mur75Nb/xlY7+Pg3IJFijwB3lVA=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-async-to-generator": { + "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.5.0.tgz", "integrity": "sha1-iaOEigFmYjtbxIEWS1k2q5R+iH4=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-remap-async-to-generator": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-block-scoped-functions": { + "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha1-XTzBHo1d3XUqpkyRSNDbbLef0ZA=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-block-scoping": { + "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.4.4.tgz", "integrity": "sha1-wTJ5+r9rkWZhUxhBojxLfa4pZG0=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.11" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-classes": { + "node_modules/@babel/plugin-transform-classes": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.4.4.tgz", "integrity": "sha1-DOQJTNr9cJchB207nDitMcpxXrY=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-define-map": "^7.4.4", "@babel/helper-function-name": "^7.1.0", @@ -452,267 +550,351 @@ "@babel/helper-replace-supers": "^7.4.4", "@babel/helper-split-export-declaration": "^7.4.4", "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-computed-properties": { + "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha1-g6ffamWIZbHI9kHVEMbzryICFto=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-destructuring": { + "node_modules/@babel/plugin-transform-destructuring": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.5.0.tgz", "integrity": "sha1-9sCf3+P5RRb/B0/od9t7ye8FhVo=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.4.4.tgz", "integrity": "sha1-NhoUi8lRREMSxpRG127R6o5EUMM=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.5.4" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-duplicate-keys": { + "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.5.0.tgz", "integrity": "sha1-xdv1EGv4TN9pEiLAl0wSsd+TGFM=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-exponentiation-operator": { + "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha1-pjhoKJ5bQAf3BU1GSRr1FDV2YAg=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { + "node_modules/@babel/plugin-transform-for-of": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.4.4.tgz", "integrity": "sha1-Amf8c14kyAi6FzhmxsTRRA/DxVY=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-function-name": { + "node_modules/@babel/plugin-transform-function-name": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.4.4.tgz", "integrity": "sha1-4UNhFquwYQwiWQlISHVKxSMJIq0=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-literals": { + "node_modules/@babel/plugin-transform-literals": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.2.0.tgz", "integrity": "sha1-aQNT6B+SZ9rU/Yz9d+r6hqulPqE=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.2.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha1-+hCqXFiiy2r88sn/qMtNiz1Imi0=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-amd": { + "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.5.0.tgz", "integrity": "sha1-7wBDXUbaCllhqnKKHS7P8GPk+5E=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-commonjs": { + "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.5.0.tgz?cache=0&sync_timestamp=1562245150624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.5.0.tgz", "integrity": "sha1-QlEn5gRSMTYIWO6qR6cdde3tenQ=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-simple-access": "^7.1.0", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-systemjs": { + "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.5.0.tgz", "integrity": "sha1-51JmoT75QgLbKgYgl3dW9R1S0kk=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-hoist-variables": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-umd": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.2.0.tgz", "integrity": "sha1-dnjOdRafCHe46yI1U4wHQmjdAa4=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.4.5", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", "integrity": "sha1-nSaf0oo3AlgZm0KUc2gTpgu90QY=", "dev": true, - "requires": { + "dependencies": { "regexp-tree": "^0.1.6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-new-target": { + "node_modules/@babel/plugin-transform-new-target": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.4.4.tgz", "integrity": "sha1-GNEgQ4sMye6VpH8scryXaPvtYKU=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-object-super": { + "node_modules/@babel/plugin-transform-object-super": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha1-s11MEPVrq11lAEfa0PHY6IFLZZg=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-replace-supers": "^7.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-parameters": { + "node_modules/@babel/plugin-transform-parameters": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.4.4.tgz", "integrity": "sha1-dVbPA/MYvScZ/kySLS2Ai+VXHhY=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-call-delegate": "^7.4.4", "@babel/helper-get-function-arity": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-property-literals": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "7.2.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha1-A+M/ZT9bJcTrVyyYuUhQVbOJ6QU=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-regenerator": { + "node_modules/@babel/plugin-transform-regenerator": { "version": "7.4.5", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.4.5.tgz", "integrity": "sha1-Yp3IJRLFXO4BNB+ye9/LIQNUaA8=", "dev": true, - "requires": { + "dependencies": { "regenerator-transform": "^0.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-reserved-words": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.2.0", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.2.0.tgz", "integrity": "sha1-R5Kvh8mYpJNnWX0H/t8CY20uFjQ=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha1-YzOu4vjW7n4oYVRXKYk0o7RhmPA=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-spread": { + "node_modules/@babel/plugin-transform-spread": { "version": "7.2.2", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.2.2.tgz", "integrity": "sha1-MQOpq+IvdCttQG7NPNSbd0kZtAY=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-sticky-regex": { + "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha1-oeRUtZlVYKnB4NU338FQYf0mh+E=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { + "node_modules/@babel/plugin-transform-template-literals": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.4.4.tgz", "integrity": "sha1-nSj+p7vOY3+3YSoHUJidgyHUvLA=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { + "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.2.0", "resolved": "http://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.2.0.tgz", "integrity": "sha1-EX0rzsL79ktLWdH5gZiUaC0p8rI=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.4.4.tgz", "integrity": "sha1-q0Y0u08U02cov1l4Mis1WHeHlw8=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.5.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { + "node_modules/@babel/preset-env": { "version": "7.5.4", "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.5.4.tgz?cache=0&sync_timestamp=1562698761858&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.5.4.tgz", "integrity": "sha1-ZLwVBBo8uweYkwMZkX5w/MpXcT0=", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-async-generator-functions": "^7.2.0", @@ -763,39 +945,45 @@ "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/register": { + "node_modules/@babel/register": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/register/download/@babel/register-7.4.4.tgz", "integrity": "sha1-NwpoujbwjwFaizXUhkF2xrZdeiM=", "dev": true, - "requires": { + "dependencies": { "core-js": "^3.0.0", "find-cache-dir": "^2.0.0", "lodash": "^4.17.11", "mkdirp": "^0.5.1", "pirates": "^4.0.0", "source-map-support": "^0.5.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { + "node_modules/@babel/template": { "version": "7.4.4", "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.4.4.tgz", "integrity": "sha1-9LiNEiVomgj1vDoXSDVFvp5O0jc=", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.4.4", "@babel/types": "^7.4.4" } }, - "@babel/traverse": { + "node_modules/@babel/traverse": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.5.0.tgz?cache=0&sync_timestamp=1562245150727&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.5.0.tgz", "integrity": "sha1-QhbWWGhU71w8RZLatW7H63hIVIU=", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/generator": "^7.5.0", "@babel/helper-function-name": "^7.1.0", @@ -807,148 +995,148 @@ "lodash": "^4.17.11" } }, - "@babel/types": { + "node_modules/@babel/types": { "version": "7.5.0", "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.5.0.tgz?cache=0&sync_timestamp=1562245150780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.5.0.tgz", "integrity": "sha1-5H1DhAwuf5EFvE06LDcbTQx4Mqs=", "dev": true, - "requires": { + "dependencies": { "esutils": "^2.0.2", "lodash": "^4.17.11", "to-fast-properties": "^2.0.0" } }, - "@types/events": { + "node_modules/@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", "dev": true }, - "@types/glob": { + "node_modules/@types/glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", "dev": true, - "requires": { + "dependencies": { "@types/events": "*", "@types/minimatch": "*", "@types/node": "*" } }, - "@types/minimatch": { + "node_modules/@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, - "@types/node": { + "node_modules/@types/node": { "version": "13.7.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.0.tgz", "integrity": "sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==", "dev": true }, - "@webassemblyjs/ast": { + "node_modules/@webassemblyjs/ast": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz", "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", "@webassemblyjs/wast-parser": "1.8.5" } }, - "@webassemblyjs/floating-point-hex-parser": { + "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz", "integrity": "sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE=", "dev": true }, - "@webassemblyjs/helper-api-error": { + "node_modules/@webassemblyjs/helper-api-error": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz", "integrity": "sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc=", "dev": true }, - "@webassemblyjs/helper-buffer": { + "node_modules/@webassemblyjs/helper-buffer": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz", "integrity": "sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ=", "dev": true }, - "@webassemblyjs/helper-code-frame": { + "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz", "integrity": "sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/wast-printer": "1.8.5" } }, - "@webassemblyjs/helper-fsm": { + "node_modules/@webassemblyjs/helper-fsm": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz", "integrity": "sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI=", "dev": true }, - "@webassemblyjs/helper-module-context": { + "node_modules/@webassemblyjs/helper-module-context": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz", "integrity": "sha1-3vS5knsBAdyMu9jR7bW3ucguskU=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "mamacro": "^0.0.3" } }, - "@webassemblyjs/helper-wasm-bytecode": { + "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz", "integrity": "sha1-U3p1Dt31weky83RCBlUckcG5PmE=", "dev": true }, - "@webassemblyjs/helper-wasm-section": { + "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz", "integrity": "sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", "@webassemblyjs/wasm-gen": "1.8.5" } }, - "@webassemblyjs/ieee754": { + "node_modules/@webassemblyjs/ieee754": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz", "integrity": "sha1-cSMp2+8kDza/V70ve4+5v0FUQh4=", "dev": true, - "requires": { + "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, - "@webassemblyjs/leb128": { + "node_modules/@webassemblyjs/leb128": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz", "integrity": "sha1-BE7es06mefPgTNT9mCTV41dnrhA=", "dev": true, - "requires": { + "dependencies": { "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/utf8": { + "node_modules/@webassemblyjs/utf8": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz", "integrity": "sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw=", "dev": true }, - "@webassemblyjs/wasm-edit": { + "node_modules/@webassemblyjs/wasm-edit": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz", "integrity": "sha1-li2hKqWswcExyBxCMpkcgs5W4Bo=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", @@ -959,12 +1147,12 @@ "@webassemblyjs/wast-printer": "1.8.5" } }, - "@webassemblyjs/wasm-gen": { + "node_modules/@webassemblyjs/wasm-gen": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz", "integrity": "sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", "@webassemblyjs/ieee754": "1.8.5", @@ -972,24 +1160,24 @@ "@webassemblyjs/utf8": "1.8.5" } }, - "@webassemblyjs/wasm-opt": { + "node_modules/@webassemblyjs/wasm-opt": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz", "integrity": "sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-buffer": "1.8.5", "@webassemblyjs/wasm-gen": "1.8.5", "@webassemblyjs/wasm-parser": "1.8.5" } }, - "@webassemblyjs/wasm-parser": { + "node_modules/@webassemblyjs/wasm-parser": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz", "integrity": "sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-api-error": "1.8.5", "@webassemblyjs/helper-wasm-bytecode": "1.8.5", @@ -998,12 +1186,12 @@ "@webassemblyjs/utf8": "1.8.5" } }, - "@webassemblyjs/wast-parser": { + "node_modules/@webassemblyjs/wast-parser": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz", "integrity": "sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/floating-point-hex-parser": "1.8.5", "@webassemblyjs/helper-api-error": "1.8.5", @@ -1012,453 +1200,548 @@ "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/wast-printer": { + "node_modules/@webassemblyjs/wast-printer": { "version": "1.8.5", "resolved": "http://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz", "integrity": "sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/wast-parser": "1.8.5", "@xtuc/long": "4.2.2" } }, - "@xtuc/ieee754": { + "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", "dev": true }, - "@xtuc/long": { + "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "http://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", "dev": true }, - "accepts": { + "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, - "requires": { + "dependencies": { "mime-types": "~2.1.24", "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" } }, - "acorn": { + "node_modules/acorn": { "version": "6.2.0", "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.2.0.tgz", "integrity": "sha1-Z/DaL8M51s+11vskT9RJ8zzYu+M=", - "dev": true + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", - "dev": true + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "4.3.0", "resolved": "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.3.0.tgz", "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", "dev": true, - "requires": { + "dependencies": { "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" } }, - "ajv": { + "node_modules/ajv": { "version": "6.10.2", "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz", "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=", "dev": true, - "requires": { + "dependencies": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, - "ajv-errors": { + "node_modules/ajv-errors": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", - "dev": true + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } }, - "ajv-keywords": { + "node_modules/ajv-keywords": { "version": "3.4.1", "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=", - "dev": true + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "ansi-escapes": { + "node_modules/ansi-escapes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", "dev": true, - "requires": { + "dependencies": { "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" } }, - "ansi-html": { + "node_modules/ansi-html": { "version": "0.0.7", "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, - "requires": { + "dependencies": { "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "anymatch": { + "node_modules/anymatch": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", "dev": true, - "requires": { + "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" - }, + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "aproba": { + "node_modules/aproba": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", "dev": true }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", "dev": true, - "requires": { + "dependencies": { "sprintf-js": "~1.0.2" } }, - "argv": { + "node_modules/argv": { "version": "0.0.2", "resolved": "https://registry.npm.taobao.org/argv/download/argv-0.0.2.tgz", "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "engines": { + "node": ">=0.6.10" + } }, - "arr-diff": { + "node_modules/arr-diff": { "version": "4.0.0", "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "arr-flatten": { + "node_modules/arr-flatten": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "arr-union": { + "node_modules/arr-union": { "version": "3.1.0", "resolved": "http://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "array-flatten": { + "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, - "array-includes": { + "node_modules/array-includes": { "version": "3.0.3", "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "es-abstract": "^1.7.0" + }, + "engines": { + "node": ">= 0.4" } }, - "array-union": { + "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, - "requires": { + "dependencies": { "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "array-uniq": { + "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "array-unique": { + "node_modules/array-unique": { "version": "0.3.2", "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "asap": { + "node_modules/asap": { "version": "2.0.6", "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true, "optional": true }, - "asn1": { + "node_modules/asn1": { "version": "0.2.4", "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", "dev": true, "optional": true, - "requires": { + "dependencies": { "safer-buffer": "~2.1.0" } }, - "asn1.js": { + "node_modules/asn1.js": { "version": "4.10.1", "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "assert": { + "node_modules/assert": { "version": "1.5.0", "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", "dev": true, - "requires": { + "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } } }, - "assert-plus": { + "node_modules/assert-plus": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } }, - "assign-symbols": { + "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "astral-regex": { + "node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "async": { + "node_modules/async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.17.14" } }, - "async-each": { + "node_modules/async-each": { "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", "dev": true }, - "async-limiter": { + "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true, "optional": true }, - "atob": { + "node_modules/atob": { "version": "2.1.2", "resolved": "http://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "aws-sign2": { + "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": "*" + } }, - "aws4": { + "node_modules/aws4": { "version": "1.8.0", "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz", "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=", "dev": true, "optional": true }, - "babel-code-frame": { + "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, - "requires": { + "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" - }, + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" } }, - "babel-loader": { + "node_modules/babel-loader": { "version": "8.0.6", "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.6.tgz", "integrity": "sha1-4zvbbzYrA/S7FBoMIauHxQG3Dfs=", "dev": true, - "requires": { + "dependencies": { "find-cache-dir": "^2.0.0", "loader-utils": "^1.0.2", "mkdirp": "^0.5.1", "pify": "^4.0.1" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "babel-plugin-dynamic-import-node": { + "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.0", "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.0.tgz", "integrity": "sha1-8A9Qe9qjw+P/bn5emNkKesq5b38=", "dev": true, - "requires": { + "dependencies": { "object.assign": "^4.1.0" } }, - "babel-polyfill": { + "node_modules/babel-polyfill": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", - "requires": { + "dependencies": { "babel-runtime": "^6.22.0", "core-js": "^2.4.0", "regenerator-runtime": "^0.10.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" - } } }, - "babel-runtime": { + "node_modules/babel-polyfill/node_modules/core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { + "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } } }, - "balanced-match": { + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/balanced-match": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base": { + "node_modules/base": { "version": "0.11.2", "resolved": "http://registry.npm.taobao.org/base/download/base-0.11.2.tgz", "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", "dev": true, - "requires": { + "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", @@ -1467,109 +1750,128 @@ "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "base64-js": { + "node_modules/base64-js": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.3.0.tgz", "integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM=", "dev": true }, - "batch": { + "node_modules/batch": { "version": "0.6.1", "resolved": "http://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "bcrypt-pbkdf": { + "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, - "requires": { + "dependencies": { "tweetnacl": "^0.14.3" } }, - "big.js": { + "node_modules/big.js": { "version": "5.2.2", "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz", "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "bindings": { + "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "optional": true, - "requires": { + "dependencies": { "file-uri-to-path": "1.0.0" } }, - "bluebird": { + "node_modules/bluebird": { "version": "3.5.5", "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.5.tgz", "integrity": "sha1-qNCv1zJR7/u9X+OEp31zADwXpx8=", "dev": true }, - "bn.js": { + "node_modules/bn.js": { "version": "4.11.8", "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", "dev": true }, - "body-parser": { + "node_modules/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", @@ -1581,42 +1883,49 @@ "raw-body": "2.4.0", "type-is": "~1.6.17" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" } }, - "bonjour": { + "node_modules/bonjour": { "version": "3.5.0", "resolved": "http://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, - "requires": { + "dependencies": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", "dns-equal": "^1.0.0", @@ -1625,28 +1934,28 @@ "multicast-dns-service-types": "^1.1.0" } }, - "boolbase": { + "node_modules/boolbase": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", "dev": true, - "requires": { + "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", "extend-shallow": "^2.0.1", @@ -1658,36 +1967,40 @@ "split-string": "^3.0.2", "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "brorand": { + "node_modules/brorand": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz", "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", "dev": true }, - "browserify-aes": { + "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", "dev": true, - "requires": { + "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", @@ -1696,45 +2009,45 @@ "safe-buffer": "^5.0.1" } }, - "browserify-cipher": { + "node_modules/browserify-cipher": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", "dev": true, - "requires": { + "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, - "browserify-des": { + "node_modules/browserify-des": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "browserify-rsa": { + "node_modules/browserify-rsa": { "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" } }, - "browserify-sign": { + "node_modules/browserify-sign": { "version": "4.0.4", "resolved": "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.1", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", @@ -1744,73 +2057,80 @@ "parse-asn1": "^5.0.0" } }, - "browserify-zlib": { + "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", "dev": true, - "requires": { + "dependencies": { "pako": "~1.0.5" } }, - "browserslist": { + "node_modules/browserslist": { "version": "4.6.6", "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.6.6.tgz", "integrity": "sha1-bkv0Z83lILydvfN0fa+gNTHOxFM=", "dev": true, - "requires": { + "dependencies": { "caniuse-lite": "^1.0.30000984", "electron-to-chromium": "^1.3.191", "node-releases": "^1.1.25" + }, + "bin": { + "browserslist": "cli.js" } }, - "buffer": { + "node_modules/buffer": { "version": "4.9.1", "resolved": "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", "dev": true, - "requires": { + "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", "dev": true }, - "buffer-indexof": { + "node_modules/buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "buffer-xor": { + "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "builtin-status-codes": { + "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "bytes": { + "node_modules/bytes": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "cacache": { + "node_modules/cacache": { "version": "11.3.3", "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-11.3.3.tgz", "integrity": "sha1-i9Kd+ManGKbr0tAQ2k15cq47utw=", "dev": true, - "requires": { + "dependencies": { "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", @@ -1827,12 +2147,12 @@ "y18n": "^4.0.0" } }, - "cache-base": { + "node_modules/cache-base": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", "dev": true, - "requires": { + "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", @@ -1842,70 +2162,82 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "camel-case": { + "node_modules/camel-case": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, - "requires": { + "dependencies": { "no-case": "^2.2.0", "upper-case": "^1.1.1" } }, - "camelcase": { + "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "caniuse-lite": { + "node_modules/caniuse-lite": { "version": "1.0.30000984", "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000984.tgz", "integrity": "sha1-3JbDxGnpvPxq1b3STHfskY6nb+A=", "dev": true }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true, "optional": true }, - "chalk": { + "node_modules/chalk": { "version": "2.4.2", "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "chardet": { + "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "chokidar": { + "node_modules/chokidar": { "version": "2.1.6", "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.6.tgz?cache=0&sync_timestamp=1562457945399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.6.tgz", "integrity": "sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU=", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, - "requires": { + "dependencies": { "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -1914,235 +2246,281 @@ "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "chownr": { + "node_modules/chownr": { "version": "1.1.2", "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.2.tgz", "integrity": "sha1-oY8eCyacimpdPIbrKYvrFMPde/Y=", "dev": true }, - "chrome-trace-event": { + "node_modules/chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", "dev": true, - "requires": { + "dependencies": { "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" } }, - "cipher-base": { + "node_modules/cipher-base": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "class-utils": { + "node_modules/class-utils": { "version": "0.3.6", "resolved": "http://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", "dev": true, - "requires": { + "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "clean-css": { + "node_modules/clean-css": { "version": "4.2.1", "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-4.2.1.tgz", "integrity": "sha1-LUEe92uFabbQyEBo2r6FsKpeXBc=", "dev": true, - "requires": { + "dependencies": { "source-map": "~0.6.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "clean-webpack-plugin": { + "node_modules/clean-webpack-plugin": { "version": "0.1.19", "resolved": "https://registry.npm.taobao.org/clean-webpack-plugin/download/clean-webpack-plugin-0.1.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-webpack-plugin%2Fdownload%2Fclean-webpack-plugin-0.1.19.tgz", "integrity": "sha1-ztqLuWsA/haOmwgCcpYNIP3K3W0=", "dev": true, - "requires": { + "dependencies": { "rimraf": "^2.6.1" } }, - "cli-cursor": { + "node_modules/cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { + "dependencies": { "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "cli-width": { + "node_modules/cli-width": { "version": "2.2.0", "resolved": "http://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz", "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, - "cliui": { + "node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", "dev": true, - "requires": { + "dependencies": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "clone": { + "node_modules/clone": { "version": "2.1.2", "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8" + } }, - "code-point-at": { + "node_modules/code-point-at": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "codecov": { + "node_modules/codecov": { "version": "3.5.0", "resolved": "https://registry.npm.taobao.org/codecov/download/codecov-3.5.0.tgz", "integrity": "sha1-PQdIky+ctB4a1/Ifo0bvGysb7Uc=", "dev": true, - "requires": { + "dependencies": { "argv": "^0.0.2", "ignore-walk": "^3.0.1", "js-yaml": "^3.13.1", "teeny-request": "^3.11.3", "urlgrey": "^0.4.4" + }, + "bin": { + "codecov": "bin/codecov" + }, + "engines": { + "node": ">=4.0" } }, - "collection-visit": { + "node_modules/collection-visit": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, - "requires": { + "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "color-convert": { + "node_modules/color-convert": { "version": "1.9.3", "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", "dev": true, - "requires": { + "dependencies": { "color-name": "1.1.3" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", "dev": true, "optional": true, - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "commander": { + "node_modules/commander": { "version": "2.17.1", "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", "dev": true }, - "commondir": { + "node_modules/commondir": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "component-emitter": { + "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", "dev": true }, - "compressible": { + "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "requires": { + "dependencies": { "mime-db": ">= 1.43.0 < 2" }, - "dependencies": { - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "dev": true - } + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "compression": { + "node_modules/compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", @@ -2151,143 +2529,160 @@ "safe-buffer": "5.1.2", "vary": "~1.1.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ms": "2.0.0" } }, - "concat-map": { + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat-map": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", "dev": true, - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "confusing-browser-globals": { + "node_modules/confusing-browser-globals": { "version": "1.0.7", "resolved": "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.7.tgz", "integrity": "sha1-WuhSvVQakQ5/+y27hkotIaNq0ps=", "dev": true }, - "connect-history-api-fallback": { + "node_modules/connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8" + } }, - "console-browserify": { + "node_modules/console-browserify": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, - "requires": { + "dependencies": { "date-now": "^0.1.4" } }, - "constants-browserify": { + "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "contains-path": { + "node_modules/contains-path": { "version": "0.1.0", "resolved": "http://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz", "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "content-disposition": { + "node_modules/content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" } }, - "content-type": { + "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "convert-source-map": { + "node_modules/convert-source-map": { "version": "1.6.0", "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz", "integrity": "sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "~5.1.1" } }, - "cookie": { + "node_modules/cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "cookie-signature": { + "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "copy-concurrently": { + "node_modules/copy-concurrently": { "version": "1.0.5", "resolved": "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", "dev": true, - "requires": { + "dependencies": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", "iferr": "^0.1.5", @@ -2296,65 +2691,73 @@ "run-queue": "^1.0.0" } }, - "copy-descriptor": { + "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "core-js": { + "node_modules/core-js": { "version": "3.1.4", "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.1.4.tgz", "integrity": "sha1-Oig3/EjlguGuJZB6/NbPA7DMegc=", - "dev": true + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true }, - "core-js-compat": { + "node_modules/core-js-compat": { "version": "3.1.4", "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.1.4.tgz", "integrity": "sha1-5NDED70B5lsdRXmA/kES1DWKdAg=", "dev": true, - "requires": { + "dependencies": { "browserslist": "^4.6.2", "core-js-pure": "3.1.4", "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.2.0.tgz", - "integrity": "sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds=", - "dev": true - } } }, - "core-js-pure": { + "node_modules/core-js-compat/node_modules/semver": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.2.0.tgz", + "integrity": "sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { "version": "3.1.4", "resolved": "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.1.4.tgz", "integrity": "sha1-X6F9x3ACoWmjVmzEjcd00uE+N2k=", - "dev": true + "deprecated": "core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.", + "dev": true, + "hasInstallScript": true }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "create-ecdh": { + "node_modules/create-ecdh": { "version": "4.0.3", "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" } }, - "create-hash": { + "node_modules/create-hash": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", @@ -2362,12 +2765,12 @@ "sha.js": "^2.4.0" } }, - "create-hmac": { + "node_modules/create-hmac": { "version": "1.1.7", "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", @@ -2376,25 +2779,28 @@ "sha.js": "^2.4.8" } }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "6.0.5", "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", "dev": true, - "requires": { + "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" } }, - "crypto-browserify": { + "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", "dev": true, - "requires": { + "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", "create-ecdh": "^4.0.0", @@ -2406,14 +2812,17 @@ "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" } }, - "css-loader": { + "node_modules/css-loader": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-1.0.1.tgz", "integrity": "sha1-aIW7UjOzXsR7AGBX2gHMZAtref4=", "dev": true, - "requires": { + "dependencies": { "babel-code-frame": "^6.26.0", "css-selector-tokenizer": "^0.7.0", "icss-utils": "^2.1.0", @@ -2426,206 +2835,251 @@ "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "css-select": { + "node_modules/css-select": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, - "requires": { + "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", "domutils": "1.5.1", "nth-check": "~1.0.1" } }, - "css-selector-tokenizer": { + "node_modules/css-selector-tokenizer": { "version": "0.7.1", "resolved": "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.1.tgz", "integrity": "sha1-oXcnGovKUBkXL0+JH8bu2cv2jV0=", "dev": true, - "requires": { + "dependencies": { "cssesc": "^0.1.0", "fastparse": "^1.1.1", "regexpu-core": "^1.0.0" - }, + } + }, + "node_modules/css-selector-tokenizer/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/css-selector-tokenizer/node_modules/regexpu-core": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/css-selector-tokenizer/node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "node_modules/css-selector-tokenizer/node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "css-what": { + "node_modules/css-what": { "version": "2.1.3", "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "cssesc": { + "node_modules/cssesc": { "version": "0.1.0", "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz", "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + } }, - "cyclist": { + "node_modules/cyclist": { "version": "0.2.2", "resolved": "http://registry.npm.taobao.org/cyclist/download/cyclist-0.2.2.tgz", "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, - "dashdash": { + "node_modules/dashdash": { "version": "1.14.1", "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "optional": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "date-now": { + "node_modules/date-now": { "version": "0.1.4", "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz", "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", "dev": true }, - "debug": { + "node_modules/debug": { "version": "4.1.1", "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, - "requires": { + "dependencies": { "ms": "^2.1.1" } }, - "decamelize": { + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "decode-uri-component": { + "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "deep-equal": { + "node_modules/deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, - "requires": { + "dependencies": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", "is-regex": "^1.0.4", "object-is": "^1.0.1", "object-keys": "^1.1.1", "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.3", "resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "default-gateway": { + "node_modules/default-gateway": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, - "requires": { + "dependencies": { "execa": "^1.0.0", "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "define-properties": { + "node_modules/define-properties": { "version": "1.1.3", "resolved": "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", "dev": true, - "requires": { + "dependencies": { "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" } }, - "define-property": { + "node_modules/define-property": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, - "requires": { + "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "del": { + "node_modules/del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, - "requires": { + "dependencies": { "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", @@ -2633,217 +3087,237 @@ "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": ">=0.4.0" + } }, - "depd": { + "node_modules/depd": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "des.js": { + "node_modules/des.js": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "destroy": { + "node_modules/destroy": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detect-file": { + "node_modules/detect-file": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "detect-node": { + "node_modules/detect-node": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, - "diff": { + "node_modules/diff": { "version": "3.5.0", "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz", "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.1" + } }, - "diffie-hellman": { + "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" } }, - "dns-equal": { + "node_modules/dns-equal": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", "dev": true }, - "dns-packet": { + "node_modules/dns-packet": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, - "requires": { + "dependencies": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" } }, - "dns-txt": { + "node_modules/dns-txt": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, - "requires": { + "dependencies": { "buffer-indexof": "^1.0.0" } }, - "doctrine": { + "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { + "dependencies": { "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "dom-converter": { + "node_modules/dom-converter": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", "dev": true, - "requires": { + "dependencies": { "utila": "~0.4" } }, - "dom-serializer": { + "node_modules/dom-serializer": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.1.tgz", "integrity": "sha1-HsQFnihLq+027sKUHUqXChic58A=", "dev": true, - "requires": { + "dependencies": { "domelementtype": "^1.3.0", "entities": "^1.1.1" } }, - "domain-browser": { + "node_modules/domain-browser": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } }, - "domelementtype": { + "node_modules/domelementtype": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", "dev": true }, - "domhandler": { + "node_modules/domhandler": { "version": "2.4.2", "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", "dev": true, - "requires": { + "dependencies": { "domelementtype": "1" } }, - "domutils": { + "node_modules/domutils": { "version": "1.5.1", "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, - "requires": { + "dependencies": { "dom-serializer": "0", "domelementtype": "1" } }, - "duplexify": { + "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", "dev": true, - "requires": { + "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "ecc-jsbn": { + "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, - "requires": { + "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "ee-first": { + "node_modules/ee-first": { "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "electron-to-chromium": { + "node_modules/electron-to-chromium": { "version": "1.3.191", "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.191.tgz", "integrity": "sha1-xFG0Is2LLquE3tq6tavK4ervtvA=", "dev": true }, - "elliptic": { + "node_modules/elliptic": { "version": "6.5.0", "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.0.tgz", "integrity": "sha1-K47UyJG33jIA4UQSpbgkjHr1Bco=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.4.0", "brorand": "^1.0.1", "hash.js": "^1.0.0", @@ -2853,133 +3327,154 @@ "minimalistic-crypto-utils": "^1.0.0" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", "dev": true }, - "emojis-list": { + "node_modules/emojis-list": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "encodeurl": { + "node_modules/encodeurl": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "encoding": { + "node_modules/encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { + "dependencies": { "iconv-lite": "~0.4.13" } }, - "end-of-stream": { + "node_modules/end-of-stream": { "version": "1.4.1", "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", "dev": true, - "requires": { + "dependencies": { "once": "^1.4.0" } }, - "enhanced-resolve": { + "node_modules/enhanced-resolve": { "version": "4.1.0", "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.0.tgz", "integrity": "sha1-Qcfgv9/nSsH/4eV61qXGyfN0Kn8=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "entities": { + "node_modules/entities": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz", "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", "dev": true }, - "errno": { + "node_modules/errno": { "version": "0.1.7", "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", "dev": true, - "requires": { + "dependencies": { "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "error-ex": { + "node_modules/error-ex": { "version": "1.3.2", "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", "dev": true, - "requires": { + "dependencies": { "is-arrayish": "^0.2.1" } }, - "es-abstract": { + "node_modules/es-abstract": { "version": "1.13.0", "resolved": "http://registry.npm.taobao.org/es-abstract/download/es-abstract-1.13.0.tgz", "integrity": "sha1-rIYUX91QmdjdSVWMy6Lq+biOJOk=", "dev": true, - "requires": { + "dependencies": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", "has": "^1.0.3", "is-callable": "^1.1.4", "is-regex": "^1.0.4", "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" } }, - "es-to-primitive": { + "node_modules/es-to-primitive": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.0.tgz", "integrity": "sha1-7fckeAM0VujdqO8J4ArZZQcH83c=", "dev": true, - "requires": { + "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "es6-promise": { + "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes6-promise%2Fdownload%2Fes6-promise-4.2.8.tgz", "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=", "dev": true }, - "es6-promisify": { + "node_modules/es6-promisify": { "version": "5.0.0", "resolved": "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, - "requires": { + "dependencies": { "es6-promise": "^4.0.3" } }, - "escape-html": { + "node_modules/escape-html": { "version": "1.0.3", "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } }, - "eslint": { + "node_modules/eslint": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", "chalk": "^2.1.0", @@ -3018,181 +3513,163 @@ "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", - "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-config-airbnb-base": { + "node_modules/eslint-config-airbnb-base": { "version": "13.2.0", "resolved": "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-13.2.0.tgz", "integrity": "sha1-9uqBRZ/03sLdogDDXx2PdBnVeUM=", "dev": true, - "requires": { + "dependencies": { "confusing-browser-globals": "^1.0.5", "object.assign": "^4.1.0", "object.entries": "^1.1.0" + }, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "eslint": "^4.19.1 || ^5.3.0", + "eslint-plugin-import": "^2.17.2" } }, - "eslint-import-resolver-node": { + "node_modules/eslint-import-resolver-node": { "version": "0.3.2", "resolved": "http://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz", "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=", "dev": true, - "requires": { + "dependencies": { "debug": "^2.6.9", "resolve": "^1.5.0" - }, + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ms": "2.0.0" } }, - "eslint-module-utils": { + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-module-utils": { "version": "2.4.0", "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.4.0.tgz", "integrity": "sha1-i5NJnpsA6rgMy2YU5p8DZ46E4Jo=", "dev": true, - "requires": { + "dependencies": { "debug": "^2.6.8", "pkg-dir": "^2.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } + "ms": "2.0.0" + } + }, + "node_modules/eslint-module-utils/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-module-utils/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "eslint-plugin-import": { + "node_modules/eslint-plugin-import": { "version": "2.18.0", "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.0.tgz", "integrity": "sha1-eluo0yYi+zXrnI2xlcIJC9GKNng=", "dev": true, - "requires": { + "dependencies": { "array-includes": "^3.0.3", "contains-path": "^0.1.0", "debug": "^2.6.9", @@ -3205,157 +3682,275 @@ "read-pkg-up": "^2.0.0", "resolve": "^1.11.0" }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "2.x - 6.x" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "http://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "eslint-scope": { + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz", "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", "dev": true, - "requires": { + "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" } }, - "eslint-utils": { + "node_modules/eslint-utils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, - "requires": { + "dependencies": { "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" } }, - "eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } }, - "espree": { + "node_modules/espree": { "version": "6.1.2", "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", "dev": true, - "requires": { + "dependencies": { "acorn": "^7.1.0", "acorn-jsx": "^5.1.0", "eslint-visitor-keys": "^1.1.0" }, - "dependencies": { - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true - } + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "esquery": { + "node_modules/esquery": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^4.0.0" + }, + "engines": { + "node": ">=0.6" } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.2.1", "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", "dev": true, - "requires": { + "dependencies": { "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "4.2.0", "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz", "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "etag": { + "node_modules/etag": { "version": "1.8.1", "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "eventemitter3": { + "node_modules/eventemitter3": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", "dev": true }, - "events": { + "node_modules/events": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/events/download/events-3.0.0.tgz", "integrity": "sha1-mgoN+vYok9krh1uPJpjKQRSXPog=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.x" + } }, - "eventsource": { + "node_modules/eventsource": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "dev": true, - "requires": { + "dependencies": { "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" } }, - "evp_bytestokey": { + "node_modules/evp_bytestokey": { "version": "1.0.3", "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", "dev": true, - "requires": { + "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, - "execa": { + "node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", "dev": true, - "requires": { + "dependencies": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", "is-stream": "^1.1.0", @@ -3363,14 +3958,17 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" } }, - "expand-brackets": { + "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, - "requires": { + "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", @@ -3379,57 +3977,67 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "expand-tilde": { + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, - "requires": { + "dependencies": { "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "express": { + "node_modules/express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.0", @@ -3461,81 +4069,92 @@ "utils-merge": "1.0.1", "vary": "~1.1.2" }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "engines": { + "node": ">= 0.10.0" } }, - "extend": { - "version": "3.0.2", - "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", "dev": true, "optional": true }, - "extend-shallow": { + "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, - "requires": { + "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "external-editor": { + "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, - "requires": { + "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" } }, - "extglob": { + "node_modules/extglob": { "version": "2.0.4", "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", "dev": true, - "requires": { + "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", @@ -3545,165 +4164,203 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "extsprintf": { + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, + "engines": [ + "node >=0.6.0" + ], "optional": true }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&sync_timestamp=1562517919182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fastparse": { + "node_modules/fastparse": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", "dev": true }, - "faye-websocket": { + "node_modules/faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffaye-websocket%2Fdownload%2Ffaye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, - "requires": { + "dependencies": { "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" } }, - "figgy-pudding": { + "node_modules/figgy-pudding": { "version": "3.5.1", "resolved": "http://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz", "integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A=", "dev": true }, - "figures": { + "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { + "dependencies": { "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" } }, - "file-entry-cache": { + "node_modules/file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, - "requires": { + "dependencies": { "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "file-loader": { + "node_modules/file-loader": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-2.0.0.tgz", "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=", "dev": true, - "requires": { + "dependencies": { "loader-utils": "^1.0.2", "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" } }, - "file-uri-to-path": { + "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true }, - "fill-range": { + "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "finalhandler": { + "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -3712,4054 +4369,4968 @@ "statuses": "~1.5.0", "unpipe": "~1.0.0" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ms": "2.0.0" } }, - "find-cache-dir": { + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", "dev": true, - "requires": { + "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "find-up": { + "node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", "dev": true, - "requires": { + "dependencies": { "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "findup-sync": { + "node_modules/findup-sync": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/findup-sync/download/findup-sync-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffindup-sync%2Fdownload%2Ffindup-sync-3.0.0.tgz", "integrity": "sha1-F7EI+e5RLft6XH88iyfqnhqcCNE=", "dev": true, - "requires": { + "dependencies": { "detect-file": "^1.0.0", "is-glob": "^4.0.0", "micromatch": "^3.0.4", "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "flat-cache": { + "node_modules/flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, - "requires": { + "dependencies": { "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" + }, + "engines": { + "node": ">=4" } }, - "flatted": { + "node_modules/flatted": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, - "flush-write-stream": { + "node_modules/flush-write-stream": { "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" - }, + } + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.10.0.tgz", "integrity": "sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ==", "dev": true, - "requires": { + "dependencies": { "debug": "^3.0.0" }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "ms": "^2.1.1" } }, - "for-in": { + "node_modules/for-in": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "forever-agent": { + "node_modules/forever-agent": { "version": "0.6.1", "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": "*" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", "dev": true, "optional": true, - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "forwarded": { + "node_modules/forwarded": { "version": "0.1.2", "resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "fragment-cache": { + "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "http://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, - "requires": { + "dependencies": { "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "fresh": { + "node_modules/fresh": { "version": "0.5.2", "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "from2": { + "node_modules/from2": { "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" } }, - "fs-write-stream-atomic": { + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-write-stream-atomic": { "version": "1.0.10", "resolved": "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" - }, + } + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { + "node_modules/fsevents": { "version": "1.2.11", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, + "hasInstallScript": true, "optional": true, - "requires": { + "os": [ + "darwin" + ], + "dependencies": { "bindings": "^1.5.0", "nan": "^2.12.1", "node-pre-gyp": "*" }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": 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", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } + "engines": { + "node": ">=4.0" } }, - "function-bind": { + "node_modules/fsevents/node_modules/abbrev": { "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, - "requires": { - "pump": "^3.0.0" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "get-value": { - "version": "2.0.6", - "resolved": "http://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "getpass": { - "version": "0.1.7", - "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", "dev": true, + "inBundle": true, + "license": "ISC", "optional": true, - "requires": { - "assert-plus": "^1.0.0" + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.4.tgz", - "integrity": "sha1-qmCKL2xXetNX4a5aXCbZqNGWklU=", + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", "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" - } + "inBundle": true, + "license": "MIT", + "optional": true }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, + "inBundle": true, + "license": "MIT", + "optional": true, "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "global-modules": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", - "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.3", "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", - "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } + "inBundle": true, + "license": "ISC", + "optional": true }, - "global-prefix": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1562335642755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.0.tgz", - "integrity": "sha1-jY/cc5d8sEEEchy1NmbBymTNMos=", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "http://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz", - "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", - "dev": true + "inBundle": true, + "license": "MIT", + "optional": true }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", "dev": true, + "inBundle": true, + "license": "MIT", "optional": true }, - "har-validator": { - "version": "5.1.3", - "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", - "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "node_modules/fsevents/node_modules/debug": { + "version": "3.2.6", "dev": true, + "inBundle": true, + "license": "MIT", "optional": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "dependencies": { + "ms": "^2.1.1" } }, - "has": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { + "node_modules/fsevents/node_modules/delegates": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "has-value": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" } }, - "has-values": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.7", "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "minipass": "^2.6.0" } }, - "hash-base": { - "version": "3.0.4", - "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "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" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", - "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.6", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "he": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", - "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.3", "dev": true, - "requires": { - "parse-passwd": "^1.0.0" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" } }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.7.1.tgz", - "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc=", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "http://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "once": "^1.3.0", + "wrappy": "1" } }, - "html-entities": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", - "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" } }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, + "inBundle": true, + "license": "MIT", + "optional": true, "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", "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" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "http://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true + "inBundle": true, + "license": "MIT", + "optional": true }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "node_modules/fsevents/node_modules/minipass": { + "version": "2.9.0", "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.3.3", "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.9.0" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", "dev": true, + "inBundle": true, + "license": "MIT", "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "https-proxy-agent": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.2.tgz", - "integrity": "sha1-Jx6o6Q+DasnxGdrM05wZ/337B5M=", + "node_modules/fsevents/node_modules/needle": { + "version": "2.4.0", "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, + "inBundle": true, + "license": "MIT", + "optional": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.14.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", "dev": true, - "requires": { - "postcss": "^6.0.1" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" } }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", - "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.1.tgz", - "integrity": "sha1-qD5i59JyrA47VRqqgoMaGbafgvg=", + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.1.1", "dev": true, - "requires": { - "minimatch": "^3.0.4" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" } }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "node_modules/fsevents/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", "dev": true, + "inBundle": true, + "license": "ISC", "optional": true }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.7", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", - "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", - "dev": true + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - } + "wrappy": "1" } }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "interpret": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz", - "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", - "dev": true + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "invariant": { - "version": "2.2.4", - "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", - "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", "dev": true, - "requires": { - "loose-envify": "^1.0.0" + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", - "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", - "dev": true + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "ip": { - "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "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" + } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.7.1", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", "dev": true, - "requires": { - "binary-extensions": "^1.0.0" + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "is-callable": { - "version": "1.1.4", - "resolved": "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz", - "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=", - "dev": true + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "inBundle": true, + "license": "MIT", + "optional": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "safe-buffer": "~5.1.0" } }, - "is-date-object": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.13", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", "dev": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "http://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.4.tgz", + "integrity": "sha1-qmCKL2xXetNX4a5aXCbZqNGWklU=", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-modules/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1562335642755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.0.tgz", + "integrity": "sha1-jY/cc5d8sEEEchy1NmbBymTNMos=", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "http://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", + "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "deprecated": "this library is no longer supported", + "dev": true, + "optional": true, + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.7.1", + "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.7.1.tgz", + "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc=", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "http://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true, + "engines": [ + "node >= 0.4.0" + ] + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "http://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.2.tgz", + "integrity": "sha1-Jx6o6Q+DasnxGdrM05wZ/337B5M=", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.6", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "node_modules/icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", + "dev": true + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.1.tgz", + "integrity": "sha1-qD5i59JyrA47VRqqgoMaGbafgvg=", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "node_modules/inquirer/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/inquirer/node_modules/onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/interpret": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz", + "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "http://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.1.4", + "resolved": "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz", + "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "node_modules/is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-stream%2Fdownload%2Fis-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-symbol": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz", + "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "optional": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha1-pfY9kfC7wMPkee9MXeAnM17G1jA=", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.2.0.tgz", + "integrity": "sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "http://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz", + "integrity": "sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true, + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-2.1.0.tgz", + "integrity": "sha1-56DGLEgoXGKNIKELhcibuAfDKFA=", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "optional": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less": { + "version": "3.9.0", + "resolved": "http://registry.npm.taobao.org/less/download/less-3.9.0.tgz", + "integrity": "sha1-t1EcQ/N89X3Iff/ZiD7BISibFHQ=", + "dev": true, + "dependencies": { + "clone": "^2.1.2" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=4" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.4.1", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "^2.83.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz", + "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "less": "^2.3.1 || ^3.0.0", + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/less-loader/node_modules/pify": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz", + "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.14", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.14.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.14.tgz", + "integrity": "sha1-nOSHrmbJYlT+ILWZ8htoFgKAeLo=" + }, + "node_modules/loglevel": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "http://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz", + "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q=", + "dev": true + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "http://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz", + "integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.24.tgz", + "integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=", + "dev": true, + "dependencies": { + "mime-db": "1.40.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.4.5", + "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.4.5.tgz", + "integrity": "sha1-yZ6eeNVPP6d1YzruWTOuqk6AcZo=", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&sync_timestamp=1561436244196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/mocha": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-5.2.0.tgz", + "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mocha/node_modules/commander": { + "version": "2.15.1", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", + "dev": true + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/he": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "node_modules/nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz", + "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.0.tgz", + "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-releases": { + "version": "1.1.25", + "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.25.tgz", + "integrity": "sha1-DC19vH/tMPvgKp7jAHuMkL8BM9M=", + "dev": true, + "dependencies": { + "semver": "^5.3.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc": { + "version": "13.3.0", + "resolved": "https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz", + "integrity": "sha1-2k2+kanIuerT9PM0THbzU+PHjHU=", + "bundleDependencies": [ + "archy", + "arrify", + "caching-transform", + "convert-source-map", + "find-cache-dir", + "find-up", + "foreground-child", + "glob", + "istanbul-lib-coverage", + "istanbul-lib-hook", + "istanbul-lib-report", + "istanbul-lib-source-maps", + "istanbul-reports", + "make-dir", + "merge-source-map", + "resolve-from", + "rimraf", + "signal-exit", + "spawn-wrap", + "test-exclude", + "uuid", + "yargs", + "yargs-parser" + ], + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^3.0.1", + "convert-source-map": "^1.6.0", + "find-cache-dir": "^2.0.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.3", + "istanbul-lib-hook": "^2.0.3", + "istanbul-lib-instrument": "^3.1.0", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.2", + "istanbul-reports": "^2.1.1", + "make-dir": "^1.3.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.1.0", + "uuid": "^3.3.2", + "yargs": "^12.0.5", + "yargs-parser": "^11.1.1" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/append-transform": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/arrify": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/async": { + "version": "2.6.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.11" + } + }, + "node_modules/nyc/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nyc/node_modules/caching-transform": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "hasha": "^3.0.0", + "make-dir": "^1.3.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/camelcase": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/nyc/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/commander": { + "version": "2.17.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/nyc/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/nyc/node_modules/cross-spawn": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/nyc/node_modules/debug": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nyc/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/default-require-extensions": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/end-of-stream": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/nyc/node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/nyc/node_modules/es6-error": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/execa": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/foreground-child": { + "version": "1.5.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/nyc/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-caller-file": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/graceful-fs": { + "version": "4.1.15", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/handlebars": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/nyc/node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/hasha": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-stream": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/hosted-git-info": { + "version": "2.7.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/nyc/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/nyc/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/invert-kv": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/istanbul-lib-coverage": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-hook": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "supports-color": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/istanbul-lib-source-maps": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "rimraf": "^2.6.2", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "node_modules/nyc/node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "is-extglob": { + "node_modules/nyc/node_modules/istanbul-reports": { "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "handlebars": "^4.1.0" + }, + "engines": { + "node": ">=6" + } }, - "is-fullwidth-code-point": { + "node_modules/nyc/node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/lcid": { "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "node_modules/nyc/node_modules/load-json-file": { + "version": "4.0.0", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "is-number": { + "node_modules/nyc/node_modules/locate-path": { "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true + "node_modules/nyc/node_modules/lodash": { + "version": "4.17.11", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "node_modules/nyc/node_modules/lodash.flattendeep": { + "version": "4.4.0", "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } + "inBundle": true, + "license": "MIT" }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "node_modules/nyc/node_modules/lru-cache": { + "version": "4.1.5", "dev": true, - "requires": { - "path-is-inside": "^1.0.2" + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "node_modules/nyc/node_modules/make-dir": { + "version": "1.3.0", "dev": true, - "requires": { - "isobject": "^3.0.1" + "inBundle": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "is-promise": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "node_modules/nyc/node_modules/map-age-cleaner": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } }, - "is-regex": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "node_modules/nyc/node_modules/mem": { + "version": "4.1.0", "dev": true, - "requires": { - "has": "^1.0.1" + "inBundle": true, + "license": "MIT", + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "is-stream": { + "node_modules/nyc/node_modules/merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-stream%2Fdownload%2Fis-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz", - "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", "dev": true, - "requires": { - "has-symbols": "^1.0.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "node_modules/nyc/node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", "dev": true, - "optional": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "isstream": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "node_modules/nyc/node_modules/mimic-fn": { + "version": "1.2.0", "dev": true, - "optional": true - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=", - "dev": true + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha1-pfY9kfC7wMPkee9MXeAnM17G1jA=", + "node_modules/nyc/node_modules/minimatch": { + "version": "3.0.4", "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, + "inBundle": true, + "license": "ISC", "dependencies": { - "semver": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.2.0.tgz", - "integrity": "sha1-TYE9lZCq+KkZJpPWyFuTRN5ZAds=", - "dev": true - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "http://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz", - "integrity": "sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true + "node_modules/nyc/node_modules/minimist": { + "version": "0.0.10", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "node_modules/nyc/node_modules/mkdirp": { + "version": "0.5.1", "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "node_modules/nyc/node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", "dev": true, - "optional": true + "inBundle": true, + "license": "MIT" }, - "jsesc": { - "version": "2.5.2", - "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true + "node_modules/nyc/node_modules/ms": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true + "node_modules/nyc/node_modules/nice-try": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "json-schema": { - "version": "0.2.3", - "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "node_modules/nyc/node_modules/normalize-package-data": { + "version": "2.5.0", "dev": true, - "optional": true + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true + "node_modules/nyc/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, - "json-stable-stringify-without-jsonify": { + "node_modules/nyc/node_modules/number-is-nan": { "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "node_modules/nyc/node_modules/once": { + "version": "1.4.0", "dev": true, - "optional": true + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true + "node_modules/nyc/node_modules/optimist": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "MIT/X11", + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } }, - "json5": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/json5/download/json5-2.1.0.tgz", - "integrity": "sha1-56DGLEgoXGKNIKELhcibuAfDKFA=", + "node_modules/nyc/node_modules/os-homedir": { + "version": "1.0.2", "dev": true, - "requires": { - "minimist": "^1.2.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/nyc/node_modules/os-locale": { + "version": "3.1.0", "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true + "node_modules/nyc/node_modules/p-defer": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "kind-of": { - "version": "6.0.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", - "dev": true + "node_modules/nyc/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "lcid": { + "node_modules/nyc/node_modules/p-is-promise": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", - "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", "dev": true, - "requires": { - "invert-kv": "^2.0.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "less": { - "version": "3.9.0", - "resolved": "http://registry.npm.taobao.org/less/download/less-3.9.0.tgz", - "integrity": "sha1-t1EcQ/N89X3Iff/ZiD7BISibFHQ=", + "node_modules/nyc/node_modules/p-limit": { + "version": "2.1.0", "dev": true, - "requires": { - "clone": "^2.1.2", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "mime": "^1.4.1", - "mkdirp": "^0.5.0", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "optional": true - } + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "less-loader": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz", - "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=", + "node_modules/nyc/node_modules/p-locate": { + "version": "3.0.0", "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^3.0.0" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "levn": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/nyc/node_modules/p-try": { + "version": "2.0.0", "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "node_modules/nyc/node_modules/package-hash": { + "version": "3.0.0", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, + "inBundle": true, + "license": "ISC", "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=6" } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz", - "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz", - "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=", + "node_modules/nyc/node_modules/parse-json": { + "version": "4.0.0", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "locate-path": { + "node_modules/nyc/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.14.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.14.tgz", - "integrity": "sha1-nOSHrmbJYlT+ILWZ8htoFgKAeLo=" - }, - "loglevel": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", - "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", - "dev": true + "node_modules/nyc/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "node_modules/nyc/node_modules/path-key": { + "version": "2.0.1", "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "lower-case": { - "version": "1.1.4", - "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true + "node_modules/nyc/node_modules/path-parse": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "lru-cache": { - "version": "5.1.1", - "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "node_modules/nyc/node_modules/path-type": { + "version": "3.0.0", "dev": true, - "requires": { - "yallist": "^3.0.2" + "inBundle": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", - "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "node_modules/nyc/node_modules/pify": { + "version": "3.0.0", "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "http://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz", - "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q=", - "dev": true + "node_modules/nyc/node_modules/pkg-dir": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "http://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", - "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "node_modules/nyc/node_modules/pseudomap": { + "version": "1.0.2", "dev": true, - "requires": { - "p-defer": "^1.0.0" + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "node_modules/nyc/node_modules/read-pkg": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, - "map-visit": { + "node_modules/nyc/node_modules/read-pkg-up": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/release-zalgo": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "inBundle": true, + "license": "ISC", + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", - "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "node_modules/nyc/node_modules/require-directory": { + "version": "2.1.1", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "node_modules/nyc/node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz", - "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "node_modules/nyc/node_modules/resolve": { + "version": "1.10.0", "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true - } + "path-parse": "^1.0.6" } }, - "memory-fs": { - "version": "0.4.1", - "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "node_modules/nyc/node_modules/resolve-from": { + "version": "4.0.0", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "node_modules/nyc/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "methods": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true + "node_modules/nyc/node_modules/semver": { + "version": "5.6.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "node_modules/nyc/node_modules/set-blocking": { + "version": "2.0.0", "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "node_modules/nyc/node_modules/shebang-regex": { + "version": "1.0.0", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true + "node_modules/nyc/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz", - "integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=", - "dev": true + "node_modules/nyc/node_modules/spawn-wrap": { + "version": "1.4.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.24.tgz", - "integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=", + "node_modules/nyc/node_modules/spdx-correct": { + "version": "3.1.0", "dev": true, - "requires": { - "mime-db": "1.40.0" + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" + "node_modules/nyc/node_modules/spdx-exceptions": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" }, - "mini-css-extract-plugin": { - "version": "0.4.5", - "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.4.5.tgz", - "integrity": "sha1-yZ6eeNVPP6d1YzruWTOuqk6AcZo=", + "node_modules/nyc/node_modules/spdx-expression-parse": { + "version": "3.0.0", "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "node_modules/nyc/node_modules/spdx-license-ids": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" }, - "minimatch": { - "version": "3.0.4", - "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "node_modules/nyc/node_modules/string-width": { + "version": "2.1.1", "dev": true, - "requires": { - "brace-expansion": "^1.1.7" + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "node_modules/nyc/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, - "mississippi": { + "node_modules/nyc/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", - "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&sync_timestamp=1561436244196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "node_modules/nyc/node_modules/strip-eof": { + "version": "1.0.0", "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "node_modules/nyc/node_modules/test-exclude": { + "version": "5.1.0", "dev": true, - "requires": { - "minimist": "0.0.8" - }, + "inBundle": true, + "license": "ISC", "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "arrify": "^1.0.1", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^1.0.1" + }, + "engines": { + "node": ">=6" } }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-5.2.0.tgz", - "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "node_modules/nyc/node_modules/uglify-js": { + "version": "3.4.9", "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, + "inBundle": true, + "license": "BSD-2-Clause", + "optional": true, "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", - "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "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" - } - }, - "he": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz", - "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "node_modules/nyc/node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "node_modules/nyc/node_modules/uuid": { + "version": "3.3.2", "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "inBundle": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "node_modules/nyc/node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, - "optional": true + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } }, - "nanomatch": { - "version": "1.2.13", - "resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "node_modules/nyc/node_modules/which": { + "version": "1.3.1", "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz", - "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true + "node_modules/nyc/node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "no-case": { - "version": "2.3.2", - "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "node_modules/nyc/node_modules/wordwrap": { + "version": "0.0.3", "dev": true, - "requires": { - "lower-case": "^1.1.1" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" } }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.0.tgz", - "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=", - "dev": true - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", - "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "2.1.0", "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, + "inBundle": true, + "license": "MIT", "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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": { - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-releases": { - "version": "1.1.25", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.25.tgz", - "integrity": "sha1-DC19vH/tMPvgKp7jAHuMkL8BM9M=", + "node_modules/nyc/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, - "requires": { - "semver": "^5.3.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "node_modules/nyc/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true + "node_modules/nyc/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/nyc/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "3.0.1", "dev": true, - "requires": { - "path-key": "^2.0.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "nth-check": { + "node_modules/nyc/node_modules/wrappy": { "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/write-file-atomic": { + "version": "2.4.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "nyc": { - "version": "13.3.0", - "resolved": "https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz", - "integrity": "sha1-2k2+kanIuerT9PM0THbzU+PHjHU=", + "node_modules/nyc/node_modules/yallist": { + "version": "2.1.2", "dev": true, - "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^3.0.1", - "convert-source-map": "^1.6.0", - "find-cache-dir": "^2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yargs": { + "version": "12.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.3", - "istanbul-lib-hook": "^2.0.3", - "istanbul-lib-instrument": "^3.1.0", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.2", - "istanbul-reports": "^2.1.1", - "make-dir": "^1.3.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.1.0", - "uuid": "^3.3.2", - "yargs": "^12.0.5", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^11.1.1" - }, + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "11.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/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" - } - }, - "caching-transform": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.1.tgz", - "integrity": "sha512-Y1KTLNwSPd4ljsDrFOtyXVmm7Gnk42yQitNq43AhE+cwUR/e4T+rmOHs1IPtzBg8066GBJfTOj1rQYFSWSsH2g==", - "dev": true, - "requires": { - "hasha": "^3.0.0", - "make-dir": "^1.3.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.3.0" - } - }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/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" - } - } - } - }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/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" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", - "dev": true, - "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "requires": { - "is-stream": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz", - "integrity": "sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-report": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz", - "integrity": "sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "supports-color": "^6.0.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz", - "integrity": "sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "rimraf": "^2.6.2", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.1.1.tgz", - "integrity": "sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw==", - "dev": true, - "requires": { - "handlebars": "^4.1.0" - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", - "dev": true, - "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - } - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/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" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "test-exclude": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.1.0.tgz", - "integrity": "sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^1.0.1" - } - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "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.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "oauth-sign": { + "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": "*" + } }, - "object-assign": { + "node_modules/object-assign": { "version": "4.1.1", "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } }, - "object-copy": { + "node_modules/object-copy": { "version": "0.1.0", "resolved": "http://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, - "requires": { + "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-is": { + "node_modules/object-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-keys": { + "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "object-visit": { + "node_modules/object-visit": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.assign": { + "node_modules/object.assign": { "version": "4.1.0", "resolved": "http://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", "has-symbols": "^1.0.0", "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" } }, - "object.entries": { + "node_modules/object.entries": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.entries%2Fdownload%2Fobject.entries-1.1.0.tgz", "integrity": "sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.12.0", "function-bind": "^1.1.1", "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" } }, - "object.getownpropertydescriptors": { + "node_modules/object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "http://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz", "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" } }, - "object.pick": { + "node_modules/object.pick": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "obuf": { + "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, - "on-finished": { + "node_modules/on-finished": { "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, - "requires": { + "dependencies": { "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "on-headers": { + "node_modules/on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "onetime": { + "node_modules/onetime": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { + "dependencies": { "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "opencollective": { + "node_modules/opencollective": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", - "requires": { + "dependencies": { "babel-polyfill": "6.23.0", "chalk": "1.1.3", "inquirer": "3.0.6", @@ -7767,272 +9338,332 @@ "node-fetch": "1.6.3", "opn": "4.0.2" }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "inquirer": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", - "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", - "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.1", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^2.0.0", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "node-fetch": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", - "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } + "bin": { + "oc": "dist/bin/opencollective.js", + "opencollective": "dist/bin/opencollective.js" } }, - "opencollective-postinstall": { + "node_modules/opencollective-postinstall": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", - "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opencollective/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/opencollective/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/opencollective/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/opencollective/node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "node_modules/opencollective/node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/opencollective/node_modules/inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "dependencies": { + "ansi-escapes": "^1.1.0", + "chalk": "^1.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.1", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx": "^4.1.0", + "string-width": "^2.0.0", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "node_modules/opencollective/node_modules/node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/opencollective/node_modules/opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/opencollective/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } }, - "opn": { + "node_modules/opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, - "requires": { + "dependencies": { "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "optionator": { + "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, - "requires": { + "dependencies": { "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" + }, + "engines": { + "node": ">= 0.8.0" } }, - "original": { + "node_modules/original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, - "requires": { + "dependencies": { "url-parse": "^1.4.3" } }, - "os-browserify": { + "node_modules/os-browserify": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { + "node_modules/os-locale": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&sync_timestamp=1560274285880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", "dev": true, - "requires": { + "dependencies": { "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" } }, - "os-tmpdir": { + "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "engines": { + "node": ">=0.10.0" + } }, - "p-defer": { + "node_modules/p-defer": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&sync_timestamp=1559922734651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "p-finally": { + "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "p-is-promise": { + "node_modules/p-is-promise": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "p-limit": { + "node_modules/p-limit": { "version": "2.2.0", "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.0.tgz", "integrity": "sha1-QXyZQeYCepq8ulCS3SkE4lW1+8I=", "dev": true, - "requires": { + "dependencies": { "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "p-locate": { + "node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", "dev": true, - "requires": { + "dependencies": { "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "p-map": { + "node_modules/p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "p-retry": { + "node_modules/p-retry": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", "dev": true, - "requires": { + "dependencies": { "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" } }, - "p-try": { + "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pako": { + "node_modules/pako": { "version": "1.0.10", "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz", "integrity": "sha1-Qyi621CGpCaqkPVBl31JVdpclzI=", "dev": true }, - "parallel-transform": { + "node_modules/parallel-transform": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, - "requires": { + "dependencies": { "cyclist": "~0.2.2", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, + } + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "param-case": { + "node_modules/param-case": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, - "requires": { + "dependencies": { "no-case": "^2.2.0" } }, - "parent-module": { + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "dependencies": { "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "parse-asn1": { + "node_modules/parse-asn1": { "version": "5.1.4", "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.4.tgz", "integrity": "sha1-N/Zij4I/vesic7TVQENKIvPvH8w=", "dev": true, - "requires": { + "dependencies": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", @@ -8041,332 +9672,399 @@ "safe-buffer": "^5.1.1" } }, - "parse-json": { + "node_modules/parse-json": { "version": "2.2.0", "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, - "requires": { + "dependencies": { "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "parse-passwd": { + "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "parseurl": { + "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "pascalcase": { + "node_modules/pascalcase": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-browserify": { + "node_modules/path-browserify": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", "dev": true }, - "path-dirname": { + "node_modules/path-dirname": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "path-exists": { + "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-is-inside": { + "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "path-key": { + "node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.6", "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", "dev": true }, - "path-to-regexp": { + "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, - "path-type": { + "node_modules/path-type": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, - "requires": { + "dependencies": { "pify": "^2.0.0" }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "2.3.0", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "pbkdf2": { + "node_modules/pbkdf2": { "version": "3.0.17", "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz", "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", "dev": true, - "requires": { + "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" } }, - "performance-now": { + "node_modules/performance-now": { "version": "2.1.0", "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true, "optional": true }, - "pify": { + "node_modules/pify": { "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pinkie": { + "node_modules/pinkie": { "version": "2.0.4", "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } }, - "pinkie-promise": { + "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { + "dependencies": { "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "pirates": { + "node_modules/pirates": { "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz", "integrity": "sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=", "dev": true, - "requires": { + "dependencies": { "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" } }, - "pkg-dir": { + "node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", "dev": true, - "requires": { + "dependencies": { "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "portfinder": { + "node_modules/portfinder": { "version": "1.0.25", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "dev": true, - "requires": { + "dependencies": { "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.1" }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "ms": "^2.1.1" } }, - "posix-character-classes": { + "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "postcss": { + "node_modules/postcss": { "version": "6.0.23", "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "engines": { + "node": ">=4.0.0" } }, - "postcss-modules-extract-imports": { + "node_modules/postcss-modules-extract-imports": { "version": "1.2.1", "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz", "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=", "dev": true, - "requires": { + "dependencies": { "postcss": "^6.0.1" } }, - "postcss-modules-local-by-default": { + "node_modules/postcss-modules-local-by-default": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&sync_timestamp=1559685933515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, - "requires": { + "dependencies": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, - "postcss-modules-scope": { + "node_modules/postcss-modules-scope": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, - "requires": { + "dependencies": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" } }, - "postcss-modules-values": { + "node_modules/postcss-modules-values": { "version": "1.3.0", "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, - "requires": { + "dependencies": { "icss-replace-symbols": "^1.1.0", "postcss": "^6.0.1" } }, - "postcss-value-parser": { + "node_modules/postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", "dev": true }, - "prelude-ls": { + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "pretty-error": { + "node_modules/pretty-error": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "dev": true, - "requires": { + "dependencies": { "renderkid": "^2.0.1", "utila": "~0.4" } }, - "private": { + "node_modules/private": { "version": "0.1.8", "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz", "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "process": { + "node_modules/process": { "version": "0.11.10", "resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6.0" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprocess-nextick-args%2Fdownload%2Fprocess-nextick-args-2.0.1.tgz", "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", "dev": true }, - "progress": { + "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "promise": { + "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", "dev": true, "optional": true, - "requires": { + "dependencies": { "asap": "~2.0.3" } }, - "promise-inflight": { + "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "proxy-addr": { + "node_modules/proxy-addr": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "dev": true, - "requires": { + "dependencies": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.0" + }, + "engines": { + "node": ">= 0.10" } }, - "prr": { + "node_modules/prr": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "psl": { + "node_modules/psl": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.2.0.tgz", "integrity": "sha1-3xK1sbOjD1HDKerL3vmPOm4TbcY=", "dev": true, "optional": true }, - "public-encrypt": { + "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", @@ -8375,398 +10073,495 @@ "safe-buffer": "^5.1.2" } }, - "pump": { + "node_modules/pump": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", "dev": true, - "requires": { + "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, - "pumpify": { + "node_modules/pumpify": { "version": "1.5.1", "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", "dev": true, - "requires": { + "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" - }, + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "punycode": { + "node_modules/punycode": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "qs": { + "node_modules/qs": { "version": "6.5.2", "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz", "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", "dev": true, - "optional": true + "optional": true, + "engines": { + "node": ">=0.6" + } }, - "querystring": { + "node_modules/querystring": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "querystring-es3": { + "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "querystringify": { + "node_modules/querystringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "randomfill": { + "node_modules/randomfill": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", "dev": true, - "requires": { + "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, - "range-parser": { + "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "raw-body": { + "node_modules/raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "read-pkg": { + "node_modules/read-pkg": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, - "requires": { + "dependencies": { "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "read-pkg-up": { + "node_modules/read-pkg-up": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, - "requires": { + "dependencies": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "3.4.0", "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.4.0.tgz", "integrity": "sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "readdirp": { + "node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1562457210009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/readdirp/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" } }, - "regenerate": { + "node_modules/readdirp/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/regenerate": { "version": "1.4.0", "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=", "dev": true }, - "regenerate-unicode-properties": { + "node_modules/regenerate-unicode-properties": { "version": "8.1.0", "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.1.0.tgz", "integrity": "sha1-71Hg8OpK1CS3e/fLQfPgFccKPw4=", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" } }, - "regenerator-runtime": { + "node_modules/regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" }, - "regenerator-transform": { + "node_modules/regenerator-transform": { "version": "0.14.0", "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.0.tgz", "integrity": "sha1-LKmq96LCOd0y5HYSGEJbjHqG7K8=", "dev": true, - "requires": { + "dependencies": { "private": "^0.1.6" } }, - "regex-not": { + "node_modules/regex-not": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "regexp-tree": { + "node_modules/regexp-tree": { "version": "0.1.11", "resolved": "https://registry.npm.taobao.org/regexp-tree/download/regexp-tree-0.1.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp-tree%2Fdownload%2Fregexp-tree-0.1.11.tgz", "integrity": "sha1-ycfwD89yLgpWxzkJg6emPdbCcvM=", - "dev": true + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } }, - "regexp.prototype.flags": { + "node_modules/regexp.prototype.flags": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, "dependencies": { - "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - } + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags/node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "regexpp": { + "node_modules/regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.5.0" + } }, - "regexpu-core": { + "node_modules/regexpu-core": { "version": "4.5.4", "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.5.4.tgz", "integrity": "sha1-CA2dAiiaqH/hZnpPUTa8mKauuq4=", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.0.2", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", "unicode-match-property-value-ecmascript": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "regjsgen": { + "node_modules/regjsgen": { "version": "0.5.0", "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.0.tgz", "integrity": "sha1-p2NNwI+JIJwgSa3aNSVxH7lyZd0=", "dev": true }, - "regjsparser": { + "node_modules/regjsparser": { "version": "0.6.0", "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.0.tgz", "integrity": "sha1-8eaui32iuulsmTmbhozWyTOiupw=", "dev": true, - "requires": { + "dependencies": { "jsesc": "~0.5.0" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" } }, - "relateurl": { + "node_modules/relateurl": { "version": "0.2.7", "resolved": "http://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "remove-trailing-separator": { + "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, - "renderkid": { + "node_modules/renderkid": { "version": "2.0.3", "resolved": "http://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", "dev": true, - "requires": { + "dependencies": { "css-select": "^1.1.0", "dom-converter": "^0.2", "htmlparser2": "^3.3.0", @@ -8774,25 +10569,32 @@ "utila": "^0.4.0" } }, - "repeat-element": { + "node_modules/repeat-element": { "version": "1.1.3", "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "repeat-string": { + "node_modules/repeat-string": { "version": "1.6.1", "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "request": { + "node_modules/request": { "version": "2.88.0", "resolved": "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz", "integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "optional": true, - "requires": { + "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -8813,216 +10615,258 @@ "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", "dev": true }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve": { + "node_modules/resolve": { "version": "1.11.1", "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.11.1.tgz", "integrity": "sha1-6hDYEQN2mC/vV434/DC5rDCgej4=", "dev": true, - "requires": { + "dependencies": { "path-parse": "^1.0.6" } }, - "resolve-cwd": { + "node_modules/resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, - "requires": { + "dependencies": { "resolve-from": "^3.0.0" }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" } }, - "resolve-dir": { + "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/resolve-dir/download/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, - "requires": { + "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "dev": true, "dependencies": { - "global-modules": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-1.0.0.tgz", - "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - } + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "resolve-url": { + "node_modules/resolve-url": { "version": "0.2.1", "resolved": "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, - "restore-cursor": { + "node_modules/restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { + "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" } }, - "ret": { + "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12" + } }, - "retry": { + "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fretry%2Fdownload%2Fretry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true + "dev": true, + "engines": { + "node": ">= 4" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "2.6.3", "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "ripemd160": { + "node_modules/ripemd160": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", "dev": true, - "requires": { + "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, - "run-async": { + "node_modules/run-async": { "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { + "dependencies": { "is-promise": "^2.1.0" + }, + "engines": { + "node": ">=0.12.0" } }, - "run-queue": { + "node_modules/run-queue": { "version": "1.0.3", "resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, - "requires": { + "dependencies": { "aproba": "^1.1.1" } }, - "rx": { + "node_modules/rx": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" }, - "rxjs": { + "node_modules/rxjs": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "dev": true, - "requires": { + "dependencies": { "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", "dev": true }, - "safe-regex": { + "node_modules/safe-regex": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, - "requires": { + "dependencies": { "ret": "~0.1.10" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" }, - "schema-utils": { + "node_modules/schema-utils": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" } }, - "select-hose": { + "node_modules/select-hose": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, - "selfsigned": { + "node_modules/selfsigned": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, - "requires": { + "dependencies": { "node-forge": "0.9.0" } }, - "semver": { + "node_modules/semver": { "version": "5.7.0", "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.0.tgz", "integrity": "sha1-eQp89v6lRZuslhELKbYEEtyP+Ws=", - "dev": true + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "send": { + "node_modules/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", "destroy": "~1.0.4", @@ -9037,44 +10881,43 @@ "range-parser": "~1.2.1", "statuses": "~1.5.0" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "ms": "2.0.0" } }, - "serialize-javascript": { + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serialize-javascript": { "version": "1.7.0", "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.7.0.tgz", "integrity": "sha1-1uDfsqODKoyURo5usduX5VoZKmU=", "dev": true }, - "serve-index": { + "node_modules/serve-index": { "version": "1.9.1", "resolved": "http://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", @@ -9083,148 +10926,171 @@ "mime-types": "~2.1.17", "parseurl": "~1.3.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "serve-static": { + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, - "requires": { + "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-value": { + "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "setimmediate": { + "node_modules/setimmediate": { "version": "1.0.5", "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, - "setprototypeof": { + "node_modules/setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, - "sha.js": { + "node_modules/sha.js": { "version": "2.4.11", "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "requires": { + "dependencies": { "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "signal-exit": { + "node_modules/signal-exit": { "version": "3.0.2", "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "slice-ansi": { + "node_modules/slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "snapdragon": { + "node_modules/snapdragon": { "version": "0.8.2", "resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", "dev": true, - "requires": { + "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", @@ -9234,175 +11100,205 @@ "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-node": { + "node_modules/snapdragon-node": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", "dev": true, - "requires": { + "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-util": { + "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "http://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.2.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "sockjs": { + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/sockjs": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, - "requires": { + "dependencies": { "faye-websocket": "^0.10.0", "uuid": "^3.0.1" } }, - "sockjs-client": { + "node_modules/sockjs-client": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "dev": true, - "requires": { + "dependencies": { "debug": "^3.2.5", "eventsource": "^1.0.7", "faye-websocket": "~0.11.1", "inherits": "^2.0.3", "json3": "^3.3.2", "url-parse": "^1.4.3" - }, + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "source-list-map": { + "node_modules/source-list-map": { "version": "2.0.1", "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", "dev": true }, - "source-map": { + "node_modules/source-map": { "version": "0.5.7", "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-resolve": { + "node_modules/source-map-resolve": { "version": "0.5.2", "resolved": "http://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz", "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "requires": { + "dependencies": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", @@ -9410,81 +11306,86 @@ "urix": "^0.1.0" } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.5.12", "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.12.tgz", "integrity": "sha1-tPOxDVGFelrwE4086AA7IBYT1Zk=", "dev": true, - "requires": { + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } } }, - "source-map-url": { + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { "version": "0.4.0", "resolved": "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, - "spdx-correct": { + "node_modules/spdx-correct": { "version": "3.1.0", "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz", "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", "dev": true, - "requires": { + "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-exceptions": { + "node_modules/spdx-exceptions": { "version": "2.2.0", "resolved": "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=", "dev": true }, - "spdx-expression-parse": { + "node_modules/spdx-expression-parse": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", "dev": true, - "requires": { + "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { + "node_modules/spdx-license-ids": { "version": "3.0.5", "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", "dev": true }, - "spdy": { + "node_modules/spdy": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "spdy-transport": { + "node_modules/spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", @@ -9493,28 +11394,31 @@ "wbuf": "^1.7.3" } }, - "split-string": { + "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { + "node_modules/sshpk": { "version": "1.16.1", "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", "dev": true, "optional": true, - "requires": { + "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -9524,321 +11428,374 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "ssri": { + "node_modules/ssri": { "version": "6.0.1", "resolved": "http://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz", "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=", "dev": true, - "requires": { + "dependencies": { "figgy-pudding": "^3.5.1" } }, - "static-extend": { + "node_modules/static-extend": { "version": "0.1.2", "resolved": "http://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, - "requires": { + "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "statuses": { + "node_modules/statuses": { "version": "1.5.0", "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "stream-browserify": { + "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", "dev": true, - "requires": { + "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "stream-each": { + "node_modules/stream-each": { "version": "1.2.3", "resolved": "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", "dev": true, - "requires": { + "dependencies": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" } }, - "stream-http": { + "node_modules/stream-http": { "version": "2.8.3", "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz", "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", "dev": true, - "requires": { + "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "stream-shift": { + "node_modules/stream-shift": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, - "string-width": { + "node_modules/string_decoder": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.2.0.tgz", + "integrity": "sha1-/obnOLGVRK/nBGkkOyoe6SQOro0=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "requires": { + "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "string.prototype.trimleft": { + "node_modules/string.prototype.trimleft": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimright": { + "node_modules/string.prototype.trimright": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string_decoder": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.2.0.tgz", - "integrity": "sha1-/obnOLGVRK/nBGkkOyoe6SQOro0=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "3.0.1", "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { + "dependencies": { "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "strip-eof": { + "node_modules/strip-eof": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "style-loader": { + "node_modules/style-loader": { "version": "0.23.1", "resolved": "https://registry.npm.taobao.org/style-loader/download/style-loader-0.23.1.tgz", "integrity": "sha1-y5FUYG8+dxq2xKtjcCahBJF02SU=", "dev": true, - "requires": { + "dependencies": { "loader-utils": "^1.1.0", "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 0.12.0" } }, - "supports-color": { + "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, - "requires": { + "dependencies": { "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "table": { + "node_modules/table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "tapable": { + "node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "teeny-request": { + "node_modules/teeny-request": { "version": "3.11.3", "resolved": "https://registry.npm.taobao.org/teeny-request/download/teeny-request-3.11.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fteeny-request%2Fdownload%2Fteeny-request-3.11.3.tgz", "integrity": "sha1-M1xin3ZF5dZZk2LfLzIwxMvCOlU=", "dev": true, - "requires": { + "dependencies": { "https-proxy-agent": "^2.2.1", "node-fetch": "^2.2.0", "uuid": "^3.3.2" } }, - "terser": { + "node_modules/terser": { "version": "4.1.2", "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.1.2.tgz?cache=0&sync_timestamp=1562580696479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.1.2.tgz", "integrity": "sha1-smVsilBvfOgFo/MAov9I2wIvo5E=", "dev": true, - "requires": { + "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", "source-map-support": "~0.5.12" }, - "dependencies": { - "commander": { - "version": "2.20.0", - "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.20.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.0.tgz", - "integrity": "sha1-1YuytcHuj4ew00ACfp6U4iLFpCI=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" } }, - "terser-webpack-plugin": { + "node_modules/terser-webpack-plugin": { "version": "1.3.0", "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.3.0.tgz", "integrity": "sha1-aaoiQmKZ9LWzd1y+2MssXUGaodQ=", "dev": true, - "requires": { + "dependencies": { "cacache": "^11.3.2", "find-cache-dir": "^2.0.0", "is-wsl": "^1.1.0", @@ -9850,549 +11807,657 @@ "webpack-sources": "^1.3.0", "worker-farm": "^1.7.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.0", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.20.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.0.tgz", + "integrity": "sha1-1YuytcHuj4ew00ACfp6U4iLFpCI=", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "through": { + "node_modules/through": { "version": "2.3.8", "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, - "through2": { + "node_modules/through2": { "version": "2.0.5", "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", "dev": true, - "requires": { + "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", + "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "dev": true, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "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" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "thunky": { + "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timers-browserify": { + "node_modules/timers-browserify": { "version": "2.0.10", "resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.10.tgz", "integrity": "sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4=", "dev": true, - "requires": { + "dependencies": { "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" } }, - "tmp": { + "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "requires": { + "dependencies": { "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "to-arraybuffer": { + "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "to-object-path": { + "node_modules/to-object-path": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.0.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex": { + "node_modules/to-regex": { "version": "3.0.2", "resolved": "http://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "dev": true, - "requires": { + "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, - "requires": { + "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "toidentifier": { + "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "toposort": { + "node_modules/toposort": { "version": "1.0.7", "resolved": "http://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", "dev": true }, - "tough-cookie": { + "node_modules/tough-cookie": { "version": "2.4.3", "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz", "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=", "dev": true, "optional": true, - "requires": { + "dependencies": { "psl": "^1.1.24", "punycode": "^1.4.1" }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - } + "engines": { + "node": ">=0.8" } }, - "trim-right": { + "node_modules/tough-cookie/node_modules/punycode": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "node_modules/trim-right": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "tslib": { + "node_modules/tslib": { "version": "1.10.0", "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz", "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo=", "dev": true }, - "tty-browserify": { + "node_modules/tty-browserify": { "version": "0.0.0", "resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, - "tunnel-agent": { + "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "optional": true, - "requires": { + "dependencies": { "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "tweetnacl": { + "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true }, - "type-check": { + "node_modules/type-check": { "version": "0.3.2", "resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "type-is": { + "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { + "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "uglify-js": { + "node_modules/uglify-js": { "version": "3.4.10", "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", "dev": true, - "requires": { + "dependencies": { "commander": "~2.19.0", "source-map": "~0.6.1" }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", - "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "unicode-canonical-property-names-ecmascript": { + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-match-property-ecmascript": { + "node_modules/unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", "dev": true, - "requires": { + "dependencies": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" } }, - "unicode-match-property-value-ecmascript": { + "node_modules/unicode-match-property-value-ecmascript": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.1.0.tgz", "integrity": "sha1-W0tCbgjROoA2Xg1lesemwexGonc=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-property-aliases-ecmascript": { + "node_modules/unicode-property-aliases-ecmascript": { "version": "1.0.5", "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.0.5.tgz", "integrity": "sha1-qcxsx85joKMCP8meNBuUQx1AWlc=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "union-value": { + "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", "dev": true, - "requires": { + "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "unique-filename": { + "node_modules/unique-filename": { "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", "dev": true, - "requires": { + "dependencies": { "unique-slug": "^2.0.0" } }, - "unique-slug": { + "node_modules/unique-slug": { "version": "2.0.2", "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", "dev": true, - "requires": { + "dependencies": { "imurmurhash": "^0.1.4" } }, - "unpipe": { + "node_modules/unpipe": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "unset-value": { + "node_modules/unset-value": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, - "requires": { + "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "upath": { + "node_modules/upath": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.2.tgz", "integrity": "sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg=", - "dev": true + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } }, - "upper-case": { + "node_modules/upper-case": { "version": "1.1.3", "resolved": "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", "dev": true }, - "uri-js": { + "node_modules/uri-js": { "version": "4.2.2", "resolved": "http://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", "dev": true, - "requires": { + "dependencies": { "punycode": "^2.1.0" } }, - "urix": { + "node_modules/urix": { "version": "0.1.0", "resolved": "http://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, - "url": { + "node_modules/url": { "version": "0.11.0", "resolved": "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, - "requires": { + "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } } }, - "url-parse": { + "node_modules/url-parse": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, - "requires": { + "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, - "urlgrey": { + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/urlgrey": { "version": "0.4.4", "resolved": "https://registry.npm.taobao.org/urlgrey/download/urlgrey-0.4.4.tgz", "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, - "use": { + "node_modules/use": { "version": "3.1.1", "resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz", "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "util": { + "node_modules/util": { "version": "0.11.1", "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz", "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", "dev": true, - "requires": { - "inherits": "2.0.3" - }, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "inherits": "2.0.3" } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "util.promisify": { + "node_modules/util.promisify": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz", "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "object.getownpropertydescriptors": "^2.0.3" } }, - "utila": { + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utila": { "version": "0.4.0", "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, - "utils-merge": { + "node_modules/utils-merge": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "uuid": { + "node_modules/uuid": { "version": "3.3.2", "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz", "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=", - "dev": true + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "v8-compile-cache": { + "node_modules/v8-compile-cache": { "version": "2.0.3", "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.0.3.tgz", "integrity": "sha1-APdJTSritojP4omd9u0sVL75Hb4=", "dev": true }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", "dev": true, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "verror": { + "node_modules/verror": { "version": "1.10.0", "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, + "engines": [ + "node >=0.6.0" + ], "optional": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "vm-browserify": { + "node_modules/vm-browserify": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.0.tgz", "integrity": "sha1-vXbWojMj4sqP+hICjcBFWcdfkBk=", "dev": true }, - "watchpack": { + "node_modules/watchpack": { "version": "1.6.0", "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz", "integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=", "dev": true, - "requires": { + "dependencies": { "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" } }, - "wbuf": { + "node_modules/wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "requires": { + "dependencies": { "minimalistic-assert": "^1.0.0" } }, - "webpack": { + "node_modules/webpack": { "version": "4.35.3", "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.35.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.35.3.tgz", "integrity": "sha1-Zrw17yFae3XoeQ+E1WABP/7PDKM=", "dev": true, - "requires": { + "dependencies": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/wasm-edit": "1.8.5", @@ -10416,14 +12481,20 @@ "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", "webpack-sources": "^1.3.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" } }, - "webpack-cli": { + "node_modules/webpack-cli": { "version": "3.3.6", "resolved": "https://registry.npm.taobao.org/webpack-cli/download/webpack-cli-3.3.6.tgz", "integrity": "sha1-LIw5miZCEz+Nc2o1kAegUuBgAyw=", "dev": true, - "requires": { + "dependencies": { "chalk": "2.4.2", "cross-spawn": "6.0.5", "enhanced-resolve": "4.1.0", @@ -10436,45 +12507,65 @@ "v8-compile-cache": "2.0.3", "yargs": "13.2.4" }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "4.x.x" + } + }, + "node_modules/webpack-cli/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "webpack-dev-middleware": { + "node_modules/webpack-dev-middleware": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "dev": true, - "requires": { + "dependencies": { "memory-fs": "^0.4.1", "mime": "^2.4.4", "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" }, - "dependencies": { - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - } + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "webpack-dev-server": { + "node_modules/webpack-dev-server": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.2.tgz", "integrity": "sha512-pxZKPYb+n77UN8u9YxXT4IaIrGcNtijh/mi8TXbErHmczw0DtPnMTTjHj+eNjkqLOaAZM/qD7V59j/qJsEiaZA==", "dev": true, - "requires": { + "dependencies": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", "chokidar": "^2.1.8", @@ -10509,317 +12600,381 @@ "ws": "^6.2.1", "yargs": "12.0.5" }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "webpack-log": { + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", "dev": true, - "requires": { + "dependencies": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" } }, - "webpack-merge": { + "node_modules/webpack-merge": { "version": "4.2.1", "resolved": "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.1.tgz", "integrity": "sha1-XpI8+ALqKs5P1a8dMkc2imM0ibQ=", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.17.5" } }, - "webpack-sources": { + "node_modules/webpack-sources": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.3.0.tgz", "integrity": "sha1-KijcufH0X+lg2PFJMlK17mUw+oU=", "dev": true, - "requires": { + "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } } }, - "websocket-driver": { + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/websocket-driver": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, - "requires": { + "dependencies": { "http-parser-js": ">=0.4.0 <0.4.11", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "websocket-extensions": { + "node_modules/websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz", "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-module": { + "node_modules/which-module": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "word-wrap": { + "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "worker-farm": { + "node_modules/worker-farm": { "version": "1.7.0", "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", "dev": true, - "requires": { + "dependencies": { "errno": "~0.1.7" } }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write": { + "node_modules/write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, - "requires": { + "dependencies": { "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" } }, - "ws": { + "node_modules/ws": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "dev": true, - "requires": { + "dependencies": { "async-limiter": "~1.0.0" } }, - "xtend": { + "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "node_modules/y18n": { "version": "4.0.0", "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", "dev": true }, - "yallist": { + "node_modules/yallist": { "version": "3.0.3", "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-3.0.3.tgz", "integrity": "sha1-tLBJ4xS+VF486AIjbWzSLNkcPek=", "dev": true }, - "yargs": { + "node_modules/yargs": { "version": "13.2.4", "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.2.4.tgz", "integrity": "sha1-C1YreUAW65ZRuYvTes82SqXW3IM=", "dev": true, - "requires": { + "dependencies": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", @@ -10831,45 +12986,52 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "13.1.1", "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.1.tgz", "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=", "dev": true, - "requires": { + "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } } } } From ff6b924e0f6ec138c522f41dfd2aafc04051b779 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 30 Jul 2023 17:31:02 +0200 Subject: [PATCH 02/61] Adapted for Obsidian --- src/component/dropdown_border.js | 2 +- src/component/dropdown_color.js | 2 +- src/component/dropdown_formula.js | 2 +- src/component/toolbar/index.js | 2 +- src/index.less | 1 + 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/component/dropdown_border.js b/src/component/dropdown_border.js index f8197b123..4f9688a35 100644 --- a/src/component/dropdown_border.js +++ b/src/component/dropdown_border.js @@ -10,6 +10,6 @@ export default class DropdownBorder extends Dropdown { this.change(v); this.hide(); }; - super(icon, 'auto', false, 'bottom-left', borderPalette.el); + super(icon, 'auto', false, 'bottom-right', borderPalette.el); } } diff --git a/src/component/dropdown_color.js b/src/component/dropdown_color.js index 670ee2c12..c2c403c63 100644 --- a/src/component/dropdown_color.js +++ b/src/component/dropdown_color.js @@ -12,7 +12,7 @@ export default class DropdownColor extends Dropdown { this.setTitle(v); this.change(v); }; - super(icon, 'auto', false, 'bottom-left', colorPalette.el); + super(icon, 'auto', false, 'bottom-right', colorPalette.el); } setTitle(color) { diff --git a/src/component/dropdown_formula.js b/src/component/dropdown_formula.js index 7363fa241..83041c346 100644 --- a/src/component/dropdown_formula.js +++ b/src/component/dropdown_formula.js @@ -12,6 +12,6 @@ export default class DropdownFormula extends Dropdown { this.change(it); }) .child(it.key)); - super(new Icon('formula'), '180px', true, 'bottom-left', ...nformulas); + super(new Icon('formula'), '180px', true, 'bottom-right', ...nformulas); } } diff --git a/src/component/toolbar/index.js b/src/component/toolbar/index.js index 30bdd5985..bd081239c 100644 --- a/src/component/toolbar/index.js +++ b/src/component/toolbar/index.js @@ -114,7 +114,7 @@ export default class Toolbar { [ this.undoEl = new Undo(), this.redoEl = new Redo(), - new Print(), + // new Print(), this.paintformatEl = new Paintformat(), this.clearformatEl = new Clearformat(), ], diff --git a/src/index.less b/src/index.less index 15388a45d..a082b5825 100644 --- a/src/index.less +++ b/src/index.less @@ -631,6 +631,7 @@ body { .@{css-prefix}-toolbar-divider { margin-top: 0; } + // margin-right: 100px; } .@{css-prefix}-toolbar-btn { From 8908a34b32a269aae1fe24a3567a8ac98f0e917c Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 31 Jul 2023 18:11:19 +0200 Subject: [PATCH 03/61] added support for locks in cell indexes --- readme.md | 5 +++++ src/core/alphabet.js | 10 ++++++++-- src/core/cell.js | 10 +++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/readme.md b/readme.md index cee95cc2c..92373192d 100644 --- a/readme.md +++ b/readme.md @@ -185,6 +185,11 @@ npm install npm run dev ``` +```shell +$env:NODE_OPTIONS = "--openssl-legacy-provider" +``` + + Open your browser and visit http://127.0.0.1:8080. ## Browser Support diff --git a/src/core/alphabet.js b/src/core/alphabet.js index bcc9f4ec3..26b78a146 100644 --- a/src/core/alphabet.js +++ b/src/core/alphabet.js @@ -45,14 +45,20 @@ export function indexAt(str) { export function expr2xy(src) { let x = ''; let y = ''; + let xlock = false; + let ylock = false; for (let i = 0; i < src.length; i += 1) { - if (src.charAt(i) >= '0' && src.charAt(i) <= '9') { + if(src.charAt(i) === '$') { + if(x.length > 0) ylock = true + else xlock = true + } else if (src.charAt(i) >= '0' && src.charAt(i) <= '9') { y += src.charAt(i); } else { x += src.charAt(i); } } - return [indexAt(x), parseInt(y, 10) - 1]; + + return [indexAt(x), parseInt(y, 10) - 1, xlock, ylock]; } /** translate XY-tag to A1-tag diff --git a/src/core/cell.js b/src/core/cell.js index 0c2b577a1..b94065ed5 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -12,13 +12,17 @@ const infixExprToSuffixExpr = (src) => { let fnArgOperator = ''; let fnArgsLen = 1; // A1,A2,A3... let oldc = ''; + let locked = false; for (let i = 0; i < src.length; i += 1) { const c = src.charAt(i); if (c !== ' ') { - if (c >= 'a' && c <= 'z') { - subStrs.push(c.toUpperCase()); + // skip '$' for now + if(c === '$') { + locked = true; + } else if (c >= 'a' && c <= 'z') { + subStrs.push((locked ? "$":"") + c.toUpperCase()); } else if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c === '.') { - subStrs.push(c); + subStrs.push((locked ? "$":"") + c); } else if (c === '"') { i += 1; while (src.charAt(i) !== '"') { From 620dfcd7fe2765022e3746b328f5e727f9c9f77e Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 31 Jul 2023 19:50:46 +0200 Subject: [PATCH 04/61] showPrint setting --- src/component/toolbar/index.js | 4 ++-- src/index.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/component/toolbar/index.js b/src/component/toolbar/index.js index bd081239c..e9b64d101 100644 --- a/src/component/toolbar/index.js +++ b/src/component/toolbar/index.js @@ -114,10 +114,10 @@ export default class Toolbar { [ this.undoEl = new Undo(), this.redoEl = new Redo(), - // new Print(), + this.data.settings.showPrint && new Print(), this.paintformatEl = new Paintformat(), this.clearformatEl = new Clearformat(), - ], + ].filter(e=>!!e), buildDivider(), [ this.formatEl = new Format(), diff --git a/src/index.js b/src/index.js index 4a59e0f82..b2cd7e960 100644 --- a/src/index.js +++ b/src/index.js @@ -11,7 +11,7 @@ import './index.less'; class Spreadsheet { constructor(selectors, options = {}) { let targetEl = selectors; - this.options = { showBottomBar: true, ...options }; + this.options = { showBottomBar: true, showPrint: true, showValidation: true, ...options }; this.sheetIndex = 1; this.datas = []; if (typeof selectors === 'string') { From a880cfe9ebb1d513349a5b18caed40065740613b Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 31 Jul 2023 22:07:28 +0200 Subject: [PATCH 05/61] tentative fix for autoFill on paste --- index.html | 1 + src/core/data_proxy.js | 3 ++- src/core/row.js | 7 +++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index a9c2abf38..fb5b028b5 100644 --- a/index.html +++ b/index.html @@ -57,6 +57,7 @@ showToolbar: true, showGrid: true, showBottomBar: true, + autoFillOnCopy: true, extendToolbar: { left: [ { diff --git a/src/core/data_proxy.js b/src/core/data_proxy.js index e2cc0e8de..68ec9b1cf 100644 --- a/src/core/data_proxy.js +++ b/src/core/data_proxy.js @@ -78,6 +78,7 @@ const defaultSettings = { showToolbar: true, showContextmenu: true, showBottomBar: true, + autoFillOnCopy: false, row: { len: 100, height: 25, @@ -452,7 +453,7 @@ export default class DataProxy { this.changeData(() => { if (clipboard.isCopy()) { - copyPaste.call(this, clipboard.range, selector.range, what); + copyPaste.call(this, clipboard.range, selector.range, what, this.settings.autoFillOnCopy); } else if (clipboard.isCut()) { cutPaste.call(this, clipboard.range, selector.range); } diff --git a/src/core/row.js b/src/core/row.js index dc3243a76..461f10369 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -148,10 +148,13 @@ class Rows { ncell.text = text.replace(/[a-zA-Z]{1,3}\d+/g, (word) => { let [xn, yn] = [0, 0]; if (sri === dsri) { - xn = n - 1; + // was + // xn = n - 1; + xn = dsci - sci; // if (isAdd) xn -= 1; } else { - yn = n - 1; + // yn = n - 1; + yn = dsri - sri; } if (/^\d+$/.test(word)) return word; return expr2expr(word, xn, yn); From 305c2c9a713ccb86bf0d5c06d751796da1cae783 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 31 Jul 2023 22:34:20 +0200 Subject: [PATCH 06/61] reverted --- index.html | 19 +++++++++++-------- src/core/row.js | 8 ++++---- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/index.html b/index.html index fb5b028b5..a92f1a0bb 100644 --- a/index.html +++ b/index.html @@ -27,22 +27,25 @@ } const rows = { len: 80, - 1: { + 0: { cells: { - 0: { text: 'testingtesttestetst' }, - 2: { text: 'testing' }, + 0: { text: '1' }, + 1: { text: "=A1"} }, }, + 1: { + cells: { + 0: { text: '2' }, + } + }, 2: { cells: { - 0: { text: 'render', style: 0 }, - 1: { text: 'Hello' }, - 2: { text: 'haha', merge: [1, 1] }, + 0: { text: '3' }, } }, - 8: { + 3: { cells: { - 8: { text: 'border test', style: 0 }, + 0: { text: '4' }, } } }; diff --git a/src/core/row.js b/src/core/row.js index 461f10369..fd1e13c3a 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -149,12 +149,12 @@ class Rows { let [xn, yn] = [0, 0]; if (sri === dsri) { // was - // xn = n - 1; - xn = dsci - sci; + xn = n - 1; + // xn = dsci - sci; // if (isAdd) xn -= 1; } else { - // yn = n - 1; - yn = dsri - sri; + yn = n - 1; + // yn = dsri - sri; } if (/^\d+$/.test(word)) return word; return expr2expr(word, xn, yn); From a4f79fa72255a0a37eb74b8a4d4ac0868cb76a55 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 31 Jul 2023 22:45:37 +0200 Subject: [PATCH 07/61] commented TODO --- src/core/row.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/row.js b/src/core/row.js index fd1e13c3a..b42fdfc6f 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -147,6 +147,10 @@ class Rows { if (text[0] === '=') { ncell.text = text.replace(/[a-zA-Z]{1,3}\d+/g, (word) => { let [xn, yn] = [0, 0]; + // TODO: handle more cases + // copy paste with more than 1 apart + // dragging selecyion should still work + // we should consider locking ($A$1) if (sri === dsri) { // was xn = n - 1; From 48db8ac25184044a04952562c964144c13201d0f Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 15:59:54 +0200 Subject: [PATCH 08/61] product and count formulas --- src/core/formula.js | 15 +++++++++++++++ src/locale/en.js | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/core/formula.js b/src/core/formula.js index 299facb50..8ded3f308 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -13,6 +13,11 @@ import { tf } from '../locale/locale'; import { numberCalc } from './helper'; +function isNumber(str) { + return !isNaN(parseFloat(str)) && isFinite(str); +} + + /** @type {Formula[]} */ const baseFormulas = [ { @@ -55,6 +60,16 @@ const baseFormulas = [ title: tf('formula.concat'), render: ary => ary.join(''), }, + { + key: 'PRODUCT', + title: tf('formula.product'), + render: ary => ary.reduce((a, b) => Number(a) * Number(b),1), + }, + { + key: 'COUNT', + title: tf('formula.count'), + render: ary => {console.log(ary); return ary.filter(isNumber).length}, + } /* support: 1 + A1 + B2 * 3 { key: 'DIVIDE', diff --git a/src/locale/en.js b/src/locale/en.js index cd8cdf335..e027d6e89 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -71,6 +71,8 @@ export default { and: 'AND', or: 'OR', concat: 'Concat', + product: 'Product', + count: 'Count', }, validation: { required: 'it must be required', From b90f20a8acc43fe0bdfb0c8762045637741f50e8 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 19:53:01 +0200 Subject: [PATCH 09/61] added logging --- src/core/row.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/core/row.js b/src/core/row.js index b42fdfc6f..f29094d45 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -120,6 +120,11 @@ class Rows { const deci = dstCellRange.eci; const [rn, cn] = srcCellRange.size(); const [drn, dcn] = dstCellRange.size(); + + console.log(`sri:${sri} sci:${sci} eri:${eri} eci:${eci}`); + console.log(`dsri:${dsri} dsci:${dsci} deri:${deri} deci:${deci}`); + console.log(`rn: ${rn} cn: ${cn}`); + console.log(`drn: ${drn} dcn: ${dcn}`); // console.log(srcIndexes, dstIndexes); let isAdd = true; let dn = 0; @@ -128,14 +133,23 @@ class Rows { if (deri < sri) dn = drn; else dn = dcn; } + + console.log(`isAdd: ${isAdd} dn: ${dn}`); + for (let i = sri; i <= eri; i += 1) { if (this._[i]) { for (let j = sci; j <= eci; j += 1) { if (this._[i].cells && this._[i].cells[j]) { for (let ii = dsri; ii <= deri; ii += rn) { for (let jj = dsci; jj <= deci; jj += cn) { + + console.log(`i: ${i} j: ${j}`); + console.log(`ii: ${ii} jj: ${jj}`); + const nri = ii + (i - sri); const nci = jj + (j - sci); + console.log(`nri: ${nri} nci: ${nci}`); + const ncell = helper.cloneDeep(this._[i].cells[j]); // ncell.text if (autofill && ncell && ncell.text && ncell.text.length > 0) { @@ -144,6 +158,9 @@ class Rows { if (!isAdd) { n -= dn + 1; } + + console.log(`n: ${n}`); + if (text[0] === '=') { ncell.text = text.replace(/[a-zA-Z]{1,3}\d+/g, (word) => { let [xn, yn] = [0, 0]; From 27009e43311de0a95c392db9e9ec68da61ff56a7 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 20:39:09 +0200 Subject: [PATCH 10/61] Some More Formulas --- index.html | 6 +++--- src/core/cell.js | 4 ++++ src/core/formula.js | 24 ++++++++++++++++++++++-- src/locale/en.js | 4 ++++ src/locale/locale.js | 2 +- 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index a92f1a0bb..e4607444f 100644 --- a/index.html +++ b/index.html @@ -97,9 +97,9 @@ }, }, ], - merges: [ - 'C3:D4', - ], + // merges: [ + // 'C3:D4', + // ], cols: { len: 10, 2: { width: 200 }, diff --git a/src/core/cell.js b/src/core/cell.js index b94065ed5..6b3bc4ced 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -193,6 +193,10 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { params.push(stack.pop()); } stack.push(formulaMap[formula].render(params.reverse())); + } else if (formulaMap[expr]) { + const params = []; + params.push(stack.pop()); + stack.push(formulaMap[expr].render(params)); } else { if (cellList.includes(expr)) { return 0; diff --git a/src/core/formula.js b/src/core/formula.js index 8ded3f308..46ed0f1e7 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -14,7 +14,7 @@ import { tf } from '../locale/locale'; import { numberCalc } from './helper'; function isNumber(str) { - return !isNaN(parseFloat(str)) && isFinite(str); + return !Number.isNaN(parseFloat(str)) && Number.isFinite(str); } @@ -68,7 +68,27 @@ const baseFormulas = [ { key: 'COUNT', title: tf('formula.count'), - render: ary => {console.log(ary); return ary.filter(isNumber).length}, + render: ary => ary.filter(isNumber).length, + }, + { + key: 'MOD', + title: tf('formula.mod'), + render: ([a,b]) => a % b, + }, + { + key: 'POWER', + title: tf('formula.power'), + render: ([a,b]) => a ** b, + }, + { + key: 'CEILING', + title: tf('formula.ceiling'), + render: ([a]) => Math.ceil(a), + }, + { + key: 'FLOOR', + title: tf('formula.floor'), + render: ([a]) => Math.floor(a), } /* support: 1 + A1 + B2 * 3 { diff --git a/src/locale/en.js b/src/locale/en.js index e027d6e89..053b22483 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -73,6 +73,10 @@ export default { concat: 'Concat', product: 'Product', count: 'Count', + mod: 'Mod', + power: 'Power', + ceiling: 'Ceiling', + floor: 'Floor' }, validation: { required: 'it must be required', diff --git a/src/locale/locale.js b/src/locale/locale.js index 5e27de196..5b27504f1 100644 --- a/src/locale/locale.js +++ b/src/locale/locale.js @@ -42,7 +42,7 @@ function t(key) { if (!v && window && window.x_spreadsheet && window.x_spreadsheet.$messages) { v = translate(key, window.x_spreadsheet.$messages); } - return v || ''; + return v || key; } function tf(key) { From da9d3767192585e55f3d4a00866561ed9c7e7cee Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 21:04:48 +0200 Subject: [PATCH 11/61] Tentative fix for unary string operations --- src/core/cell.js | 10 +++++++--- src/core/formula.js | 7 ++++++- src/locale/en.js | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/core/cell.js b/src/core/cell.js index 6b3bc4ced..f3c638e43 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -138,7 +138,9 @@ const evalSubExpr = (subExpr, cellRender) => { return ret * Number(expr); } const [x, y] = expr2xy(expr); - return ret * cellRender(x, y); + // changed by gcannata + // return ret * cellRender(x, y); + return cellRender(x, y); }; // evaluate the suffix expression @@ -193,7 +195,7 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { params.push(stack.pop()); } stack.push(formulaMap[formula].render(params.reverse())); - } else if (formulaMap[expr]) { + } else if (formulaMap[expr]) { // try to support unary operators const params = []; params.push(stack.pop()); stack.push(formulaMap[expr].render(params)); @@ -209,7 +211,9 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { } // console.log('stack:', stack); } - return stack[0]; + // by gcanata + // return stack[0]; + return stack[0] || 0; }; const cellRender = (src, formulaMap, getCellText, cellList = []) => { diff --git a/src/core/formula.js b/src/core/formula.js index 46ed0f1e7..7cc05defa 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -84,11 +84,16 @@ const baseFormulas = [ key: 'CEILING', title: tf('formula.ceiling'), render: ([a]) => Math.ceil(a), - }, + }, { key: 'FLOOR', title: tf('formula.floor'), render: ([a]) => Math.floor(a), + }, + { + key: 'LEN', + title: tf('formula.len'), + render: ([a]) => String(a).length, } /* support: 1 + A1 + B2 * 3 { diff --git a/src/locale/en.js b/src/locale/en.js index 053b22483..2cd3d1a58 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -76,7 +76,8 @@ export default { mod: 'Mod', power: 'Power', ceiling: 'Ceiling', - floor: 'Floor' + floor: 'Floor', + len: 'Length' }, validation: { required: 'it must be required', From b96c6e26db4d348b14dfc1e0d76b718ac5f61120 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 21:32:17 +0200 Subject: [PATCH 12/61] WIP vlookup --- src/core/formula.js | 30 +++++++++++++++++++++++++++++- src/locale/en.js | 4 +++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/core/formula.js b/src/core/formula.js index 7cc05defa..8d6b35457 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -93,7 +93,35 @@ const baseFormulas = [ { key: 'LEN', title: tf('formula.len'), - render: ([a]) => String(a).length, + render: ([a]) => String(a).length + }, + { + key: 'REPLACE', + title: tf('formula.replace'), + render: ([oldText, startNum, numChars, newText]) => { + // Adjust the startNum from 1-based index to 0-based index for JavaScript + const zstart = startNum - 1; + + // Get the parts of the old text to keep + const beginning = oldText.slice(0, zstart); + const ending = oldText.slice(zstart + numChars); + + // Build and return the final string + return beginning + newText + ending; + } + }, + { + key: 'SUBSTITUTE', + title: tf('formula.substitute'), + render: ([text, oldText, newText]) => String(text).replaceAll(oldText, newText) + }, + { + key: 'VLOOKUP', + title: tf('formula.vlookup'), + render: ([lookupValue, table, colIndex, rangeLookup]) => { + console.log(arguments); + } + } /* support: 1 + A1 + B2 * 3 { diff --git a/src/locale/en.js b/src/locale/en.js index 2cd3d1a58..6de2ca851 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -77,7 +77,9 @@ export default { power: 'Power', ceiling: 'Ceiling', floor: 'Floor', - len: 'Length' + len: 'Length', + replace: 'Replace', + substitute: 'Substitute' }, validation: { required: 'it must be required', From 4cce11c5239c2b6ac61a61e745100ef78d69d539 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 1 Aug 2023 23:45:28 +0200 Subject: [PATCH 13/61] WIP parsing refactor --- src/core/cell.js | 34 ++++++++++++++++++++++++++++------ src/core/formula.js | 2 +- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/core/cell.js b/src/core/cell.js index f3c638e43..2adeb060e 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -1,4 +1,5 @@ import { expr2xy, xy2expr } from './alphabet'; +import font from './font'; import { numberCalc } from './helper'; // Converting infix expression to a suffix expression @@ -47,13 +48,16 @@ const infixExprToSuffixExpr = (src) => { const [sx, sy] = expr2xy(stack.pop()); // console.log('::', sx, sy, ex, ey); let rangelen = 0; + let items = []; for (let x = sx; x <= ex; x += 1) { for (let y = sy; y <= ey; y += 1) { - stack.push(xy2expr(x, y)); + items.push(xy2expr(x, y)); rangelen += 1; } } - stack.push([c1, rangelen]); + stack.push(items); + // TODO: do not use array for formula calls + stack.push({f:c1, len:fnArgsLen}); } catch (e) { // console.log(e); } @@ -82,6 +86,7 @@ const infixExprToSuffixExpr = (src) => { } else if (c === ':') { fnArgType = 2; } else if (c === ',') { + // TODO: here if the previous parameter is a range, we should colllect it if (fnArgType === 3) { stack.push(fnArgOperator); } @@ -124,6 +129,12 @@ const infixExprToSuffixExpr = (src) => { }; const evalSubExpr = (subExpr, cellRender) => { + + if(Array.isArray(subExpr)) { + const ret = subExpr.map(e => evalSubExpr(e, cellRender)); + return ret; + } + const [fl] = subExpr; let expr = subExpr; if (fl === '"') { @@ -188,14 +199,25 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { ret = (left <= top); } stack.push(ret); - } else if (Array.isArray(expr)) { - const [formula, len] = expr; + } + // by gcannata + // else if (Array.isArray(expr)) { + // const [formula, len] = expr; + // const params = []; + // for (let j = 0; j < len; j += 1) { + // params.push(stack.pop()); + // } + // stack.push(formulaMap[formula].render(params.reverse())); + // } + else if (expr.f) { + const {f, len} = expr; const params = []; for (let j = 0; j < len; j += 1) { params.push(stack.pop()); } - stack.push(formulaMap[formula].render(params.reverse())); - } else if (formulaMap[expr]) { // try to support unary operators + stack.push(formulaMap[f].render(params.reverse())); + } + else if (formulaMap[expr]) { // try to support unary operators const params = []; params.push(stack.pop()); stack.push(formulaMap[expr].render(params)); diff --git a/src/core/formula.js b/src/core/formula.js index 8d6b35457..a275aa8f8 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -23,7 +23,7 @@ const baseFormulas = [ { key: 'SUM', title: tf('formula.sum'), - render: ary => ary.reduce((a, b) => numberCalc('+', a, b), 0), + render: ([ary]) => ary.reduce((a, b) => numberCalc('+', a, b), 0), }, { key: 'AVERAGE', From 5da3356a5f433ea7661cc2aa73e98852400cdf6b Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Wed, 2 Aug 2023 21:21:43 +0200 Subject: [PATCH 14/61] improved parsing --- src/core/cell.js | 45 +++++++++++++++++++++++++++++++++++---------- src/core/formula.js | 6 +++--- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/core/cell.js b/src/core/cell.js index 2adeb060e..23b91f126 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -39,9 +39,9 @@ const infixExprToSuffixExpr = (src) => { if (c !== '(' && subStrs.length > 0) { stack.push(subStrs.join('')); } - if (c === ')') { - let c1 = operatorStack.pop(); - if (fnArgType === 2) { + if (c === ')' || c === ',') { + // let c1 = operatorStack.pop(); + if (fnArgType === 2) { // encountered a : // fn argument range => A1:B5 try { const [ex, ey] = expr2xy(stack.pop()); @@ -49,6 +49,7 @@ const infixExprToSuffixExpr = (src) => { // console.log('::', sx, sy, ex, ey); let rangelen = 0; let items = []; + // TODO: what about rectangular selection for (let x = sx; x <= ex; x += 1) { for (let y = sy; y <= ey; y += 1) { items.push(xy2expr(x, y)); @@ -56,25 +57,46 @@ const infixExprToSuffixExpr = (src) => { } } stack.push(items); - // TODO: do not use array for formula calls - stack.push({f:c1, len:fnArgsLen}); + // it will be actually incremented lated + if(c === ')') { + let c1 = operatorStack.pop(); + stack.push({ f: c1, len: fnArgsLen}); + } else { + fnArgType = 1; + fnArgsLen += 1; + } } catch (e) { // console.log(e); } } else if (fnArgType === 1 || fnArgType === 3) { - if (fnArgType === 3) stack.push(fnArgOperator); - // fn argument => A1,A2,B5 - stack.push([c1, fnArgsLen]); - fnArgsLen = 1; + if (fnArgType === 3) { + stack.push(fnArgOperator); + fnArgOperator = ''; + } + // if (fnArgType === 1) stack.push({ f: c1, len: fnArgsLen}); + if (c === ')') { + let c1 = operatorStack.pop(); + + // fn argument => A1,A2,B5 + stack.push({f: c1, len: fnArgsLen}); + fnArgsLen = 1; + } else { + fnArgType = 1; + fnArgsLen+=1; + } + } else { // console.log('c1:', c1, fnArgType, stack, operatorStack); + let c1 = operatorStack.pop(); while (c1 !== '(') { stack.push(c1); if (operatorStack.length <= 0) break; c1 = operatorStack.pop(); } } - fnArgType = 0; + if(c === ')') { + fnArgType = 0; + } } else if (c === '=' || c === '>' || c === '<') { const nc = src.charAt(i + 1); fnArgOperator = c; @@ -125,6 +147,9 @@ const infixExprToSuffixExpr = (src) => { while (operatorStack.length > 0) { stack.push(operatorStack.pop()); } + if(fnArgOperator.length>0) { + stack.push(fnArgOperator); + } return stack; }; diff --git a/src/core/formula.js b/src/core/formula.js index a275aa8f8..987f2920e 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -28,17 +28,17 @@ const baseFormulas = [ { key: 'AVERAGE', title: tf('formula.average'), - render: ary => ary.reduce((a, b) => Number(a) + Number(b), 0) / ary.length, + render: ([ary]) => ary.reduce((a, b) => Number(a) + Number(b), 0) / ary.length, }, { key: 'MAX', title: tf('formula.max'), - render: ary => Math.max(...ary.map(v => Number(v))), + render: ([ary]) => Math.max(...ary.map(v => Number(v))), }, { key: 'MIN', title: tf('formula.min'), - render: ary => Math.min(...ary.map(v => Number(v))), + render: ([ary]) => Math.min(...ary.map(v => Number(v))), }, { key: 'IF', From 8e3079e1914e9f571183a313457540c5f8ebcf61 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Wed, 2 Aug 2023 21:25:12 +0200 Subject: [PATCH 15/61] Improved parsing --- src/core/formula.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/formula.js b/src/core/formula.js index 987f2920e..0b71111f4 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -48,12 +48,12 @@ const baseFormulas = [ { key: 'AND', title: tf('formula.and'), - render: ary => ary.every(it => it), + render: ([ary]) => ary.every(it => it), }, { key: 'OR', title: tf('formula.or'), - render: ary => ary.some(it => it), + render: ([ary]) => ary.some(it => it), }, { key: 'CONCAT', From f85ceb45a902697e206accc24c87b9a8b4490f9d Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 3 Aug 2023 00:09:36 +0200 Subject: [PATCH 16/61] improved formulas --- src/core/cell.js | 127 ++++++++++++++++++++++++-------------------- src/core/formula.js | 33 ++++++------ 2 files changed, 87 insertions(+), 73 deletions(-) diff --git a/src/core/cell.js b/src/core/cell.js index 23b91f126..589ee7884 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -1,7 +1,23 @@ -import { expr2xy, xy2expr } from './alphabet'; +import { expr2xy,xy2expr } from './alphabet'; import font from './font'; import { numberCalc } from './helper'; +function buildRange(stack) { + const [ex,ey] = expr2xy(stack.pop()); + const [sx,sy] = expr2xy(stack.pop()); + // console.log('::', sx, sy, ex, ey); + // let rangelen = 0; + let items = []; + // TODO: what about rectangular selection + for (let x = sx; x <= ex; x += 1) { + for (let y = sy; y <= ey; y += 1) { + items.push(xy2expr(x,y)); + // rangelen += 1; + } + } + return items; +} + // Converting infix expression to a suffix expression // src: AVERAGE(SUM(A1,A2), B1) + 50 + B20 // return: [A1, A2], SUM[, B1],AVERAGE,50,+,B20,+ @@ -18,12 +34,12 @@ const infixExprToSuffixExpr = (src) => { const c = src.charAt(i); if (c !== ' ') { // skip '$' for now - if(c === '$') { + if (c === '$') { locked = true; } else if (c >= 'a' && c <= 'z') { - subStrs.push((locked ? "$":"") + c.toUpperCase()); + subStrs.push((locked ? "$" : "") + c.toUpperCase()); } else if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c === '.') { - subStrs.push((locked ? "$":"") + c); + subStrs.push((locked ? "$" : "") + c); } else if (c === '"') { i += 1; while (src.charAt(i) !== '"') { @@ -39,32 +55,21 @@ const infixExprToSuffixExpr = (src) => { if (c !== '(' && subStrs.length > 0) { stack.push(subStrs.join('')); } - if (c === ')' || c === ',') { + if (c === ')' /* || c === ',' */) { // let c1 = operatorStack.pop(); if (fnArgType === 2) { // encountered a : // fn argument range => A1:B5 try { - const [ex, ey] = expr2xy(stack.pop()); - const [sx, sy] = expr2xy(stack.pop()); - // console.log('::', sx, sy, ex, ey); - let rangelen = 0; - let items = []; - // TODO: what about rectangular selection - for (let x = sx; x <= ex; x += 1) { - for (let y = sy; y <= ey; y += 1) { - items.push(xy2expr(x, y)); - rangelen += 1; - } - } + const items = buildRange(stack) stack.push(items); // it will be actually incremented lated - if(c === ')') { - let c1 = operatorStack.pop(); - stack.push({ f: c1, len: fnArgsLen}); - } else { - fnArgType = 1; - fnArgsLen += 1; - } + // if (c === ')') { + let c1 = operatorStack.pop(); + stack.push({ f: c1,len: fnArgsLen }); + // } else { + // fnArgType = 1; + // fnArgsLen += 1; + // } } catch (e) { // console.log(e); } @@ -73,17 +78,17 @@ const infixExprToSuffixExpr = (src) => { stack.push(fnArgOperator); fnArgOperator = ''; } - // if (fnArgType === 1) stack.push({ f: c1, len: fnArgsLen}); - if (c === ')') { - let c1 = operatorStack.pop(); - - // fn argument => A1,A2,B5 - stack.push({f: c1, len: fnArgsLen}); - fnArgsLen = 1; - } else { - fnArgType = 1; - fnArgsLen+=1; - } + // if (fnArgType === 1) stack.push({ f: c1, len: fnArgsLen}); + // if (c === ')') { + let c1 = operatorStack.pop(); + + // fn argument => A1,A2,B5 + stack.push({ f: c1,len: fnArgsLen }); + fnArgsLen = 1; + // } else { + // fnArgType = 1; + // fnArgsLen += 1; + // } } else { // console.log('c1:', c1, fnArgType, stack, operatorStack); @@ -94,9 +99,9 @@ const infixExprToSuffixExpr = (src) => { c1 = operatorStack.pop(); } } - if(c === ')') { - fnArgType = 0; - } + // if (c === ')') { + fnArgType = 0; + // } } else if (c === '=' || c === '>' || c === '<') { const nc = src.charAt(i + 1); fnArgOperator = c; @@ -109,8 +114,12 @@ const infixExprToSuffixExpr = (src) => { fnArgType = 2; } else if (c === ',') { // TODO: here if the previous parameter is a range, we should colllect it - if (fnArgType === 3) { + if (fnArgType === 2) { + const items = buildRange(stack) + stack.push(items); + } else if (fnArgType === 3) { stack.push(fnArgOperator); + fnArgOperator = ''; } fnArgType = 1; fnArgsLen += 1; @@ -147,16 +156,16 @@ const infixExprToSuffixExpr = (src) => { while (operatorStack.length > 0) { stack.push(operatorStack.pop()); } - if(fnArgOperator.length>0) { + if (fnArgOperator.length > 0) { stack.push(fnArgOperator); } return stack; }; -const evalSubExpr = (subExpr, cellRender) => { +const evalSubExpr = (subExpr,cellRender) => { - if(Array.isArray(subExpr)) { - const ret = subExpr.map(e => evalSubExpr(e, cellRender)); + if (Array.isArray(subExpr)) { + const ret = subExpr.map(e => evalSubExpr(e,cellRender)); return ret; } @@ -173,17 +182,17 @@ const evalSubExpr = (subExpr, cellRender) => { if (expr[0] >= '0' && expr[0] <= '9') { return ret * Number(expr); } - const [x, y] = expr2xy(expr); + const [x,y] = expr2xy(expr); // changed by gcannata // return ret * cellRender(x, y); - return cellRender(x, y); + return cellRender(x,y); }; // evaluate the suffix expression // srcStack: <= infixExprToSufixExpr // formulaMap: {'SUM': {}, ...} // cellRender: (x, y) => {} -const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { +const evalSuffixExpr = (srcStack,formulaMap,cellRender,cellList) => { const stack = []; // console.log(':::::formulaMap:', formulaMap); for (let i = 0; i < srcStack.length; i += 1) { @@ -192,20 +201,20 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { const fc = expr[0]; if (expr === '+') { const top = stack.pop(); - stack.push(numberCalc('+', stack.pop(), top)); + stack.push(numberCalc('+',stack.pop(),top)); } else if (expr === '-') { if (stack.length === 1) { const top = stack.pop(); - stack.push(numberCalc('*', top, -1)); + stack.push(numberCalc('*',top,-1)); } else { const top = stack.pop(); - stack.push(numberCalc('-', stack.pop(), top)); + stack.push(numberCalc('-',stack.pop(),top)); } } else if (expr === '*') { - stack.push(numberCalc('*', stack.pop(), stack.pop())); + stack.push(numberCalc('*',stack.pop(),stack.pop())); } else if (expr === '/') { const top = stack.pop(); - stack.push(numberCalc('/', stack.pop(), top)); + stack.push(numberCalc('/',stack.pop(),top)); } else if (fc === '=' || fc === '>' || fc === '<') { let top = stack.pop(); if (!Number.isNaN(top)) top = Number(top); @@ -224,7 +233,7 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { ret = (left <= top); } stack.push(ret); - } + } // by gcannata // else if (Array.isArray(expr)) { // const [formula, len] = expr; @@ -235,13 +244,13 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { // stack.push(formulaMap[formula].render(params.reverse())); // } else if (expr.f) { - const {f, len} = expr; + const { f,len } = expr; const params = []; for (let j = 0; j < len; j += 1) { params.push(stack.pop()); } stack.push(formulaMap[f].render(params.reverse())); - } + } else if (formulaMap[expr]) { // try to support unary operators const params = []; params.push(stack.pop()); @@ -253,24 +262,26 @@ const evalSuffixExpr = (srcStack, formulaMap, cellRender, cellList) => { if ((fc >= 'a' && fc <= 'z') || (fc >= 'A' && fc <= 'Z')) { cellList.push(expr); } - stack.push(evalSubExpr(expr, cellRender)); + stack.push(evalSubExpr(expr,cellRender)); cellList.pop(); } // console.log('stack:', stack); } // by gcanata // return stack[0]; - return stack[0] || 0; + const ret = stack[0]; + if (ret !== undefined && ret !== null) return ret; + return 0; }; -const cellRender = (src, formulaMap, getCellText, cellList = []) => { +const cellRender = (src,formulaMap,getCellText,cellList = []) => { if (src[0] === '=') { const stack = infixExprToSuffixExpr(src.substring(1)); if (stack.length <= 0) return src; return evalSuffixExpr( stack, formulaMap, - (x, y) => cellRender(getCellText(x, y), formulaMap, getCellText, cellList), + (x,y) => cellRender(getCellText(x,y),formulaMap,getCellText,cellList), cellList, ); } diff --git a/src/core/formula.js b/src/core/formula.js index 0b71111f4..f35bd4ea8 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -14,31 +14,34 @@ import { tf } from '../locale/locale'; import { numberCalc } from './helper'; function isNumber(str) { - return !Number.isNaN(parseFloat(str)) && Number.isFinite(str); + // eslint-disable-next-line no-restricted-globals + return !Number.isNaN(parseFloat(str)) && isFinite(str); } + + /** @type {Formula[]} */ const baseFormulas = [ { key: 'SUM', title: tf('formula.sum'), - render: ([ary]) => ary.reduce((a, b) => numberCalc('+', a, b), 0), + render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => numberCalc('+', a, b), 0), }, { key: 'AVERAGE', title: tf('formula.average'), - render: ([ary]) => ary.reduce((a, b) => Number(a) + Number(b), 0) / ary.length, + render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => Number(a) + Number(b), 0) / ary.flat().length, }, { key: 'MAX', title: tf('formula.max'), - render: ([ary]) => Math.max(...ary.map(v => Number(v))), + render: ([...ary]) => Math.max(...ary.flat().filter(isNumber).map(v => Number(v))), }, { key: 'MIN', title: tf('formula.min'), - render: ([ary]) => Math.min(...ary.map(v => Number(v))), + render: ([...ary]) => Math.min(...ary.flat().filter(isNumber).map(v => Number(v))), }, { key: 'IF', @@ -48,52 +51,52 @@ const baseFormulas = [ { key: 'AND', title: tf('formula.and'), - render: ([ary]) => ary.every(it => it), + render: ([...ary]) => ary.flat().every(it => it), }, { key: 'OR', title: tf('formula.or'), - render: ([ary]) => ary.some(it => it), + render: ([...ary]) => ary.flat().some(it => it), }, { key: 'CONCAT', title: tf('formula.concat'), - render: ary => ary.join(''), + render: ([...ary]) => ary.flat().join(''), }, { key: 'PRODUCT', title: tf('formula.product'), - render: ary => ary.reduce((a, b) => Number(a) * Number(b),1), + render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => Number(a) * Number(b),1), }, { key: 'COUNT', title: tf('formula.count'), - render: ary => ary.filter(isNumber).length, + render: ary => ary.flat().filter(isNumber).length, }, { key: 'MOD', title: tf('formula.mod'), - render: ([a,b]) => a % b, + render: ([a,b]) => Number(a) % Number(b), }, { key: 'POWER', title: tf('formula.power'), - render: ([a,b]) => a ** b, + render: ([a,b]) => Number(a) ** Number(b), }, { key: 'CEILING', title: tf('formula.ceiling'), - render: ([a]) => Math.ceil(a), + render: ([a, significance]) => Math.ceil(Number(a)), }, { key: 'FLOOR', title: tf('formula.floor'), - render: ([a]) => Math.floor(a), + render: ([a]) => Math.floor(Number(a)), }, { key: 'LEN', title: tf('formula.len'), - render: ([a]) => String(a).length + render: ([a]) => String(a).length, }, { key: 'REPLACE', From de07db34c1f11bfc131334c05b1eeff47b3d01b5 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 3 Aug 2023 00:36:28 +0200 Subject: [PATCH 17/61] VLOOKUP --- index.html | 20 +++++++++++++------- src/core/cell.js | 6 +++++- src/core/formula.js | 31 +++++++++++++++++++------------ 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/index.html b/index.html index e4607444f..be5572a74 100644 --- a/index.html +++ b/index.html @@ -30,22 +30,28 @@ 0: { cells: { 0: { text: '1' }, - 1: { text: "=A1"} + 1: { text: "One"} }, }, 1: { cells: { 0: { text: '2' }, + 1: { text: "Two"} + } }, 2: { cells: { 0: { text: '3' }, + 1: { text: "Three"} + } }, 3: { cells: { 0: { text: '4' }, + 1: { text: "Four"} + } } }; @@ -118,12 +124,12 @@ console.log('>>>> data is ', data); }); - setTimeout(() => { - // xs.loadData([{ rows }]); - xs.cellText(14, 3, 'cell-text').reRender(); - console.log('cell(8, 8):', xs.cell(8, 8)); - console.log('cellStyle(8, 8):', xs.cellStyle(8, 8)); - }, 5000); + // setTimeout(() => { + // // xs.loadData([{ rows }]); + // xs.cellText(14, 3, 'cell-text').reRender(); + // console.log('cell(8, 8):', xs.cell(8, 8)); + // console.log('cellStyle(8, 8):', xs.cellStyle(8, 8)); + // }, 5000); } diff --git a/src/core/cell.js b/src/core/cell.js index 589ee7884..e10115dd4 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -7,6 +7,7 @@ function buildRange(stack) { const [sx,sy] = expr2xy(stack.pop()); // console.log('::', sx, sy, ex, ey); // let rangelen = 0; + const rows = []; let items = []; // TODO: what about rectangular selection for (let x = sx; x <= ex; x += 1) { @@ -14,8 +15,11 @@ function buildRange(stack) { items.push(xy2expr(x,y)); // rangelen += 1; } + rows.push(items); + items = []; } - return items; + + return rows; } // Converting infix expression to a suffix expression diff --git a/src/core/formula.js b/src/core/formula.js index f35bd4ea8..1236d67ab 100644 --- a/src/core/formula.js +++ b/src/core/formula.js @@ -26,22 +26,22 @@ const baseFormulas = [ { key: 'SUM', title: tf('formula.sum'), - render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => numberCalc('+', a, b), 0), + render: ary => ary.flat().flat().filter(isNumber).reduce((a, b) => numberCalc('+', a, b), 0), }, { key: 'AVERAGE', title: tf('formula.average'), - render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => Number(a) + Number(b), 0) / ary.flat().length, + render: ([...ary]) => ary.flat().flat().filter(isNumber).reduce((a, b) => Number(a) + Number(b), 0) / ary.flat().length, }, { key: 'MAX', title: tf('formula.max'), - render: ([...ary]) => Math.max(...ary.flat().filter(isNumber).map(v => Number(v))), + render: ([...ary]) => Math.max(...ary.flat().flat().filter(isNumber).map(v => Number(v))), }, { key: 'MIN', title: tf('formula.min'), - render: ([...ary]) => Math.min(...ary.flat().filter(isNumber).map(v => Number(v))), + render: ([...ary]) => Math.min(...ary.flat().flat().filter(isNumber).map(v => Number(v))), }, { key: 'IF', @@ -51,27 +51,27 @@ const baseFormulas = [ { key: 'AND', title: tf('formula.and'), - render: ([...ary]) => ary.flat().every(it => it), + render: ([...ary]) => ary.flat().flat().every(it => it), }, { key: 'OR', title: tf('formula.or'), - render: ([...ary]) => ary.flat().some(it => it), + render: ([...ary]) => ary.flat().flat().some(it => it), }, { key: 'CONCAT', title: tf('formula.concat'), - render: ([...ary]) => ary.flat().join(''), + render: ([...ary]) => ary.flat().flat().join(''), }, { key: 'PRODUCT', title: tf('formula.product'), - render: ([...ary]) => ary.flat().filter(isNumber).reduce((a, b) => Number(a) * Number(b),1), + render: ([...ary]) => ary.flat().flat().filter(isNumber).reduce((a, b) => Number(a) * Number(b),1), }, { key: 'COUNT', title: tf('formula.count'), - render: ary => ary.flat().filter(isNumber).length, + render: ary => ary.flat().flat().filter(isNumber).length, }, { key: 'MOD', @@ -122,9 +122,16 @@ const baseFormulas = [ key: 'VLOOKUP', title: tf('formula.vlookup'), render: ([lookupValue, table, colIndex, rangeLookup]) => { - console.log(arguments); - } - + console.log(lookupValue, table, colIndex, rangeLookup); + const index = table[0].findIndex(s => s == lookupValue); + if(index >= 0 && colIndex <= table.length) { + const lookup = table[colIndex-1]; + const value = lookup[index]; + return value; + } + return "#N/A"; + }, + } /* support: 1 + A1 + B2 * 3 { From 7a7d7b007757de746bd250ff12d485a44c8286b2 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 3 Aug 2023 19:02:32 +0200 Subject: [PATCH 18/61] Fix steps greater than 1 --- index.html | 8 ++++---- src/core/row.js | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index be5572a74..1f18a37d5 100644 --- a/index.html +++ b/index.html @@ -30,27 +30,27 @@ 0: { cells: { 0: { text: '1' }, - 1: { text: "One"} + 1: { text: "=A$1"} }, }, 1: { cells: { 0: { text: '2' }, - 1: { text: "Two"} + // 1: { text: "=A1"} } }, 2: { cells: { 0: { text: '3' }, - 1: { text: "Three"} + // 1: { text: "Three"} } }, 3: { cells: { 0: { text: '4' }, - 1: { text: "Four"} + // 1: { text: "Four"} } } diff --git a/src/core/row.js b/src/core/row.js index f29094d45..48929d5cf 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -169,12 +169,12 @@ class Rows { // dragging selecyion should still work // we should consider locking ($A$1) if (sri === dsri) { - // was - xn = n - 1; + // was xn = n - 1 + xn = n - 1 + (dsci-sci)-1; // xn = dsci - sci; // if (isAdd) xn -= 1; } else { - yn = n - 1; + yn = n - 1 + (dsri-sri)-1; // yn = dsri - sri; } if (/^\d+$/.test(word)) return word; From 9f85da0294442e4db82c4d1f824f3c7593c65d0a Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 3 Aug 2023 19:28:53 +0200 Subject: [PATCH 19/61] FIX: $ character --- src/core/alphabet.js | 10 ++++++---- src/core/cell.js | 6 ++++-- src/core/row.js | 2 +- src/locale/en.js | 3 ++- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/core/alphabet.js b/src/core/alphabet.js index 26b78a146..b053a2301 100644 --- a/src/core/alphabet.js +++ b/src/core/alphabet.js @@ -69,8 +69,10 @@ export function expr2xy(src) { * @param {number} y * @returns {tagA1} */ -export function xy2expr(x, y) { - return `${stringAt(x)}${y + 1}`; +export function xy2expr(x, y, xlock, ylock) { + const x$ = xlock ? '$' : ''; + const y$ = ylock ? '$' : ''; + return `${x$}${stringAt(x)}${y$}${y + 1}`; } /** translate A1-tag src by (xn, yn) @@ -83,9 +85,9 @@ export function xy2expr(x, y) { */ export function expr2expr(src, xn, yn, condition = () => true) { if (xn === 0 && yn === 0) return src; - const [x, y] = expr2xy(src); + const [x, y, xlock, ylock] = expr2xy(src); if (!condition(x, y)) return src; - return xy2expr(x + xn, y + yn); + return xy2expr(x + (xlock ? 0 : xn), y + (ylock ? 0 : yn), xlock, ylock); } export default { diff --git a/src/core/cell.js b/src/core/cell.js index e10115dd4..8b9a9407e 100644 --- a/src/core/cell.js +++ b/src/core/cell.js @@ -41,9 +41,11 @@ const infixExprToSuffixExpr = (src) => { if (c === '$') { locked = true; } else if (c >= 'a' && c <= 'z') { - subStrs.push((locked ? "$" : "") + c.toUpperCase()); + subStrs.push((locked ? '$' : '') + c.toUpperCase()); + locked = false; } else if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c === '.') { - subStrs.push((locked ? "$" : "") + c); + subStrs.push((locked ? '$' : '') + c); + locked = false; } else if (c === '"') { i += 1; while (src.charAt(i) !== '"') { diff --git a/src/core/row.js b/src/core/row.js index 48929d5cf..c3e7d05e0 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -162,7 +162,7 @@ class Rows { console.log(`n: ${n}`); if (text[0] === '=') { - ncell.text = text.replace(/[a-zA-Z]{1,3}\d+/g, (word) => { + ncell.text = text.replace(/\$?[a-zA-Z]{1,3}\$?\d+/g, (word) => { let [xn, yn] = [0, 0]; // TODO: handle more cases // copy paste with more than 1 apart diff --git a/src/locale/en.js b/src/locale/en.js index 6de2ca851..55ca5c794 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -79,7 +79,8 @@ export default { floor: 'Floor', len: 'Length', replace: 'Replace', - substitute: 'Substitute' + substitute: 'Substitute', + vlookup: 'Vertical Lookup', }, validation: { required: 'it must be required', From 29b867f90dc0523854f043975e56ab9d159f600f Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sat, 5 Aug 2023 13:00:40 +0200 Subject: [PATCH 20/61] Fixed formatting --- .gitignore | 1 + src/component/dropdown_linetype.js | 2 +- src/core/format.js | 2 +- src/index.d.ts | 9 ++++++++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3928b0931..907391cdf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules yarn.lock .nyc_output/* +.vscode/settings.json diff --git a/src/component/dropdown_linetype.js b/src/component/dropdown_linetype.js index 4b8d32b96..515691f73 100644 --- a/src/component/dropdown_linetype.js +++ b/src/component/dropdown_linetype.js @@ -28,6 +28,6 @@ export default class DropdownLineType extends Dropdown { h('div', `${cssPrefix}-line-type`).html(it[1]), )); - super(icon, 'auto', false, 'bottom-left', ...lineTypeEls); + super(icon, 'auto', false, 'bottom-right', ...lineTypeEls); } } diff --git a/src/core/format.js b/src/core/format.js index 9c381f2b0..ae69a1e89 100644 --- a/src/core/format.js +++ b/src/core/format.js @@ -37,7 +37,7 @@ const baseFormats = [ title: tf('format.percent'), type: 'number', label: '10.12%', - render: v => `${v}%`, + render: v => `${v*100}%`, }, { key: 'rmb', diff --git a/src/index.d.ts b/src/index.d.ts index 961ea8216..d74c66eb5 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -89,7 +89,8 @@ declare module 'x-data-spreadsheet' { export interface RowData { cells: { [key: number]: CellData; - } + }, + hidden?: boolean; // not used } /** @@ -121,7 +122,13 @@ declare module 'x-data-spreadsheet' { valign?: 'top' | 'middle' | 'bottom'; font?: { bold?: boolean; + italic?: boolean; + name?: string; + family?: number; // not yet used + size?: number; } + strike?: boolean; + underline?: boolean; bgcolor?: string; textwrap?: boolean; color?: string; From a011eea9a70ed29aabba719a759fd737a153acda Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sat, 5 Aug 2023 13:06:51 +0200 Subject: [PATCH 21/61] tentative fix for top borders hidden by headers --- src/component/table.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/component/table.js b/src/component/table.js index 41e1e1434..85a96e566 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -330,9 +330,10 @@ class Table { const { x, y } = data.scroll; // 1 renderContentGrid.call(this, viewRange, fw, fh, tx, ty); - renderContent.call(this, viewRange, fw, fh, -x, -y); renderFixedHeaders.call(this, 'all', viewRange, fw, fh, tx, ty); renderFixedLeftTopCell.call(this, fw, fh); + // gcannata moved here for top borders + renderContent.call(this, viewRange, fw, fh, -x, -y); const [fri, fci] = data.freeze; if (fri > 0 || fci > 0) { // 2 @@ -342,8 +343,9 @@ class Table { vr.eri = fri - 1; vr.h = ty; renderContentGrid.call(this, vr, fw, fh, tx, 0); - renderContent.call(this, vr, fw, fh, -x, 0); renderFixedHeaders.call(this, 'top', vr, fw, fh, tx, 0); + // gcannata moved here for top borders + renderContent.call(this, vr, fw, fh, -x, 0); } // 3 if (fci > 0) { From 92c4d2d337834347d5de38c5f8021d24bc70f107 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 00:38:55 +0200 Subject: [PATCH 22/61] Tweaked index.d.ts --- src/component/bottombar.js | 1 + src/index.d.ts | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/component/bottombar.js b/src/component/bottombar.js index 33f123762..275f2d6ee 100644 --- a/src/component/bottombar.js +++ b/src/component/bottombar.js @@ -114,6 +114,7 @@ export default class Bottombar { const v = item.html(); const input = new FormInput('auto', ''); input.val(v); + // TODO: support ENTER key input.input.on('blur', ({ target }) => { const { value } = target; const nindex = this.dataNames.findIndex(it => it === v); diff --git a/src/index.d.ts b/src/index.d.ts index d74c66eb5..2f53db8ff 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -106,6 +106,7 @@ declare module 'x-data-spreadsheet' { [key: number]: ColProperties; }; rows?: { + len?: number; [key: number]: RowData }; } @@ -138,6 +139,7 @@ declare module 'x-data-spreadsheet' { bottom?: string[]; left?: string[]; }; + format?: string; } export interface Editor {} export interface Element {} From 72fb90384785e92ca36dbf7113507ef314f9db21 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 00:48:49 +0200 Subject: [PATCH 23/61] FIX: sheetindex incrementing --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index b2cd7e960..659de2740 100644 --- a/src/index.js +++ b/src/index.js @@ -72,6 +72,7 @@ class Spreadsheet { if (this.bottombar !== null) { this.bottombar.clear(); } + this.sheetIndex = 1; this.datas = []; if (ds.length > 0) { for (let i = 0; i < ds.length; i += 1) { From 1a603f9054351491c76396ad95b9772c483e0a3c Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 02:15:32 +0200 Subject: [PATCH 24/61] Added state to SpreadsheetData --- src/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.d.ts b/src/index.d.ts index 2f53db8ff..de2007cdc 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -116,6 +116,10 @@ declare module 'x-data-spreadsheet' { */ export interface SpreadsheetData { [index: number]: SheetData; + state?: { + sheetName?: string; + selector?: any + } } export interface CellStyle { From a2fcf657bedca4f2d8ab6e0585322454b38ac7e6 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 11:42:53 +0200 Subject: [PATCH 25/61] format WIP --- package-lock.json | 6 ++++ package.json | 1 + src/component/table.js | 11 ++++++-- src/core/data_proxy.js | 2 +- src/core/format.js | 59 ++++++++++++++++++++++++++-------------- src/core/row.js | 8 ------ src/locale/de.js | 2 +- src/locale/en.js | 3 +- src/locale/zh-cn.js | 2 +- test/core/format_test.js | 4 +-- 10 files changed, 61 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e5919a05..473cc4169 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { + "numfmt": "^2.5.1", "opencollective": "^1.0.3", "opencollective-postinstall": "^2.0.2" }, @@ -7691,6 +7692,11 @@ "node": ">=0.10.0" } }, + "node_modules/numfmt": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/numfmt/-/numfmt-2.5.1.tgz", + "integrity": "sha512-hhohb6oCH3z9rZpFRGrb335CVwWN62Ajom8QI86PbIR+z6AFG8LuLGpoNz6/zR/tEKoTptzkS6kpAkSE218arg==" + }, "node_modules/nyc": { "version": "13.3.0", "resolved": "https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz", diff --git a/package.json b/package.json index 99a1802b4..0004086f8 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "webpack-merge": "^4.1.4" }, "dependencies": { + "numfmt": "^2.5.1", "opencollective": "^1.0.3", "opencollective-postinstall": "^2.0.2" }, diff --git a/src/component/table.js b/src/component/table.js index 85a96e566..d52af2154 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -1,3 +1,4 @@ +import numfmt from 'numfmt'; import { stringAt } from '../core/alphabet'; import { getFontSizePxByPt } from '../core/font'; import _cell from '../core/cell'; @@ -7,6 +8,7 @@ import { formatm } from '../core/format'; import { Draw, DrawBox, thinLineWidth, npx, } from '../canvas/draw'; + // gobal var const cellPaddingWidth = 5; const tableFixedHeaderCleanStyle = { fillStyle: '#f4f5f8' }; @@ -81,8 +83,13 @@ export function renderCell(draw, data, rindex, cindex, yoffset = 0) { cellText = cell.text || ''; } if (style.format) { - // console.log(data.formatm, '>>', cell.format); - cellText = formatm[style.format].render(cellText); + const p = numfmt.parseValue(cellText); + if(p){ + const {v} = p; + // console.log(data.formatm, '>>', cell.format); + cellText = formatm[style.format].render(v); + } + } const font = Object.assign({}, style.font); font.size = getFontSizePxByPt(font.size); diff --git a/src/core/data_proxy.js b/src/core/data_proxy.js index 68ec9b1cf..e95bf5f0d 100644 --- a/src/core/data_proxy.js +++ b/src/core/data_proxy.js @@ -103,7 +103,7 @@ const defaultSettings = { bold: false, italic: false, }, - format: 'normal', + format: 'general', }, }; diff --git a/src/core/format.js b/src/core/format.js index ae69a1e89..feb8f2c83 100644 --- a/src/core/format.js +++ b/src/core/format.js @@ -1,7 +1,10 @@ +import numfmt from 'numfmt'; import { tf } from '../locale/locale'; +// eslint-disable-next-line no-unused-vars const formatStringRender = v => v; +// eslint-disable-next-line no-unused-vars const formatNumberRender = (v) => { // match "-12.1" or "12" or "12.1" if (/^(-?\d*.?\d*)$/.test(v)) { @@ -12,82 +15,96 @@ const formatNumberRender = (v) => { return v; }; +const generalFmt = numfmt(''); +const textFmt = numfmt('@'); +const numericFmt = numfmt('#,##0.00'); +const percentFmt = numfmt('#,##0.00%'); +const rmbFmt = numfmt('¥#,##0.00'); +const eurFmt = numfmt('€#,##0.00'); +const usdFmt = numfmt('$#,##0.00'); +// TODO: take from locale +const dateFmt = numfmt('dd/mm/yyyy'); +const timeFmt = numfmt('[$-F400]h:mm:ss AM/PM'); +const longdateFmt = numfmt('[$-F800]dddd, mmmm dd, yyyy'); + + const baseFormats = [ { - key: 'normal', - title: tf('format.normal'), + key: 'general', + title: tf('format.general'), type: 'string', - render: formatStringRender, + render: generalFmt, }, { key: 'text', title: tf('format.text'), type: 'string', - render: formatStringRender, + render: textFmt, }, { key: 'number', title: tf('format.number'), type: 'number', label: '1,000.12', - render: formatNumberRender, + render: numericFmt, }, { key: 'percent', title: tf('format.percent'), type: 'number', label: '10.12%', - render: v => `${v*100}%`, + render: percentFmt, }, { key: 'rmb', title: tf('format.rmb'), type: 'number', label: '¥10.00', - render: v => `¥${formatNumberRender(v)}`, + render: rmbFmt, }, { key: 'usd', title: tf('format.usd'), type: 'number', label: '$10.00', - render: v => `$${formatNumberRender(v)}`, + render: usdFmt, }, { key: 'eur', title: tf('format.eur'), type: 'number', label: '€10.00', - render: v => `€${formatNumberRender(v)}`, + render: eurFmt, }, { key: 'date', title: tf('format.date'), type: 'date', label: '26/09/2008', - render: formatStringRender, + render: dateFmt, }, { key: 'time', title: tf('format.time'), type: 'date', label: '15:59:00', - render: formatStringRender, - }, - { - key: 'datetime', - title: tf('format.datetime'), - type: 'date', - label: '26/09/2008 15:59:00', - render: formatStringRender, + render: timeFmt, }, + // { + // key: 'datetime', + // title: tf('format.datetime'), + // type: 'date', + // label: '26/09/2008 15:59:00', + // render: timeFmt, + // }, { - key: 'duration', - title: tf('format.duration'), + key: 'longdate', + title: tf('format.longdate'), type: 'date', label: '24:01:00', - render: formatStringRender, + render: longdateFmt, }, + ]; // const formats = (ary = []) => { diff --git a/src/core/row.js b/src/core/row.js index c3e7d05e0..278380b37 100644 --- a/src/core/row.js +++ b/src/core/row.js @@ -121,10 +121,6 @@ class Rows { const [rn, cn] = srcCellRange.size(); const [drn, dcn] = dstCellRange.size(); - console.log(`sri:${sri} sci:${sci} eri:${eri} eci:${eci}`); - console.log(`dsri:${dsri} dsci:${dsci} deri:${deri} deci:${deci}`); - console.log(`rn: ${rn} cn: ${cn}`); - console.log(`drn: ${drn} dcn: ${dcn}`); // console.log(srcIndexes, dstIndexes); let isAdd = true; let dn = 0; @@ -134,7 +130,6 @@ class Rows { else dn = dcn; } - console.log(`isAdd: ${isAdd} dn: ${dn}`); for (let i = sri; i <= eri; i += 1) { if (this._[i]) { @@ -143,12 +138,9 @@ class Rows { for (let ii = dsri; ii <= deri; ii += rn) { for (let jj = dsci; jj <= deci; jj += cn) { - console.log(`i: ${i} j: ${j}`); - console.log(`ii: ${ii} jj: ${jj}`); const nri = ii + (i - sri); const nci = jj + (j - sci); - console.log(`nri: ${nri} nci: ${nci}`); const ncell = helper.cloneDeep(this._[i].cells[j]); // ncell.text diff --git a/src/locale/de.js b/src/locale/de.js index 228cf0b13..05d8c5212 100644 --- a/src/locale/de.js +++ b/src/locale/de.js @@ -36,7 +36,7 @@ export default { deleteCellText: 'Zellentext löschen', }, format: { - normal: 'Regulär', + general: 'Regulär', text: 'Text', number: 'Nummer', percent: 'Prozent', diff --git a/src/locale/en.js b/src/locale/en.js index 55ca5c794..6f8dd7c84 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -50,7 +50,7 @@ export default { orientations: ['Landscape', 'Portrait'], }, format: { - normal: 'Normal', + general: 'General', text: 'Plain Text', number: 'Number', percent: 'Percent', @@ -61,6 +61,7 @@ export default { time: 'Time', datetime: 'Date time', duration: 'Duration', + longdate: 'Long Date' }, formula: { sum: 'Sum', diff --git a/src/locale/zh-cn.js b/src/locale/zh-cn.js index 6ba276e51..8d386b2f3 100644 --- a/src/locale/zh-cn.js +++ b/src/locale/zh-cn.js @@ -50,7 +50,7 @@ export default { orientations: ['横向', '纵向'], }, format: { - normal: '正常', + general: '正常', text: '文本', number: '数值', percent: '百分比', diff --git a/test/core/format_test.js b/test/core/format_test.js index df815d347..04769e7a6 100644 --- a/test/core/format_test.js +++ b/test/core/format_test.js @@ -8,8 +8,8 @@ import { const gformats = formatm; describe('formatm', () => { describe('#render()', () => { - it('normal: should return AC when the value is AC', () => { - assert.equal(gformats.normal.render('AC'), 'AC'); + it('general: should return AC when the value is AC', () => { + assert.equal(gformats.general.render('AC'), 'AC'); }); it('text: should return abc when the value is abc', () => { assert.equal(gformats.text.render('abc'), 'abc'); From 093529ff12e5a26ff8122130add6042e9aeb90f4 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 19:28:47 +0200 Subject: [PATCH 26/61] Formatting using numfmt --- src/component/dropdown_format.js | 6 +- src/component/table.js | 15 ++--- src/component/toolbar/dropdown_item.js | 2 +- src/component/toolbar/format.js | 3 +- src/core/data_proxy.js | 2 +- src/core/format.js | 93 +++++++++++++++++--------- src/locale/en.js | 3 +- 7 files changed, 79 insertions(+), 45 deletions(-) diff --git a/src/component/dropdown_format.js b/src/component/dropdown_format.js index faed827d6..5662a4e1e 100644 --- a/src/component/dropdown_format.js +++ b/src/component/dropdown_format.js @@ -15,19 +15,19 @@ export default class DropdownFormat extends Dropdown { } else { item.child(it.title()) .on('click', () => { - this.setTitle(it.title()); + this.setTitle(it.numfmt); this.change(it); }); if (it.label) item.child(h('div', 'label').html(it.label)); } return item; }); - super('Normal', '220px', true, 'bottom-left', ...nformats); + super('General', '220px', true, 'bottom-left', ...nformats); } setTitle(key) { for (let i = 0; i < baseFormats.length; i += 1) { - if (baseFormats[i].key === key) { + if (baseFormats[i].numfmt === key) { this.title.html(baseFormats[i].title()); } } diff --git a/src/component/table.js b/src/component/table.js index d52af2154..e98ba697e 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -1,4 +1,3 @@ -import numfmt from 'numfmt'; import { stringAt } from '../core/alphabet'; import { getFontSizePxByPt } from '../core/font'; import _cell from '../core/cell'; @@ -83,13 +82,13 @@ export function renderCell(draw, data, rindex, cindex, yoffset = 0) { cellText = cell.text || ''; } if (style.format) { - const p = numfmt.parseValue(cellText); - if(p){ - const {v} = p; - // console.log(data.formatm, '>>', cell.format); - cellText = formatm[style.format].render(v); - } - + // const p = numfmt.parseValue(cellText); + // if (p) { + // const { v } = p; + // // console.log(data.formatm, '>>', cell.format); + // cellText = formatm[style.format].render(v); + // } + cellText = formatm.render(style.format, cellText); } const font = Object.assign({}, style.font); font.size = getFontSizePxByPt(font.size); diff --git a/src/component/toolbar/dropdown_item.js b/src/component/toolbar/dropdown_item.js index da639aad4..5ff2b3628 100644 --- a/src/component/toolbar/dropdown_item.js +++ b/src/component/toolbar/dropdown_item.js @@ -17,7 +17,7 @@ export default class DropdownItem extends Item { } setState(v) { - if (v) { + if (v !== undefined) { this.value = v; this.dd.setTitle(v); } diff --git a/src/component/toolbar/format.js b/src/component/toolbar/format.js index 8fdba4f21..35e2c89a6 100644 --- a/src/component/toolbar/format.js +++ b/src/component/toolbar/format.js @@ -7,7 +7,8 @@ export default class Format extends DropdownItem { } getValue(it) { - return it.key; + // return it.key; + return it.numfmt; } dropdown() { diff --git a/src/core/data_proxy.js b/src/core/data_proxy.js index e95bf5f0d..92ca2d093 100644 --- a/src/core/data_proxy.js +++ b/src/core/data_proxy.js @@ -103,7 +103,7 @@ const defaultSettings = { bold: false, italic: false, }, - format: 'general', + format: '', }, }; diff --git a/src/core/format.js b/src/core/format.js index feb8f2c83..d02eedf28 100644 --- a/src/core/format.js +++ b/src/core/format.js @@ -15,80 +15,89 @@ const formatNumberRender = (v) => { return v; }; -const generalFmt = numfmt(''); -const textFmt = numfmt('@'); -const numericFmt = numfmt('#,##0.00'); -const percentFmt = numfmt('#,##0.00%'); -const rmbFmt = numfmt('¥#,##0.00'); -const eurFmt = numfmt('€#,##0.00'); -const usdFmt = numfmt('$#,##0.00'); +const generalFmt = ``; +const textFmt = '@'; +const numericFmt = '#,##0.00'; +const percentFmt = '#,##0.00%'; +const rmbFmt = '¥#,##0.00'; +const usdFmt = '$#,##0.00'; +const eurFmt = '€#,##0.00'; // TODO: take from locale -const dateFmt = numfmt('dd/mm/yyyy'); -const timeFmt = numfmt('[$-F400]h:mm:ss AM/PM'); -const longdateFmt = numfmt('[$-F800]dddd, mmmm dd, yyyy'); +const dateFmt = tf('format.dateformat')() || 'yyyy-mm-dd'; +const timeFmt = '[$-F400]h:mm:ss AM/PM'; +const longdateFmt = '[$-F800]dddd, mmmm dd, yyyy'; const baseFormats = [ { - key: 'general', + // key: 'general', + numfmt: generalFmt, title: tf('format.general'), type: 'string', - render: generalFmt, + render: numfmt(generalFmt), }, { - key: 'text', + // key: 'text', + numfmt: textFmt, title: tf('format.text'), type: 'string', - render: textFmt, + render: numfmt(textFmt), }, { - key: 'number', + // key: 'number', + numfmt: numericFmt, title: tf('format.number'), type: 'number', label: '1,000.12', - render: numericFmt, + render: numfmt(numericFmt), }, { - key: 'percent', + // key: 'percent', + numfmt: percentFmt, title: tf('format.percent'), type: 'number', label: '10.12%', - render: percentFmt, + render: numfmt(percentFmt), }, { - key: 'rmb', + // key: 'rmb', + numfmt: rmbFmt, title: tf('format.rmb'), type: 'number', label: '¥10.00', - render: rmbFmt, + render: numfmt(rmbFmt), }, { - key: 'usd', + // key: 'usd', + numfmt: usdFmt, title: tf('format.usd'), type: 'number', label: '$10.00', - render: usdFmt, + render: numfmt(usdFmt), }, { - key: 'eur', + // key: 'eur', + numfmt: eurFmt, title: tf('format.eur'), type: 'number', label: '€10.00', - render: eurFmt, + render: numfmt(eurFmt), }, { - key: 'date', + // key: 'date', + numfmt: dateFmt, title: tf('format.date'), type: 'date', label: '26/09/2008', - render: dateFmt, + render: numfmt(dateFmt), }, { - key: 'time', + // key: 'time', + numfmt: timeFmt, title: tf('format.time'), type: 'date', label: '15:59:00', - render: timeFmt, + render: numfmt(timeFmt), }, // { // key: 'datetime', @@ -98,11 +107,12 @@ const baseFormats = [ // render: timeFmt, // }, { - key: 'longdate', + // key: 'longdate', + numfmt: longdateFmt, title: tf('format.longdate'), type: 'date', label: '24:01:00', - render: longdateFmt, + render: numfmt(longdateFmt), }, ]; @@ -119,6 +129,29 @@ baseFormats.forEach((f) => { formatm[f.key] = f; }); +const numfmtCache = new Map(); + +formatm.render = (format, cellText) => { + const p = numfmt.parseValue(cellText); + + const v = (p && p.v) || cellText; + // if (p) { + // const { v } = p; + // // console.log(data.formatm, '>>', cell.format); + // cellText = formatm[style.format].render(v); + // } + let f; + if (formatm[format]) { + f = formatm[format].render; + } else if (numfmtCache.has(format)) { + f = numfmtCache.get(format); + } else { + f = numfmt(format); + numfmtCache.set(format, f); + } + return f(v); +}; + export default { }; export { diff --git a/src/locale/en.js b/src/locale/en.js index 6f8dd7c84..08adef834 100644 --- a/src/locale/en.js +++ b/src/locale/en.js @@ -61,7 +61,8 @@ export default { time: 'Time', datetime: 'Date time', duration: 'Duration', - longdate: 'Long Date' + longdate: 'Long Date', + dateformat: 'mm/dd/yyyy', }, formula: { sum: 'Sum', From 1f92371c9d364babcc746bb347dd10cbdf40983f Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 21:50:27 +0200 Subject: [PATCH 27/61] FIX: style.format --- src/component/table.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/component/table.js b/src/component/table.js index e98ba697e..a1019519d 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -81,13 +81,8 @@ export function renderCell(draw, data, rindex, cindex, yoffset = 0) { } else { cellText = cell.text || ''; } - if (style.format) { - // const p = numfmt.parseValue(cellText); - // if (p) { - // const { v } = p; - // // console.log(data.formatm, '>>', cell.format); - // cellText = formatm[style.format].render(v); - // } + if (style.format !== undefined) { + cellText = formatm.render(style.format, cellText); } const font = Object.assign({}, style.font); From 16c249ff9c8af2d79530396f881b116414273542 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Sun, 6 Aug 2023 22:28:19 +0200 Subject: [PATCH 28/61] Tweaked types --- src/index.d.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/index.d.ts b/src/index.d.ts index de2007cdc..8b02b663d 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -109,6 +109,15 @@ declare module 'x-data-spreadsheet' { len?: number; [key: number]: RowData }; + autofilter?: { + ref: string; + filters?: { + ci: number, + operator: string, + value: string[] + }[]; + sort?: any + } } /** From 71f727814ea80e6ccd60579d63fc18d2951eaf68 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 7 Aug 2023 22:04:42 +0200 Subject: [PATCH 29/61] dropdown specific classes --- src/component/bottombar.js | 2 +- src/component/dropdown.js | 4 +- src/component/dropdown_align.js | 2 +- src/component/dropdown_border.js | 2 +- src/component/dropdown_color.js | 2 +- src/component/dropdown_font.js | 2 +- src/component/dropdown_fontsize.js | 2 +- src/component/dropdown_format.js | 2 +- src/component/dropdown_formula.js | 2 +- src/component/dropdown_linetype.js | 2 +- src/component/table.js | 5 +- src/component/toolbar.js | 2 +- src/component/toolbar/more.js | 2 +- src/index.d.ts | 13 ++ src/index.less | 284 ++++++++++++++++++++--------- 15 files changed, 224 insertions(+), 104 deletions(-) diff --git a/src/component/bottombar.js b/src/component/bottombar.js index 275f2d6ee..32c36ca90 100644 --- a/src/component/bottombar.js +++ b/src/component/bottombar.js @@ -11,7 +11,7 @@ import { tf } from '../locale/locale'; class DropdownMore extends Dropdown { constructor(click) { const icon = new Icon('ellipsis'); - super(icon, 'auto', false, 'top-left'); + super(icon, 'auto', false, 'top-left', 'dd-more'); this.contentClick = click; } diff --git a/src/component/dropdown.js b/src/component/dropdown.js index 7cc6e4bbf..0d2676d4a 100644 --- a/src/component/dropdown.js +++ b/src/component/dropdown.js @@ -3,8 +3,8 @@ import { bindClickoutside, unbindClickoutside } from './event'; import { cssPrefix } from '../config'; export default class Dropdown extends Element { - constructor(title, width, showArrow, placement, ...children) { - super('div', `${cssPrefix}-dropdown ${placement}`); + constructor(title, width, showArrow, placement, classname, ...children) { + super('div', `${cssPrefix}-dropdown ${placement} ${classname||''}`); this.title = title; this.change = () => {}; this.headerClick = () => {}; diff --git a/src/component/dropdown_align.js b/src/component/dropdown_align.js index 60f9387f0..4e1e47d3a 100644 --- a/src/component/dropdown_align.js +++ b/src/component/dropdown_align.js @@ -15,7 +15,7 @@ export default class DropdownAlign extends Dropdown { this.setTitle(it); this.change(it); })); - super(icon, 'auto', true, 'bottom-left', ...naligns); + super(icon, 'auto', true, 'bottom-left','dd-align', ...naligns); } setTitle(align) { diff --git a/src/component/dropdown_border.js b/src/component/dropdown_border.js index 4f9688a35..9cf92bab7 100644 --- a/src/component/dropdown_border.js +++ b/src/component/dropdown_border.js @@ -10,6 +10,6 @@ export default class DropdownBorder extends Dropdown { this.change(v); this.hide(); }; - super(icon, 'auto', false, 'bottom-right', borderPalette.el); + super(icon, 'auto', false, 'bottom-right','dd-border', borderPalette.el); } } diff --git a/src/component/dropdown_color.js b/src/component/dropdown_color.js index c2c403c63..172ba148a 100644 --- a/src/component/dropdown_color.js +++ b/src/component/dropdown_color.js @@ -12,7 +12,7 @@ export default class DropdownColor extends Dropdown { this.setTitle(v); this.change(v); }; - super(icon, 'auto', false, 'bottom-right', colorPalette.el); + super(icon, 'auto', false, 'bottom-right','dd-color', colorPalette.el); } setTitle(color) { diff --git a/src/component/dropdown_font.js b/src/component/dropdown_font.js index 6b778b731..a8d2adc6b 100644 --- a/src/component/dropdown_font.js +++ b/src/component/dropdown_font.js @@ -11,6 +11,6 @@ export default class DropdownFont extends Dropdown { this.change(it); }) .child(it.title)); - super(baseFonts[0].title, '160px', true, 'bottom-left', ...nfonts); + super(baseFonts[0].title, '160px', true, 'bottom-left','dd-font', ...nfonts); } } diff --git a/src/component/dropdown_fontsize.js b/src/component/dropdown_fontsize.js index fd6883085..bee98a242 100644 --- a/src/component/dropdown_fontsize.js +++ b/src/component/dropdown_fontsize.js @@ -11,6 +11,6 @@ export default class DropdownFontSize extends Dropdown { this.change(it); }) .child(`${it.pt}`)); - super('10', '60px', true, 'bottom-left', ...nfontSizes); + super('10', '60px', true, 'bottom-left','dd-fontsize', ...nfontSizes); } } diff --git a/src/component/dropdown_format.js b/src/component/dropdown_format.js index 5662a4e1e..752c1621b 100644 --- a/src/component/dropdown_format.js +++ b/src/component/dropdown_format.js @@ -22,7 +22,7 @@ export default class DropdownFormat extends Dropdown { } return item; }); - super('General', '220px', true, 'bottom-left', ...nformats); + super('General', '220px', true, 'bottom-left','dd-format', ...nformats); } setTitle(key) { diff --git a/src/component/dropdown_formula.js b/src/component/dropdown_formula.js index 83041c346..3f55be969 100644 --- a/src/component/dropdown_formula.js +++ b/src/component/dropdown_formula.js @@ -12,6 +12,6 @@ export default class DropdownFormula extends Dropdown { this.change(it); }) .child(it.key)); - super(new Icon('formula'), '180px', true, 'bottom-right', ...nformulas); + super(new Icon('formula'), '180px', true, 'bottom-right', 'dd-formula', ...nformulas); } } diff --git a/src/component/dropdown_linetype.js b/src/component/dropdown_linetype.js index 515691f73..fb7e3a4fc 100644 --- a/src/component/dropdown_linetype.js +++ b/src/component/dropdown_linetype.js @@ -28,6 +28,6 @@ export default class DropdownLineType extends Dropdown { h('div', `${cssPrefix}-line-type`).html(it[1]), )); - super(icon, 'auto', false, 'bottom-right', ...lineTypeEls); + super(icon, 'auto', false, 'bottom-right', 'dd-linetype', ...lineTypeEls); } } diff --git a/src/component/table.js b/src/component/table.js index a1019519d..327e5922b 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -81,8 +81,9 @@ export function renderCell(draw, data, rindex, cindex, yoffset = 0) { } else { cellText = cell.text || ''; } - if (style.format !== undefined) { - + if (typeof (style.format) !== undefined + && (typeof (cellText) === 'string') || (typeof (cellText) === 'number') + ) { cellText = formatm.render(style.format, cellText); } const font = Object.assign({}, style.font); diff --git a/src/component/toolbar.js b/src/component/toolbar.js index 9792aa743..496a15297 100644 --- a/src/component/toolbar.js +++ b/src/component/toolbar.js @@ -67,7 +67,7 @@ class DropdownMore extends Dropdown { constructor() { const icon = new Icon('ellipsis'); const moreBtns = h('div', `${cssPrefix}-toolbar-more`); - super(icon, 'auto', false, 'bottom-right', moreBtns); + super(icon, 'auto', false, 'bottom-right','dd-more', moreBtns); this.moreBtns = moreBtns; this.contentEl.css('max-width', '420px'); } diff --git a/src/component/toolbar/more.js b/src/component/toolbar/more.js index 89dbe364a..81218c280 100644 --- a/src/component/toolbar/more.js +++ b/src/component/toolbar/more.js @@ -9,7 +9,7 @@ class DropdownMore extends Dropdown { constructor() { const icon = new Icon('ellipsis'); const moreBtns = h('div', `${cssPrefix}-toolbar-more`); - super(icon, 'auto', false, 'bottom-right', moreBtns); + super(icon, 'auto', false, 'bottom-right','dd-more', moreBtns); this.moreBtns = moreBtns; this.contentEl.css('max-width', '420px'); } diff --git a/src/index.d.ts b/src/index.d.ts index 8b02b663d..424a8512f 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -129,6 +129,19 @@ declare module 'x-data-spreadsheet' { sheetName?: string; selector?: any } + metadata?: { + creator?: string, + category?: string, + company?: string, + created?: Date, + creator?: string, + keywords?: string, + lastModifiedBy?: string, + manager?: string, + modified?: Date, + subject?: string, + title?: string, + } } export interface CellStyle { diff --git a/src/index.less b/src/index.less index a082b5825..f602c8e5b 100644 --- a/src/index.less +++ b/src/index.less @@ -37,7 +37,7 @@ @border: 1px solid @border-color; @input-border: @border; @input-padding: 0.5em 0.75em; -@input-box-shadow: inset 0 1px 2px hsla(0,0%,4%,.06); +@input-box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .06); @border-radius: 2px; @form-field-height: 30px; @primary-color: @blue-color; @@ -47,7 +47,9 @@ .type-primary() { color: #fff; background-color: @primary-color; - &:hover, &.active { + + &:hover, + &.active { color: #fff; background-color: @primary-hover-color; } @@ -196,7 +198,10 @@ body { position: absolute; z-index: 200; background: #fff; - box-shadow: 1px 2px 5px 2px rgba(51,51,51,.15); + box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, .15); + + + } &.bottom-left { @@ -227,25 +232,36 @@ body { } } + &.dd-formula { + .x-spreadsheet-dropdown-content { + max-height: 300px; + overflow-y: auto; + } + } +} - .@{css-prefix}-dropdown-title { - padding: 0 5px; - display: inline-block; + +.@{css-prefix}-dropdown-title { + padding: 0 5px; + display: inline-block; +} + +.@{css-prefix}-dropdown-header { + .@{css-prefix}-icon.arrow-left { + margin-left: 4px; } - .@{css-prefix}-dropdown-header { - .@{css-prefix}-icon.arrow-left { - margin-left: 4px; - } - .@{css-prefix}-icon.arrow-right { - width: 10px; - margin-right: 4px; - .arrow-down { - left: -130px; - } + .@{css-prefix}-icon.arrow-right { + width: 10px; + margin-right: 4px; + + .arrow-down { + left: -130px; } } } + + /* resizer **/ .@{css-prefix}-resizer { position: absolute; @@ -254,20 +270,24 @@ body { .@{css-prefix}-resizer-hover { background-color: rgba(75, 137, 255, .25); } + .@{css-prefix}-resizer-line { position: absolute; } &.horizontal { cursor: row-resize; + .@{css-prefix}-resizer-line { border-bottom: 2px dashed rgb(75, 137, 255); left: 0; bottom: 0; } } + &.vertical { cursor: col-resize; + .@{css-prefix}-resizer-line { border-right: 2px dashed rgb(75, 137, 255); top: 0; @@ -275,6 +295,7 @@ body { } } } + /* scrollbar */ .@{css-prefix}-scrollbar { position: absolute; @@ -283,24 +304,29 @@ body { background-color: #f4f5f8; opacity: 0.9; z-index: 12; + &.horizontal { right: 15px; overflow-x: scroll; overflow-y: hidden; - > div { + + >div { height: 1px; background: #ddd; } } + &.vertical { bottom: 15px; overflow-x: hidden; overflow-y: scroll; - > div { + + >div { width: 1px; background: #ddd; } } + &:hover { // opacity: .85; } @@ -312,6 +338,7 @@ body { left: 0; top: 0; z-index: 10; + .@{css-prefix}-overlayer-content { position: absolute; overflow: hidden; @@ -321,7 +348,8 @@ body { } } -.@{css-prefix}-editor, .@{css-prefix}-selector { +.@{css-prefix}-editor, +.@{css-prefix}-selector { box-sizing: content-box; position: absolute; overflow: hidden; @@ -337,29 +365,36 @@ body { .hide-input { position: absolute; z-index: 0; + input { padding: 0; width: 0; - border: none!important; + border: none !important; } } + .@{css-prefix}-selector-area { position: absolute; border: 2px solid rgb(75, 137, 255); background: rgba(75, 137, 255, .1); z-index: 5; } - .@{css-prefix}-selector-clipboard, .@{css-prefix}-selector-autofill { + + .@{css-prefix}-selector-clipboard, + .@{css-prefix}-selector-autofill { position: absolute; background: transparent; z-index: 100; } + .@{css-prefix}-selector-clipboard { border: 2px dashed rgb(75, 137, 255); } + .@{css-prefix}-selector-autofill { border: 1px dashed rgba(0, 0, 0, .45); // #606060; // rgba(0, 0, 0, .2); } + .@{css-prefix}-selector-corner { pointer-events: auto; position: absolute; @@ -373,8 +408,10 @@ body { background: rgb(75, 137, 255); } } + .@{css-prefix}-editor { z-index: 20; + .@{css-prefix}-editor-area { position: absolute; text-align: left; @@ -428,12 +465,13 @@ body { opacity: 0.5; } - &:hover, &.active { + &:hover, + &.active { background: rgba(0, 0, 0, .05); } // &.active { - //// background: #89aef53d; + //// background: #89aef53d; // } &.divider { @@ -455,41 +493,42 @@ body { .x-spreadsheet-header, { - &.state { - padding-left: 35px!important; - position: relative; - - &:before { - content: ''; - position: absolute; - width: 10px; - height: 10px; - left: 12px; - top: calc(50% - 5px); - background: rgba(0, 0, 0, 0.08); - // border: 1px solid rgba(0, 0, 0, 0.1); - border-radius: 2px; - } - } - &.state.checked:before { - background: #4b89ff; - // content: ''; - // position: absolute; - // width: 5px; - // height: 12px; - // color: #4b89ff; // #353A41; - // border-left: none; - // border-top: none; - // border-bottom: 2px solid; - // border-right: 2px solid; - // left: 15px; - // top: 6px; - // background: none; - // border-radius: 0; - // transform-origin: center; - // transform: rotate(45deg); - // -webkit-transform: rotate(45deg); +&.state { + padding-left: 35px !important; + position: relative; + + &:before { + content: ''; + position: absolute; + width: 10px; + height: 10px; + left: 12px; + top: calc(50% - 5px); + background: rgba(0, 0, 0, 0.08); + // border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 2px; } +} + +&.state.checked:before { + background: #4b89ff; + // content: ''; + // position: absolute; + // width: 5px; + // height: 12px; + // color: #4b89ff; // #353A41; + // border-left: none; + // border-top: none; + // border-bottom: 2px solid; + // border-right: 2px solid; + // left: 15px; + // top: 6px; + // background: none; + // border-radius: 0; + // transform-origin: center; + // transform: rotate(45deg); + // -webkit-transform: rotate(45deg); +} } @@ -502,11 +541,12 @@ body { font-style: normal; font-size: 1rem; line-height: 1em; - > input { + + >input { position: absolute; top: 0; left: 0; - opacity: 0!important; + opacity: 0 !important; outline: 0; z-index: -1; } @@ -539,6 +579,7 @@ body { border-bottom: 1px solid #e9e9e9; border-left: 1px solid transparent; } + .@{css-prefix}-body { height: 200px; overflow-y: auto; @@ -556,7 +597,8 @@ body { } } -.@{css-prefix}-toolbar, .@{css-prefix}-bottombar { +.@{css-prefix}-toolbar, +.@{css-prefix}-bottombar { height: 40px; padding: 0 30px; text-align: left; @@ -568,7 +610,7 @@ body { position: relative; border-top: 1px solid #e0e2e4; - .@{css-prefix}-menu > li { + .@{css-prefix}-menu>li { line-height: 40px; height: 40px; padding-top: 0; @@ -584,7 +626,8 @@ body { padding: 0; user-select: none; } -.@{css-prefix}-menu > li { + +.@{css-prefix}-menu>li { float: left; line-height: 1.25em; padding: .785em 1em; @@ -628,9 +671,11 @@ body { .@{css-prefix}-toolbar-more { padding: 0 6px 6px; text-align: left; + .@{css-prefix}-toolbar-divider { margin-top: 0; } + // margin-right: 100px; } @@ -651,7 +696,8 @@ body { opacity: 0.5; } - &:hover, &.active { + &:hover, + &.active { background: rgba(0, 0, 0, .08); } } @@ -676,6 +722,7 @@ body { display: flex; flex-direction: column; } + .@{css-prefix}-print-bar { background: #424242; height: 60px; @@ -694,6 +741,7 @@ body { margin-top: 12px; } } + .@{css-prefix}-print-content { display: flex; flex: auto; @@ -720,16 +768,17 @@ body { .@{css-prefix}-canvas-card-wraper { margin: 40px 20px; } + .@{css-prefix}-canvas-card { background: #fff; margin: auto; page-break-before: auto; page-break-after: always; - box-shadow: 0 8px 10px 1px rgba(0,0,0,0.14), 0 3px 14px 3px rgba(0,0,0,0.12), 0 4px 5px 0 rgba(0,0,0,0.20); + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.20); } .@{css-prefix}-calendar { - color: rgba(0,0,0,.65); + color: rgba(0, 0, 0, .65); background: #ffffff; user-select: none; @@ -754,8 +803,9 @@ body { margin-right: 2px; border-radius: 2px; } + a:hover { - background: rgba(0,0,0,.08); + background: rgba(0, 0, 0, .08); } } } @@ -764,7 +814,8 @@ body { border-collapse: collapse; border-spacing: 0; - th, td { + th, + td { width: 100%/7; min-width: 32px; text-align: center; @@ -773,14 +824,15 @@ body { padding: 0; } - td > .cell { + td>.cell { // border: 1px solid rgba(0,0,0,.05); &:hover { background: #ecf6fd; } - &.active, &.active:hover { + &.active, + &.active:hover { background: #ecf6fd; color: #2185D0; } @@ -794,7 +846,7 @@ body { } .@{css-prefix}-datepicker { - box-shadow: 2px 2px 5px rgba(0,0,0,.2); + box-shadow: 2px 2px 5px rgba(0, 0, 0, .2); position: absolute; left: 0; top: calc(100% + 5px); @@ -810,6 +862,7 @@ body { margin-left: 8px; } } + .@{css-prefix}-button { display: inline-block; border-radius: 3px; @@ -821,10 +874,10 @@ body { font-size: 1em; font-weight: 700; padding: .75em 1em; - color: rgba(0,0,0,.6); + color: rgba(0, 0, 0, .6); background: #E0E1E2; text-decoration: none; - font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; + font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; //box-shadow: 0px 1px 2px -1px rgba(255,255,255,0.5) inset, 0px -2px 0px 0px rgba(0,0,0,0.1) inset; //box-shadow: 0 0 0 0 rgba(0,0,0,.5) inset; outline: none; @@ -833,9 +886,10 @@ body { user-select: none; transition: all 0.1s linear; - &.active, &:hover { + &.active, + &:hover { background-color: #C0C1C2; - color: rgba(0,0,0,.8); + color: rgba(0, 0, 0, .8); } &.primary { @@ -849,7 +903,7 @@ body { position: relative; font-weight: 400; display: inline-flex; - color: rgba(0,0,0,.87); + color: rgba(0, 0, 0, .87); input { z-index: 1; @@ -857,7 +911,7 @@ body { max-width: 100%; flex: 1 0 auto; outline: 0; - -webkit-tap-highlight-color: rgba(255,255,255,0); + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); text-align: left; line-height: @form-field-height; height: @form-field-height; @@ -865,8 +919,8 @@ body { background: #fff; border: 1px solid #e9e9e9; border-radius: 3px; - transition: box-shadow .1s ease,border-color .1s ease; - box-shadow: inset 0 1px 2px hsla(0,0%,4%,.06); + transition: box-shadow .1s ease, border-color .1s ease; + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .06); &:focus { border-color: rgb(75, 137, 255); @@ -882,9 +936,9 @@ body { border: @input-border; border-radius: 2px; cursor: pointer; - color: rgba(0,0,0,.87); + color: rgba(0, 0, 0, .87); user-select: none; - box-shadow: inset 0 1px 2px hsla(0,0%,4%,.06); + box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .06); .input-text { text-overflow: ellipsis; @@ -896,6 +950,7 @@ body { padding: 0 8px; } } + .@{css-prefix}-form-fields { display: flex; flex-direction: row; @@ -903,12 +958,14 @@ body { .@{css-prefix}-form-field { flex: 0 1 auto; + .label { display: inline-block; margin: 0 10px 0 0; } } } + .@{css-prefix}-form-field { display: block; vertical-align: middle; @@ -920,7 +977,9 @@ body { } &.error { - .@{css-prefix}-form-select, input { + + .@{css-prefix}-form-select, + input { border-color: #f04134; } } @@ -930,6 +989,7 @@ body { font-size: .9em; } } + // form end .@{css-prefix}-dimmer { display: none; @@ -977,31 +1037,33 @@ form fieldset { } } -.@{css-prefix}-modal, .@{css-prefix}-toast { +.@{css-prefix}-modal, +.@{css-prefix}-toast { font-size: 13px; position: fixed; z-index: 1001; text-align: left; line-height: @line-height; min-width: 360px; - color: rgba(0,0,0,.87); + color: rgba(0, 0, 0, .87); font-family: 'Lato', 'Source Sans Pro', Roboto, Helvetica, Arial, sans-serif; border-radius: 4px; - border: 1px solid rgba(0,0,0,.1); + border: 1px solid rgba(0, 0, 0, .1); background-color: #fff; background-clip: padding-box; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 8px; } .@{css-prefix}-toast { - background-color: rgba(255,255,255,.85); + background-color: rgba(255, 255, 255, .85); } -.@{css-prefix}-modal-header, .@{css-prefix}-toast-header { +.@{css-prefix}-modal-header, +.@{css-prefix}-toast-header { font-weight: 600; background-clip: padding-box; - background-color: rgba(255,255,255,.85); - border-bottom: 1px solid rgba(0,0,0,.05); + background-color: rgba(255, 255, 255, .85); + border-bottom: 1px solid rgba(0, 0, 0, .05); border-radius: 4px 4px 0 0; .@{css-prefix}-icon { @@ -1063,181 +1125,225 @@ form fieldset { left: 0; top: 0; } + &.redo { left: -1 * @icon-size; top: 0; } + &.print { left: -2 * @icon-size; top: 0; } + &.paintformat { left: -3 * @icon-size; top: 0; } + &.clearformat { left: -4 * @icon-size; top: 0; } + &.font-bold { left: -5 * @icon-size; top: 0; } + &.font-italic { left: -6 * @icon-size; top: 0; } + &.underline { left: -7 * @icon-size; top: 0; } + &.strike { left: -8 * @icon-size; top: 0; } + &.color { left: -9 * @icon-size; top: 0; } + &.bgcolor { left: -10 * @icon-size; top: 0; } + &.merge { left: -11 * @icon-size; top: 0; } + &.align-left { left: -12 * @icon-size; top: 0; } + &.align-center { left: -13 * @icon-size; top: 0; } + &.align-right { left: 0; top: -1 * @icon-size; } + &.align-top { left: -1 * @icon-size; top: -1 * @icon-size; } + &.align-middle { left: -2 * @icon-size; top: -1 * @icon-size; } + &.align-bottom { left: -3 * @icon-size; top: -1 * @icon-size; } + &.textwrap { left: -4 * @icon-size; top: -1 * @icon-size; } + &.autofilter { left: -5 * @icon-size; top: -1 * @icon-size; } + &.formula { left: -6 * @icon-size; top: -1 * @icon-size; } + &.arrow-down { left: -7 * @icon-size; top: -1 * @icon-size; } + &.arrow-right { left: -8 * @icon-size; top: -1 * @icon-size; } + &.link { left: -9 * @icon-size; top: -1 * @icon-size; } + &.chart { left: -10 * @icon-size; top: -1 * @icon-size; } + &.freeze { left: -11 * @icon-size; top: -1 * @icon-size; } + &.ellipsis { left: -12 * @icon-size; top: -1 * @icon-size; } + &.add { left: -13 * @icon-size; top: -1 * @icon-size; } + &.border-all { left: 0; top: -2 * @icon-size; } + &.border-inside { left: -1 * @icon-size; top: -2 * @icon-size; } + &.border-horizontal { left: -2 * @icon-size; top: -2 * @icon-size; } + &.border-vertical { left: -3 * @icon-size; top: -2 * @icon-size; } + &.border-outside { left: -4 * @icon-size; top: -2 * @icon-size; } + &.border-left { left: -5 * @icon-size; top: -2 * @icon-size; } + &.border-top { left: -6 * @icon-size; top: -2 * @icon-size; } + &.border-right { left: -7 * @icon-size; top: -2 * @icon-size; } + &.border-bottom { left: -8 * @icon-size; top: -2 * @icon-size; } + &.border-none { left: -9 * @icon-size; top: -2 * @icon-size; } + &.line-color { left: -10 * @icon-size; top: -2 * @icon-size; } + &.line-type { left: -11 * @icon-size; top: -2 * @icon-size; } + &.close { left: -13 * @icon-size; top: -2 * @icon-size; } + &.chevron-down { left: 0; top: -3 * @icon-size; } + &.chevron-up { left: -1 * @icon-size; top: -3 * @icon-size; } + &.chevron-left { left: -2 * @icon-size; top: -3 * @icon-size; } + &.chevron-right { left: -3 * @icon-size; top: -3 * @icon-size; } } -} +} \ No newline at end of file From 6338f2b3d82bc62e15dd49692c9262309c28acbb Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 7 Aug 2023 23:01:12 +0200 Subject: [PATCH 30/61] refactored accent color --- src/component/table.js | 13 +++++++++++-- src/index.less | 28 ++++++++++++++++++---------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/component/table.js b/src/component/table.js index 327e5922b..361cd062c 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -174,8 +174,13 @@ function renderContent(viewRange, fw, fh, tx, ty) { function renderSelectedHeaderCell(x, y, w, h) { const { draw } = this; + // const {canvas} = draw.context; + const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--accent-color') || '#4b89ff'; + draw.save(); - draw.attr({ fillStyle: 'rgba(75, 137, 255, 0.08)' }) + draw + .attr({ fillStyle: `${color}14` }) + // .attr({ fillStyle: 'rgba(75, 137, 255, 0.08)' }) .fillRect(x, y, w, h); draw.restore(); } @@ -292,9 +297,13 @@ function renderFreezeHighlightLine(fw, fh, ftw, fth) { const { draw, data } = this; const twidth = data.viewWidth() - fw; const theight = data.viewHeight() - fh; + const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--accent-color') || '#4b89ff'; + draw.save() .translate(fw, fh) - .attr({ strokeStyle: 'rgba(75, 137, 255, .6)' }); + .attr({ strokeStyle: `${color}99` }) + // .attr({ strokeStyle: 'rgba(75, 137, 255, .6)' }) + ; draw.line([0, fth], [twidth, fth]); draw.line([ftw, 0], [ftw, theight]); draw.restore(); diff --git a/src/index.less b/src/index.less index f602c8e5b..8a421605e 100644 --- a/src/index.less +++ b/src/index.less @@ -42,6 +42,11 @@ @form-field-height: 30px; @primary-color: @blue-color; @primary-hover-color: @blue-hover-color; +@accent-color: rgb(75, 137, 255); + +:root { + --accent-color: @accent-color; +} // method .type-primary() { @@ -82,6 +87,9 @@ body { .@{css-prefix}-table { // html5 bottom margin bug vertical-align: bottom; + // fillStyle: fade(@accent-color, 8%); + // strokeStyle: fade(@accent-color, 60%); + } .@{css-prefix}-tooltip { @@ -268,7 +276,7 @@ body { z-index: 11; .@{css-prefix}-resizer-hover { - background-color: rgba(75, 137, 255, .25); + background-color: fade(@accent-color, 25%); } .@{css-prefix}-resizer-line { @@ -279,7 +287,7 @@ body { cursor: row-resize; .@{css-prefix}-resizer-line { - border-bottom: 2px dashed rgb(75, 137, 255); + border-bottom: 2px dashed @accent-color; left: 0; bottom: 0; } @@ -289,7 +297,7 @@ body { cursor: col-resize; .@{css-prefix}-resizer-line { - border-right: 2px dashed rgb(75, 137, 255); + border-right: 2px dashed @accent-color; top: 0; right: 0; } @@ -375,8 +383,8 @@ body { .@{css-prefix}-selector-area { position: absolute; - border: 2px solid rgb(75, 137, 255); - background: rgba(75, 137, 255, .1); + border: 2px solid @accent-color; + background: fade(@accent-color, 10%); z-index: 5; } @@ -388,7 +396,7 @@ body { } .@{css-prefix}-selector-clipboard { - border: 2px dashed rgb(75, 137, 255); + border: 2px dashed @accent-color; } .@{css-prefix}-selector-autofill { @@ -405,7 +413,7 @@ body { right: -5px; bottom: -5px; border: 2px solid rgb(255, 255, 255); - background: rgb(75, 137, 255); + background: @accent-color; } } @@ -415,7 +423,7 @@ body { .@{css-prefix}-editor-area { position: absolute; text-align: left; - border: 2px solid rgb(75, 137, 255); + border: 2px solid @accent-color; line-height: 0; z-index: 100; pointer-events: auto; @@ -923,8 +931,8 @@ body { box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .06); &:focus { - border-color: rgb(75, 137, 255); - box-shadow: inset 0 1px 2px rgba(75, 137, 255, .2); + border-color: @accent-color; + box-shadow: inset 0 1px 2px fade(@accent-color, 20%); } } } From ae998f79d047fb50951ad6cf519b3e517fd13077 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Mon, 7 Aug 2023 23:49:21 +0200 Subject: [PATCH 31/61] refactored colors --- src/index.less | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/index.less b/src/index.less index 8a421605e..01c99bd33 100644 --- a/src/index.less +++ b/src/index.less @@ -44,9 +44,7 @@ @primary-hover-color: @blue-hover-color; @accent-color: rgb(75, 137, 255); -:root { - --accent-color: @accent-color; -} + // method .type-primary() { @@ -65,6 +63,7 @@ body { } .@{css-prefix} { + --accent-color: @accent-color; font-size: 13px; line-height: normal; user-select: none; @@ -87,8 +86,7 @@ body { .@{css-prefix}-table { // html5 bottom margin bug vertical-align: bottom; - // fillStyle: fade(@accent-color, 8%); - // strokeStyle: fade(@accent-color, 60%); + } @@ -276,7 +274,7 @@ body { z-index: 11; .@{css-prefix}-resizer-hover { - background-color: fade(@accent-color, 25%); + background-color: rgba(var(--color), 0.25); } .@{css-prefix}-resizer-line { @@ -287,7 +285,7 @@ body { cursor: row-resize; .@{css-prefix}-resizer-line { - border-bottom: 2px dashed @accent-color; + border-bottom: 2px dashed var(--accent-color); left: 0; bottom: 0; } @@ -297,7 +295,7 @@ body { cursor: col-resize; .@{css-prefix}-resizer-line { - border-right: 2px dashed @accent-color; + border-right: 2px dashed var(--accent-color); top: 0; right: 0; } @@ -383,8 +381,8 @@ body { .@{css-prefix}-selector-area { position: absolute; - border: 2px solid @accent-color; - background: fade(@accent-color, 10%); + border: 2px solid var(--accent-color); + background: rgba(var(--accent-color),0.1); z-index: 5; } @@ -396,7 +394,7 @@ body { } .@{css-prefix}-selector-clipboard { - border: 2px dashed @accent-color; + border: 2px dashed var(--accent-color); } .@{css-prefix}-selector-autofill { @@ -413,7 +411,7 @@ body { right: -5px; bottom: -5px; border: 2px solid rgb(255, 255, 255); - background: @accent-color; + background: var(--accent-color); } } @@ -423,7 +421,7 @@ body { .@{css-prefix}-editor-area { position: absolute; text-align: left; - border: 2px solid @accent-color; + border: 2px solid var(--accent-color); line-height: 0; z-index: 100; pointer-events: auto; @@ -931,8 +929,8 @@ body { box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .06); &:focus { - border-color: @accent-color; - box-shadow: inset 0 1px 2px fade(@accent-color, 20%); + border-color: var(--accent-color); + box-shadow: inset 0 1px 2px rgba(var(--accent-color),0.2); } } } From f66c9870e11e8623b461bc834ed8a39904739019 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 8 Aug 2023 00:07:43 +0200 Subject: [PATCH 32/61] FIX: computed color --- src/component/table.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/component/table.js b/src/component/table.js index 361cd062c..1b38a142c 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -179,7 +179,7 @@ function renderSelectedHeaderCell(x, y, w, h) { draw.save(); draw - .attr({ fillStyle: `${color}14` }) + .attr({ fillStyle: `${color}` }) // .attr({ fillStyle: 'rgba(75, 137, 255, 0.08)' }) .fillRect(x, y, w, h); draw.restore(); @@ -301,7 +301,7 @@ function renderFreezeHighlightLine(fw, fh, ftw, fth) { draw.save() .translate(fw, fh) - .attr({ strokeStyle: `${color}99` }) + .attr({ strokeStyle: `${color}` }) // .attr({ strokeStyle: 'rgba(75, 137, 255, .6)' }) ; draw.line([0, fth], [twidth, fth]); From 1ed6c9c1822ae3d998d905463c62fc5f9f5a9812 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Tue, 8 Aug 2023 19:56:37 +0200 Subject: [PATCH 33/61] FIX: canvas style --- src/component/table.js | 4 ++-- src/index.less | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/component/table.js b/src/component/table.js index 1b38a142c..7ebb1a187 100644 --- a/src/component/table.js +++ b/src/component/table.js @@ -175,7 +175,7 @@ function renderContent(viewRange, fw, fh, tx, ty) { function renderSelectedHeaderCell(x, y, w, h) { const { draw } = this; // const {canvas} = draw.context; - const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--accent-color') || '#4b89ff'; + const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--canvas-header-fill') || '#4b89ff19'; draw.save(); draw @@ -297,7 +297,7 @@ function renderFreezeHighlightLine(fw, fh, ftw, fth) { const { draw, data } = this; const twidth = data.viewWidth() - fw; const theight = data.viewHeight() - fh; - const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--accent-color') || '#4b89ff'; + const color = global.getComputedStyle(draw.ctx.canvas).getPropertyValue('--canvas-header-stroke') || '#4b89ff99'; draw.save() .translate(fw, fh) diff --git a/src/index.less b/src/index.less index 01c99bd33..f876c2a74 100644 --- a/src/index.less +++ b/src/index.less @@ -64,6 +64,11 @@ body { .@{css-prefix} { --accent-color: @accent-color; + --canvas-header-fill: fade(@accent-color, 8%); + --canvas-header-stroke: fade(@accent-color, 60%); + + --accent-color-halffaded: fade(@accent-color, 60%); + font-size: 13px; line-height: normal; user-select: none; From 3ab88cf89a5a4f2b431ee0b454d7dd870baba750 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Wed, 9 Aug 2023 01:00:32 +0200 Subject: [PATCH 34/61] icons WIP --- assets/align-bottom.svg | 8 + assets/align-center.svg | 7 + assets/align-left.svg | 7 + assets/align-middle.svg | 8 + assets/align-right.svg | 7 + assets/align-top.svg | 7 + assets/bgcolor.svg | 7 + assets/bold.svg | 7 + assets/clearformat.svg | 7 + assets/color.svg | 7 + assets/down-arrow.svg | 5 + assets/filter.svg | 8 + assets/font-italic.svg | 8 + assets/formulas.svg | 7 + assets/merge.svg | 6 + assets/paintformat.svg | 7 + assets/print.svg | 8 + assets/redo.svg | 7 + assets/strikeout.svg | 8 + assets/textwrap.svg | 7 + assets/underline.svg | 7 + assets/undo.svg | 4 + src/component/dropdown.js | 4 +- src/component/icon.js | 72 +++++- src/index.less | 464 +++++++++++++++++++------------------- 25 files changed, 459 insertions(+), 235 deletions(-) create mode 100644 assets/align-bottom.svg create mode 100644 assets/align-center.svg create mode 100644 assets/align-left.svg create mode 100644 assets/align-middle.svg create mode 100644 assets/align-right.svg create mode 100644 assets/align-top.svg create mode 100644 assets/bgcolor.svg create mode 100644 assets/bold.svg create mode 100644 assets/clearformat.svg create mode 100644 assets/color.svg create mode 100644 assets/down-arrow.svg create mode 100644 assets/filter.svg create mode 100644 assets/font-italic.svg create mode 100644 assets/formulas.svg create mode 100644 assets/merge.svg create mode 100644 assets/paintformat.svg create mode 100644 assets/print.svg create mode 100644 assets/redo.svg create mode 100644 assets/strikeout.svg create mode 100644 assets/textwrap.svg create mode 100644 assets/underline.svg create mode 100644 assets/undo.svg diff --git a/assets/align-bottom.svg b/assets/align-bottom.svg new file mode 100644 index 000000000..11c87ddd8 --- /dev/null +++ b/assets/align-bottom.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/align-center.svg b/assets/align-center.svg new file mode 100644 index 000000000..28cef6106 --- /dev/null +++ b/assets/align-center.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/align-left.svg b/assets/align-left.svg new file mode 100644 index 000000000..3981bd1be --- /dev/null +++ b/assets/align-left.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/align-middle.svg b/assets/align-middle.svg new file mode 100644 index 000000000..591f54e4b --- /dev/null +++ b/assets/align-middle.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/align-right.svg b/assets/align-right.svg new file mode 100644 index 000000000..7d72a8893 --- /dev/null +++ b/assets/align-right.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/align-top.svg b/assets/align-top.svg new file mode 100644 index 000000000..62a0966c2 --- /dev/null +++ b/assets/align-top.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/bgcolor.svg b/assets/bgcolor.svg new file mode 100644 index 000000000..1e49174c9 --- /dev/null +++ b/assets/bgcolor.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/assets/bold.svg b/assets/bold.svg new file mode 100644 index 000000000..e615aca7c --- /dev/null +++ b/assets/bold.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/clearformat.svg b/assets/clearformat.svg new file mode 100644 index 000000000..eab954a2d --- /dev/null +++ b/assets/clearformat.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/color.svg b/assets/color.svg new file mode 100644 index 000000000..228a55f73 --- /dev/null +++ b/assets/color.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/down-arrow.svg b/assets/down-arrow.svg new file mode 100644 index 000000000..06eefa3c7 --- /dev/null +++ b/assets/down-arrow.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/assets/filter.svg b/assets/filter.svg new file mode 100644 index 000000000..9bb182588 --- /dev/null +++ b/assets/filter.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/font-italic.svg b/assets/font-italic.svg new file mode 100644 index 000000000..77b6964fb --- /dev/null +++ b/assets/font-italic.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/formulas.svg b/assets/formulas.svg new file mode 100644 index 000000000..ffe0cc213 --- /dev/null +++ b/assets/formulas.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/merge.svg b/assets/merge.svg new file mode 100644 index 000000000..645560d4e --- /dev/null +++ b/assets/merge.svg @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/assets/paintformat.svg b/assets/paintformat.svg new file mode 100644 index 000000000..360b2c428 --- /dev/null +++ b/assets/paintformat.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/print.svg b/assets/print.svg new file mode 100644 index 000000000..b5e709518 --- /dev/null +++ b/assets/print.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/redo.svg b/assets/redo.svg new file mode 100644 index 000000000..f532a0fc0 --- /dev/null +++ b/assets/redo.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/strikeout.svg b/assets/strikeout.svg new file mode 100644 index 000000000..a9ee67c2b --- /dev/null +++ b/assets/strikeout.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/textwrap.svg b/assets/textwrap.svg new file mode 100644 index 000000000..07bffc472 --- /dev/null +++ b/assets/textwrap.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/underline.svg b/assets/underline.svg new file mode 100644 index 000000000..ca5d5d706 --- /dev/null +++ b/assets/underline.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/undo.svg b/assets/undo.svg new file mode 100644 index 000000000..6d325eb3a --- /dev/null +++ b/assets/undo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/component/dropdown.js b/src/component/dropdown.js index 0d2676d4a..40b55f277 100644 --- a/src/component/dropdown.js +++ b/src/component/dropdown.js @@ -1,6 +1,7 @@ import { Element, h } from './element'; import { bindClickoutside, unbindClickoutside } from './event'; import { cssPrefix } from '../config'; +import { buildImg } from './icon'; export default class Dropdown extends Element { constructor(title, width, showArrow, placement, classname, ...children) { @@ -29,7 +30,8 @@ export default class Dropdown extends Element { }).children( this.title, showArrow ? h('div', `${cssPrefix}-icon arrow-right`).child( - h('div', `${cssPrefix}-icon-img arrow-down`), + // h('div', `${cssPrefix}-icon-img arrow-down`), + buildImg('arrow-down') ) : '', ); this.children(this.headerEl, this.contentEl); diff --git a/src/component/icon.js b/src/component/icon.js index 86f91ad51..61e51837a 100644 --- a/src/component/icon.js +++ b/src/component/icon.js @@ -1,10 +1,78 @@ import { Element, h } from './element'; import { cssPrefix } from '../config'; + +// import * as undo from '../../assets/undo.svg'; +const undo = require('../../assets/undo.svg'); +const redo = require('../../assets/redo.svg'); +const print = require('../../assets/print.svg'); +const paintformat = require('../../assets/paintformat.svg'); +const clearformat = require('../../assets/clearformat.svg'); +const bold = require('../../assets/bold.svg'); +const fontitalic = require('../../assets/font-italic.svg'); +const underline = require('../../assets/underline.svg'); +const strikeout = require('../../assets/strikeout.svg'); +const color = require('../../assets/color.svg'); +const bgcolor = require('../../assets/bgcolor.svg'); +const merge = require('../../assets/merge.svg'); +const alignleft = require('../../assets/align-left.svg'); +const aligncenter = require('../../assets/align-center.svg'); +const alignright = require('../../assets/align-right.svg'); +const aligntop = require('../../assets/align-top.svg'); +const alignmiddle = require('../../assets/align-middle.svg'); +const alignbottom = require('../../assets/align-bottom.svg'); +const textwrap = require('../../assets/textwrap.svg'); +const filter = require('../../assets/filter.svg'); +const formula = require('../../assets/formulas.svg'); +const downArrow = require('../../assets/down-arrow.svg'); + +const icons = { + undo, + redo, + print, + paintformat, + clearformat, + 'font-bold': bold, + 'font-italic': fontitalic, + underline, + strike: strikeout, + color, + bgcolor, + merge, + 'align-left': alignleft, + 'align-center': aligncenter, + 'align-right': alignright, + 'align-top': aligntop, + 'align-middle': alignmiddle, + 'align-bottom': alignbottom, + textwrap, + autofilter: filter, + formula, + 'arrow-down': downArrow, +}; + +console.log(icons); + +export const buildImg = (name) => { + const icon = h('img'); + if(icons[name]) { + icon.attr('src', icons[name]) + } else { + console.log(`idon ${name} not found`); + } + return icon; +} + export default class Icon extends Element { constructor(name) { - super('div', `${cssPrefix}-icon`); - this.iconNameEl = h('div', `${cssPrefix}-icon-img ${name}`); + super('div', `${cssPrefix}-icon icon-${name}`); + const icon = buildImg(name); + // icon.attr('src', undo); + // this.iconNameEl = h('img'); + // this.iconNameEl.attr('src', undo); + // this.iconNameEl = h('div', `${cssPrefix}-icon-img ${name}`); + this.iconNameEl = icon; + // this.child(undo); this.child(this.iconNameEl); } diff --git a/src/index.less b/src/index.less index f876c2a74..ff26cd6ba 100644 --- a/src/index.less +++ b/src/index.less @@ -1125,236 +1125,236 @@ form fieldset { display: inline-block; line-height: 0; - .@{css-prefix}-icon-img { - background-image: url('../assets/sprite.svg'); - position: absolute; - width: 262px; - height: 444px; - opacity: 0.56; - - &.undo { - left: 0; - top: 0; - } - - &.redo { - left: -1 * @icon-size; - top: 0; - } - - &.print { - left: -2 * @icon-size; - top: 0; - } - - &.paintformat { - left: -3 * @icon-size; - top: 0; - } - - &.clearformat { - left: -4 * @icon-size; - top: 0; - } - - &.font-bold { - left: -5 * @icon-size; - top: 0; - } - - &.font-italic { - left: -6 * @icon-size; - top: 0; - } - - &.underline { - left: -7 * @icon-size; - top: 0; - } - - &.strike { - left: -8 * @icon-size; - top: 0; - } - - &.color { - left: -9 * @icon-size; - top: 0; - } - - &.bgcolor { - left: -10 * @icon-size; - top: 0; - } - - &.merge { - left: -11 * @icon-size; - top: 0; - } - - &.align-left { - left: -12 * @icon-size; - top: 0; - } - - &.align-center { - left: -13 * @icon-size; - top: 0; - } - - &.align-right { - left: 0; - top: -1 * @icon-size; - } - - &.align-top { - left: -1 * @icon-size; - top: -1 * @icon-size; - } - - &.align-middle { - left: -2 * @icon-size; - top: -1 * @icon-size; - } - - &.align-bottom { - left: -3 * @icon-size; - top: -1 * @icon-size; - } - - &.textwrap { - left: -4 * @icon-size; - top: -1 * @icon-size; - } - - &.autofilter { - left: -5 * @icon-size; - top: -1 * @icon-size; - } - - &.formula { - left: -6 * @icon-size; - top: -1 * @icon-size; - } - - &.arrow-down { - left: -7 * @icon-size; - top: -1 * @icon-size; - } - - &.arrow-right { - left: -8 * @icon-size; - top: -1 * @icon-size; - } - - &.link { - left: -9 * @icon-size; - top: -1 * @icon-size; - } - - &.chart { - left: -10 * @icon-size; - top: -1 * @icon-size; - } - - &.freeze { - left: -11 * @icon-size; - top: -1 * @icon-size; - } - - &.ellipsis { - left: -12 * @icon-size; - top: -1 * @icon-size; - } - - &.add { - left: -13 * @icon-size; - top: -1 * @icon-size; - } - - &.border-all { - left: 0; - top: -2 * @icon-size; - } - - &.border-inside { - left: -1 * @icon-size; - top: -2 * @icon-size; - } - - &.border-horizontal { - left: -2 * @icon-size; - top: -2 * @icon-size; - } - - &.border-vertical { - left: -3 * @icon-size; - top: -2 * @icon-size; - } - - &.border-outside { - left: -4 * @icon-size; - top: -2 * @icon-size; - } - - &.border-left { - left: -5 * @icon-size; - top: -2 * @icon-size; - } - - &.border-top { - left: -6 * @icon-size; - top: -2 * @icon-size; - } - - &.border-right { - left: -7 * @icon-size; - top: -2 * @icon-size; - } - - &.border-bottom { - left: -8 * @icon-size; - top: -2 * @icon-size; - } - - &.border-none { - left: -9 * @icon-size; - top: -2 * @icon-size; - } - - &.line-color { - left: -10 * @icon-size; - top: -2 * @icon-size; - } - - &.line-type { - left: -11 * @icon-size; - top: -2 * @icon-size; - } - - &.close { - left: -13 * @icon-size; - top: -2 * @icon-size; - } - - &.chevron-down { - left: 0; - top: -3 * @icon-size; - } - - &.chevron-up { - left: -1 * @icon-size; - top: -3 * @icon-size; - } - - &.chevron-left { - left: -2 * @icon-size; - top: -3 * @icon-size; - } - - &.chevron-right { - left: -3 * @icon-size; - top: -3 * @icon-size; - } - } + // .@{css-prefix}-icon-img { + // background-image: url('../assets/sprite.svg'); + // position: absolute; + // width: 262px; + // height: 444px; + // opacity: 0.56; + + // &.undo { + // left: 0; + // top: 0; + // } + + // &.redo { + // left: -1 * @icon-size; + // top: 0; + // } + + // &.print { + // left: -2 * @icon-size; + // top: 0; + // } + + // &.paintformat { + // left: -3 * @icon-size; + // top: 0; + // } + + // &.clearformat { + // left: -4 * @icon-size; + // top: 0; + // } + + // &.font-bold { + // left: -5 * @icon-size; + // top: 0; + // } + + // &.font-italic { + // left: -6 * @icon-size; + // top: 0; + // } + + // &.underline { + // left: -7 * @icon-size; + // top: 0; + // } + + // &.strike { + // left: -8 * @icon-size; + // top: 0; + // } + + // &.color { + // left: -9 * @icon-size; + // top: 0; + // } + + // &.bgcolor { + // left: -10 * @icon-size; + // top: 0; + // } + + // &.merge { + // left: -11 * @icon-size; + // top: 0; + // } + + // &.align-left { + // left: -12 * @icon-size; + // top: 0; + // } + + // &.align-center { + // left: -13 * @icon-size; + // top: 0; + // } + + // &.align-right { + // left: 0; + // top: -1 * @icon-size; + // } + + // &.align-top { + // left: -1 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.align-middle { + // left: -2 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.align-bottom { + // left: -3 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.textwrap { + // left: -4 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.autofilter { + // left: -5 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.formula { + // left: -6 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.arrow-down { + // left: -7 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.arrow-right { + // left: -8 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.link { + // left: -9 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.chart { + // left: -10 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.freeze { + // left: -11 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.ellipsis { + // left: -12 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.add { + // left: -13 * @icon-size; + // top: -1 * @icon-size; + // } + + // &.border-all { + // left: 0; + // top: -2 * @icon-size; + // } + + // &.border-inside { + // left: -1 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-horizontal { + // left: -2 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-vertical { + // left: -3 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-outside { + // left: -4 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-left { + // left: -5 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-top { + // left: -6 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-right { + // left: -7 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-bottom { + // left: -8 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.border-none { + // left: -9 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.line-color { + // left: -10 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.line-type { + // left: -11 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.close { + // left: -13 * @icon-size; + // top: -2 * @icon-size; + // } + + // &.chevron-down { + // left: 0; + // top: -3 * @icon-size; + // } + + // &.chevron-up { + // left: -1 * @icon-size; + // top: -3 * @icon-size; + // } + + // &.chevron-left { + // left: -2 * @icon-size; + // top: -3 * @icon-size; + // } + + // &.chevron-right { + // left: -3 * @icon-size; + // top: -3 * @icon-size; + // } + // } } \ No newline at end of file From 9ffe52da77e386c73c57a7580e8ab80ae50e5780 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 10 Aug 2023 00:04:57 +0200 Subject: [PATCH 35/61] icons as SVG IMG --- assets/add.svg | 7 ++++ assets/align-bottom.svg | 2 +- assets/align-center.svg | 2 +- assets/align-left.svg | 2 +- assets/align-middle.svg | 2 +- assets/align-right.svg | 2 +- assets/align-top.svg | 2 +- assets/{down-arrow.svg => arrow-down.svg} | 2 +- assets/arrow-line-left.svg | 4 ++ assets/arrow-line-right.svg | 4 ++ assets/arrow-right.svg | 6 +++ assets/bgcolor.svg | 2 +- assets/border-all.svg | 7 ++++ assets/border-bottom.svg | 8 ++++ assets/border-horizontal.svg | 8 ++++ assets/border-inside.svg | 8 ++++ assets/border-left.svg | 8 ++++ assets/border-none.svg | 7 ++++ assets/border-outside.svg | 8 ++++ assets/border-right.svg | 9 +++++ assets/border-top.svg | 9 +++++ assets/border-vertical.svg | 8 ++++ assets/chevron-down.svg | 6 +++ assets/chevron-left.svg | 5 +++ assets/chevron-line-left.svg | 6 +++ assets/chevron-right.svg | 5 +++ assets/chevron-up.svg | 7 ++++ assets/close.svg | 8 ++++ assets/ellipsis.svg | 7 ++++ assets/filter.svg | 2 +- assets/formulas.svg | 2 +- assets/freeze.svg | 8 ++++ assets/graph.svg | 8 ++++ assets/line-color.svg | 7 ++++ assets/line-type.svg | 7 ++++ assets/link.svg | 7 ++++ assets/merge.svg | 2 +- assets/textwrap.svg | 2 +- chevron-line-right.svg | 4 ++ src/component/icon.js | 47 +++++++++++++++++++++-- 40 files changed, 242 insertions(+), 15 deletions(-) create mode 100644 assets/add.svg rename assets/{down-arrow.svg => arrow-down.svg} (66%) create mode 100644 assets/arrow-line-left.svg create mode 100644 assets/arrow-line-right.svg create mode 100644 assets/arrow-right.svg create mode 100644 assets/border-all.svg create mode 100644 assets/border-bottom.svg create mode 100644 assets/border-horizontal.svg create mode 100644 assets/border-inside.svg create mode 100644 assets/border-left.svg create mode 100644 assets/border-none.svg create mode 100644 assets/border-outside.svg create mode 100644 assets/border-right.svg create mode 100644 assets/border-top.svg create mode 100644 assets/border-vertical.svg create mode 100644 assets/chevron-down.svg create mode 100644 assets/chevron-left.svg create mode 100644 assets/chevron-line-left.svg create mode 100644 assets/chevron-right.svg create mode 100644 assets/chevron-up.svg create mode 100644 assets/close.svg create mode 100644 assets/ellipsis.svg create mode 100644 assets/freeze.svg create mode 100644 assets/graph.svg create mode 100644 assets/line-color.svg create mode 100644 assets/line-type.svg create mode 100644 assets/link.svg create mode 100644 chevron-line-right.svg diff --git a/assets/add.svg b/assets/add.svg new file mode 100644 index 000000000..ea876fee9 --- /dev/null +++ b/assets/add.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/align-bottom.svg b/assets/align-bottom.svg index 11c87ddd8..e8cc529b5 100644 --- a/assets/align-bottom.svg +++ b/assets/align-bottom.svg @@ -1,4 +1,4 @@ - + + + + + + + diff --git a/assets/arrow-line-left.svg b/assets/arrow-line-left.svg new file mode 100644 index 000000000..51ec5a6e2 --- /dev/null +++ b/assets/arrow-line-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/arrow-line-right.svg b/assets/arrow-line-right.svg new file mode 100644 index 000000000..42e145029 --- /dev/null +++ b/assets/arrow-line-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/arrow-right.svg b/assets/arrow-right.svg new file mode 100644 index 000000000..b5d4e5fa0 --- /dev/null +++ b/assets/arrow-right.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/assets/bgcolor.svg b/assets/bgcolor.svg index 1e49174c9..7a2f944f1 100644 --- a/assets/bgcolor.svg +++ b/assets/bgcolor.svg @@ -1,4 +1,4 @@ - + diff --git a/assets/border-all.svg b/assets/border-all.svg new file mode 100644 index 000000000..b87838976 --- /dev/null +++ b/assets/border-all.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/border-bottom.svg b/assets/border-bottom.svg new file mode 100644 index 000000000..e50025c17 --- /dev/null +++ b/assets/border-bottom.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/border-horizontal.svg b/assets/border-horizontal.svg new file mode 100644 index 000000000..e6fe8c87b --- /dev/null +++ b/assets/border-horizontal.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/border-inside.svg b/assets/border-inside.svg new file mode 100644 index 000000000..3881f2d3a --- /dev/null +++ b/assets/border-inside.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/border-left.svg b/assets/border-left.svg new file mode 100644 index 000000000..30efe218d --- /dev/null +++ b/assets/border-left.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/border-none.svg b/assets/border-none.svg new file mode 100644 index 000000000..97a603002 --- /dev/null +++ b/assets/border-none.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/border-outside.svg b/assets/border-outside.svg new file mode 100644 index 000000000..fb1c21d5f --- /dev/null +++ b/assets/border-outside.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/border-right.svg b/assets/border-right.svg new file mode 100644 index 000000000..03c10421d --- /dev/null +++ b/assets/border-right.svg @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/assets/border-top.svg b/assets/border-top.svg new file mode 100644 index 000000000..23065635c --- /dev/null +++ b/assets/border-top.svg @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/assets/border-vertical.svg b/assets/border-vertical.svg new file mode 100644 index 000000000..bfa1862dd --- /dev/null +++ b/assets/border-vertical.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/chevron-down.svg b/assets/chevron-down.svg new file mode 100644 index 000000000..841466f07 --- /dev/null +++ b/assets/chevron-down.svg @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/assets/chevron-left.svg b/assets/chevron-left.svg new file mode 100644 index 000000000..eae39a9f4 --- /dev/null +++ b/assets/chevron-left.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/assets/chevron-line-left.svg b/assets/chevron-line-left.svg new file mode 100644 index 000000000..94db2d32b --- /dev/null +++ b/assets/chevron-line-left.svg @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/assets/chevron-right.svg b/assets/chevron-right.svg new file mode 100644 index 000000000..3398e5ff2 --- /dev/null +++ b/assets/chevron-right.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/assets/chevron-up.svg b/assets/chevron-up.svg new file mode 100644 index 000000000..535c66675 --- /dev/null +++ b/assets/chevron-up.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/assets/close.svg b/assets/close.svg new file mode 100644 index 000000000..919e07920 --- /dev/null +++ b/assets/close.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/ellipsis.svg b/assets/ellipsis.svg new file mode 100644 index 000000000..281916fe6 --- /dev/null +++ b/assets/ellipsis.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/filter.svg b/assets/filter.svg index 9bb182588..4f2100122 100644 --- a/assets/filter.svg +++ b/assets/filter.svg @@ -1,4 +1,4 @@ - + + + + + + + + + \ No newline at end of file diff --git a/assets/graph.svg b/assets/graph.svg new file mode 100644 index 000000000..486bfbd35 --- /dev/null +++ b/assets/graph.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/assets/line-color.svg b/assets/line-color.svg new file mode 100644 index 000000000..b4147c0f6 --- /dev/null +++ b/assets/line-color.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/line-type.svg b/assets/line-type.svg new file mode 100644 index 000000000..46ca84a67 --- /dev/null +++ b/assets/line-type.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/link.svg b/assets/link.svg new file mode 100644 index 000000000..b743066e4 --- /dev/null +++ b/assets/link.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/assets/merge.svg b/assets/merge.svg index 645560d4e..f8e80651c 100644 --- a/assets/merge.svg +++ b/assets/merge.svg @@ -1,4 +1,4 @@ - + diff --git a/assets/textwrap.svg b/assets/textwrap.svg index 07bffc472..806008afd 100644 --- a/assets/textwrap.svg +++ b/assets/textwrap.svg @@ -1,4 +1,4 @@ - + + + + \ No newline at end of file diff --git a/src/component/icon.js b/src/component/icon.js index 61e51837a..2d86ead0c 100644 --- a/src/component/icon.js +++ b/src/component/icon.js @@ -24,7 +24,28 @@ const alignbottom = require('../../assets/align-bottom.svg'); const textwrap = require('../../assets/textwrap.svg'); const filter = require('../../assets/filter.svg'); const formula = require('../../assets/formulas.svg'); -const downArrow = require('../../assets/down-arrow.svg'); +const arrowDown = require('../../assets/arrow-down.svg'); +const arrowRight = require('../../assets/arrow-right.svg'); +const link = require('../../assets/link.svg'); +const graph = require('../../assets/graph.svg'); +const freeze = require('../../assets/freeze.svg'); +const ellipsis = require('../../assets/ellipsis.svg'); +const add = require('../../assets/add.svg'); +const borderall = require('../../assets/border-all.svg'); +const borderinside = require('../../assets/border-inside.svg'); +const borderhorizontal = require('../../assets/border-horizontal.svg'); +const bordervertical = require('../../assets/border-vertical.svg'); +const borderoutside = require('../../assets/border-outside.svg'); +const borderleft = require('../../assets/border-left.svg'); +const bordertop = require('../../assets/border-top.svg'); +const borderright = require('../../assets/border-right.svg'); +const borderbottom = require('../../assets/border-bottom.svg'); +const bordernone = require('../../assets/border-none.svg'); +const linecolor = require('../../assets/line-color.svg'); +const linetype = require('../../assets/line-type.svg'); +const chevronleft = require('../../assets/chevron-left.svg'); +const chevronright = require('../../assets/chevron-right.svg'); +const close = require('../../assets/close.svg'); const icons = { undo, @@ -48,10 +69,30 @@ const icons = { textwrap, autofilter: filter, formula, - 'arrow-down': downArrow, + 'arrow-down': arrowDown, + 'arrow-right': arrowRight, + link, + graph, + freeze, + ellipsis, + add, + 'border-all': borderall, + 'border-inside': borderinside, + 'border-horizontal': borderhorizontal, + 'border-vertical': bordervertical, + 'border-outside': borderoutside, + 'border-left': borderleft, + 'border-top': bordertop, + 'border-right': borderright, + 'border-bottom': borderbottom, + 'border-none': bordernone, + 'line-color': linecolor, + 'line-type': linetype, + 'chevron-left': chevronleft, + 'chevron-right': chevronright, + close, }; -console.log(icons); export const buildImg = (name) => { const icon = h('img'); From 22bd0b0cf0f79e436257eee7cdc35f1cfc340acb Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 10 Aug 2023 14:53:32 +0200 Subject: [PATCH 36/61] Icons as inline svg --- package-lock.json | 101 ++++++++++++++++++---- package.json | 1 + src/component/icon.js | 196 ++++++++++++++++++++++-------------------- 3 files changed, 191 insertions(+), 107 deletions(-) diff --git a/package-lock.json b/package-lock.json index 473cc4169..55d33411c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,7 @@ "mini-css-extract-plugin": "^0.4.4", "mocha": "^5.2.0", "nyc": "^13.3.0", + "raw-loader": "^4.0.2", "style-loader": "^0.23.0", "webpack": "^4.29.6", "webpack-cli": "^3.1.0", @@ -1024,6 +1025,12 @@ "@types/node": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, "node_modules/@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1271,15 +1278,19 @@ } }, "node_modules/ajv": { - "version": "6.10.2", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz", - "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-errors": { @@ -1292,9 +1303,9 @@ } }, "node_modules/ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", - "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peerDependencies": { "ajv": "^6.9.1" @@ -4242,9 +4253,9 @@ "optional": true }, "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&sync_timestamp=1562517919182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-json-stable-stringify": { @@ -6768,13 +6779,10 @@ "dev": true }, "node_modules/json5": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/json5/download/json5-2.1.0.tgz", - "integrity": "sha1-56DGLEgoXGKNIKELhcibuAfDKFA=", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, "bin": { "json5": "lib/cli.js" }, @@ -10206,6 +10214,67 @@ "node": ">= 0.8" } }, + "node_modules/raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/raw-loader/node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/raw-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/raw-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/read-pkg": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz", diff --git a/package.json b/package.json index 0004086f8..4e21281b5 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "mini-css-extract-plugin": "^0.4.4", "mocha": "^5.2.0", "nyc": "^13.3.0", + "raw-loader": "^4.0.2", "style-loader": "^0.23.0", "webpack": "^4.29.6", "webpack-cli": "^3.1.0", diff --git a/src/component/icon.js b/src/component/icon.js index 2d86ead0c..a05636a18 100644 --- a/src/component/icon.js +++ b/src/component/icon.js @@ -3,94 +3,95 @@ import { cssPrefix } from '../config'; // import * as undo from '../../assets/undo.svg'; -const undo = require('../../assets/undo.svg'); -const redo = require('../../assets/redo.svg'); -const print = require('../../assets/print.svg'); -const paintformat = require('../../assets/paintformat.svg'); -const clearformat = require('../../assets/clearformat.svg'); -const bold = require('../../assets/bold.svg'); -const fontitalic = require('../../assets/font-italic.svg'); -const underline = require('../../assets/underline.svg'); -const strikeout = require('../../assets/strikeout.svg'); -const color = require('../../assets/color.svg'); -const bgcolor = require('../../assets/bgcolor.svg'); -const merge = require('../../assets/merge.svg'); -const alignleft = require('../../assets/align-left.svg'); -const aligncenter = require('../../assets/align-center.svg'); -const alignright = require('../../assets/align-right.svg'); -const aligntop = require('../../assets/align-top.svg'); -const alignmiddle = require('../../assets/align-middle.svg'); -const alignbottom = require('../../assets/align-bottom.svg'); -const textwrap = require('../../assets/textwrap.svg'); -const filter = require('../../assets/filter.svg'); -const formula = require('../../assets/formulas.svg'); -const arrowDown = require('../../assets/arrow-down.svg'); -const arrowRight = require('../../assets/arrow-right.svg'); -const link = require('../../assets/link.svg'); -const graph = require('../../assets/graph.svg'); -const freeze = require('../../assets/freeze.svg'); -const ellipsis = require('../../assets/ellipsis.svg'); -const add = require('../../assets/add.svg'); -const borderall = require('../../assets/border-all.svg'); -const borderinside = require('../../assets/border-inside.svg'); -const borderhorizontal = require('../../assets/border-horizontal.svg'); -const bordervertical = require('../../assets/border-vertical.svg'); -const borderoutside = require('../../assets/border-outside.svg'); -const borderleft = require('../../assets/border-left.svg'); -const bordertop = require('../../assets/border-top.svg'); -const borderright = require('../../assets/border-right.svg'); -const borderbottom = require('../../assets/border-bottom.svg'); -const bordernone = require('../../assets/border-none.svg'); -const linecolor = require('../../assets/line-color.svg'); -const linetype = require('../../assets/line-type.svg'); -const chevronleft = require('../../assets/chevron-left.svg'); -const chevronright = require('../../assets/chevron-right.svg'); -const close = require('../../assets/close.svg'); +// const undo = require('raw-loader!../../assets/undo.svg'); +import * as undo from '!!raw-loader!../../assets/undo.svg'; +import * as redo from '!!raw-loader!../../assets/redo.svg'; +import * as print from '!!raw-loader!../../assets/print.svg'; +import * as paintformat from '!!raw-loader!../../assets/paintformat.svg'; +import * as clearformat from '!!raw-loader!../../assets/clearformat.svg'; +import * as bold from '!!raw-loader!../../assets/bold.svg'; +import * as fontitalic from '!!raw-loader!../../assets/font-italic.svg'; +import * as underline from '!!raw-loader!../../assets/underline.svg'; +import * as strikeout from '!!raw-loader!../../assets/strikeout.svg'; +import * as color from '!!raw-loader!../../assets/color.svg'; +import * as bgcolor from '!!raw-loader!../../assets/bgcolor.svg'; +import * as merge from '!!raw-loader!../../assets/merge.svg'; +import * as alignleft from '!!raw-loader!../../assets/align-left.svg'; +import * as aligncenter from '!!raw-loader!../../assets/align-center.svg'; +import * as alignright from '!!raw-loader!../../assets/align-right.svg'; +import * as aligntop from '!!raw-loader!../../assets/align-top.svg'; +import * as alignmiddle from '!!raw-loader!../../assets/align-middle.svg'; +import * as alignbottom from '!!raw-loader!../../assets/align-bottom.svg'; +import * as textwrap from '!!raw-loader!../../assets/textwrap.svg'; +import * as filter from '!!raw-loader!../../assets/filter.svg'; +import * as formula from '!!raw-loader!../../assets/formulas.svg'; +import * as arrowDown from '!!raw-loader!../../assets/arrow-down.svg'; +import * as arrowRight from '!!raw-loader!../../assets/arrow-right.svg'; +import * as link from '!!raw-loader!../../assets/link.svg'; +import * as graph from '!!raw-loader!../../assets/graph.svg'; +import * as freeze from '!!raw-loader!../../assets/freeze.svg'; +import * as ellipsis from '!!raw-loader!../../assets/ellipsis.svg'; +import * as add from '!!raw-loader!../../assets/add.svg'; +import * as borderall from '!!raw-loader!../../assets/border-all.svg'; +import * as borderinside from '!!raw-loader!../../assets/border-inside.svg'; +import * as borderhorizontal from '!!raw-loader!../../assets/border-horizontal.svg'; +import * as bordervertical from '!!raw-loader!../../assets/border-vertical.svg'; +import * as borderoutside from '!!raw-loader!../../assets/border-outside.svg'; +import * as borderleft from '!!raw-loader!../../assets/border-left.svg'; +import * as bordertop from '!!raw-loader!../../assets/border-top.svg'; +import * as borderright from '!!raw-loader!../../assets/border-right.svg'; +import * as borderbottom from '!!raw-loader!../../assets/border-bottom.svg'; +import * as bordernone from '!!raw-loader!../../assets/border-none.svg'; +import * as linecolor from '!!raw-loader!../../assets/line-color.svg'; +import * as linetype from '!!raw-loader!../../assets/line-type.svg'; +import * as chevronleft from '!!raw-loader!../../assets/chevron-left.svg'; +import * as chevronright from '!!raw-loader!../../assets/chevron-right.svg'; +import * as close from '!!raw-loader!../../assets/close.svg'; const icons = { - undo, - redo, - print, - paintformat, - clearformat, - 'font-bold': bold, - 'font-italic': fontitalic, - underline, - strike: strikeout, - color, - bgcolor, - merge, - 'align-left': alignleft, - 'align-center': aligncenter, - 'align-right': alignright, - 'align-top': aligntop, - 'align-middle': alignmiddle, - 'align-bottom': alignbottom, - textwrap, - autofilter: filter, - formula, - 'arrow-down': arrowDown, - 'arrow-right': arrowRight, - link, - graph, - freeze, - ellipsis, - add, - 'border-all': borderall, - 'border-inside': borderinside, - 'border-horizontal': borderhorizontal, - 'border-vertical': bordervertical, - 'border-outside': borderoutside, - 'border-left': borderleft, - 'border-top': bordertop, - 'border-right': borderright, - 'border-bottom': borderbottom, - 'border-none': bordernone, - 'line-color': linecolor, - 'line-type': linetype, - 'chevron-left': chevronleft, - 'chevron-right': chevronright, - close, + undo: undo.default, + redo: redo.default, + print: print.default, + paintformat: paintformat.default, + clearformat: clearformat.default, + 'font-bold': bold.default, + 'font-italic': fontitalic.default, + underline: underline.default, + strike: strikeout.default, + color: color.default, + bgcolor: bgcolor.default, + merge: merge.default, + 'align-left': alignleft.default, + 'align-center': aligncenter.default, + 'align-right': alignright.default, + 'align-top': aligntop.default, + 'align-middle': alignmiddle.default, + 'align-bottom': alignbottom.default, + textwrap: textwrap.default, + autofilter: filter.default, + formula: formula.default, + 'arrow-down': arrowDown.default, + 'arrow-right': arrowRight.default, + link: link.default, + graph: graph.default, + freeze: freeze.default, + ellipsis: ellipsis.default, + add: add.default, + 'border-all': borderall.default, + 'border-inside': borderinside.default, + 'border-horizontal': borderhorizontal.default, + 'border-vertical': bordervertical.default, + 'border-outside': borderoutside.default, + 'border-left': borderleft.default, + 'border-top': bordertop.default, + 'border-right': borderright.default, + 'border-bottom': borderbottom.default, + 'border-none': bordernone.default, + 'line-color': linecolor.default, + 'line-type': linetype.default, + 'chevron-left': chevronleft.default, + 'chevron-right': chevronright.default, + close: close.default, }; @@ -99,25 +100,38 @@ export const buildImg = (name) => { if(icons[name]) { icon.attr('src', icons[name]) } else { - console.log(`idon ${name} not found`); + console.log(`icon ${name} not found`); } return icon; } +export const buildSVG = (name) => { + if(icons[name]) { + return icons[name]; + } else { + console.log(`icon ${name} not found`); + } + return ""; +} + export default class Icon extends Element { constructor(name) { super('div', `${cssPrefix}-icon icon-${name}`); - const icon = buildImg(name); + // const icon = buildImg(name); + const svg = buildSVG(name); // icon.attr('src', undo); // this.iconNameEl = h('img'); // this.iconNameEl.attr('src', undo); // this.iconNameEl = h('div', `${cssPrefix}-icon-img ${name}`); - this.iconNameEl = icon; + // this.iconNameEl = icon; // this.child(undo); - this.child(this.iconNameEl); + // this.iconNameEl = this.child.appendChild(svg); + // this.child(this.iconNameEl); + this.el.innerHTML += svg; + this.iconNameEl = this.el.firstChild; } setName(name) { - this.iconNameEl.className(`${cssPrefix}-icon-img ${name}`); + this.className(` icon-${name}`); } } From 4accc38d5bccc36b15fb6cf39a78bbd334d006a4 Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Thu, 10 Aug 2023 15:15:30 +0200 Subject: [PATCH 37/61] fix align --- assets/arrow-down.svg | 2 +- src/component/dropdown.js | 5 +++-- src/index.less | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/assets/arrow-down.svg b/assets/arrow-down.svg index 02df32ed4..76fe61564 100644 --- a/assets/arrow-down.svg +++ b/assets/arrow-down.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/src/component/dropdown.js b/src/component/dropdown.js index 40b55f277..a3acfde9d 100644 --- a/src/component/dropdown.js +++ b/src/component/dropdown.js @@ -1,7 +1,7 @@ import { Element, h } from './element'; import { bindClickoutside, unbindClickoutside } from './event'; import { cssPrefix } from '../config'; -import { buildImg } from './icon'; +import { buildImg, default as Icon } from './icon'; export default class Dropdown extends Element { constructor(title, width, showArrow, placement, classname, ...children) { @@ -31,7 +31,8 @@ export default class Dropdown extends Element { this.title, showArrow ? h('div', `${cssPrefix}-icon arrow-right`).child( // h('div', `${cssPrefix}-icon-img arrow-down`), - buildImg('arrow-down') + // buildImg('arrow-down') + new Icon('arrow-down') ) : '', ); this.children(this.headerEl, this.contentEl); diff --git a/src/index.less b/src/index.less index ff26cd6ba..93a2bc30e 100644 --- a/src/index.less +++ b/src/index.less @@ -711,6 +711,12 @@ body { &.active { background: rgba(0, 0, 0, .08); } + + .@{css-prefix}-dropdown-header { + .icon-align-left, .icon-align-middle { + display: inline-block; + } + } } } From 71c5285ea2ffd5f48252053ba9951c7f2e392e1b Mon Sep 17 00:00:00 2001 From: Gabriele Cannata Date: Fri, 11 Aug 2023 20:57:39 +0200 Subject: [PATCH 38/61] WIP icons refactor, trouble importing --- dist/index.html | 47 +++++--- dist/xspreadsheet.css | 233 +++++--------------------------------- dist/xspreadsheet.css.map | 2 +- dist/xspreadsheet.js | 2 +- dist/xspreadsheet.js.map | 2 +- src/index.js | 13 ++- 6 files changed, 69 insertions(+), 230 deletions(-) diff --git a/dist/index.html b/dist/index.html index 5876b62b8..3bd35573c 100644 --- a/dist/index.html +++ b/dist/index.html @@ -4,7 +4,6 @@ x-spreadsheet -
@@ -28,22 +27,31 @@ } const rows = { len: 80, - 1: { + 0: { cells: { - 0: { text: 'testingtesttestetst' }, - 2: { text: 'testing' }, + 0: { text: '1' }, + 1: { text: "=A$1"} }, }, + 1: { + cells: { + 0: { text: '2' }, + // 1: { text: "=A1"} + + } + }, 2: { cells: { - 0: { text: 'render', style: 0 }, - 1: { text: 'Hello' }, - 2: { text: 'haha', merge: [1, 1] }, + 0: { text: '3' }, + // 1: { text: "Three"} + } }, - 8: { + 3: { cells: { - 8: { text: 'border test', style: 0 }, + 0: { text: '4' }, + // 1: { text: "Four"} + } } }; @@ -58,6 +66,7 @@ showToolbar: true, showGrid: true, showBottomBar: true, + autoFillOnCopy: true, extendToolbar: { left: [ { @@ -94,9 +103,9 @@ }, }, ], - merges: [ - 'C3:D4', - ], + // merges: [ + // 'C3:D4', + // ], cols: { len: 10, 2: { width: 200 }, @@ -111,14 +120,16 @@ console.log('cell:', cell, ', ri:', ri, ', ci:', ci); }).on('cell-edited', (text, ri, ci) => { console.log('text:', text, ', ri: ', ri, ', ci:', ci); + }).on('pasted-clipboard', (data) => { + console.log('>>>> data is ', data); }); - setTimeout(() => { - // xs.loadData([{ rows }]); - xs.cellText(14, 3, 'cell-text').reRender(); - console.log('cell(8, 8):', xs.cell(8, 8)); - console.log('cellStyle(8, 8):', xs.cellStyle(8, 8)); - }, 5000); + // setTimeout(() => { + // // xs.loadData([{ rows }]); + // xs.cellText(14, 3, 'cell-text').reRender(); + // console.log('cell(8, 8):', xs.cell(8, 8)); + // console.log('cellStyle(8, 8):', xs.cellStyle(8, 8)); + // }, 5000); } diff --git a/dist/xspreadsheet.css b/dist/xspreadsheet.css index 064c4a4d7..59e658bcf 100644 --- a/dist/xspreadsheet.css +++ b/dist/xspreadsheet.css @@ -2,6 +2,10 @@ body { margin: 0; } .x-spreadsheet { + --accent-color: #4b89ff; + --canvas-header-fill: rgba(75, 137, 255, 0.08); + --canvas-header-stroke: rgba(75, 137, 255, 0.6); + --accent-color-halffaded: rgba(75, 137, 255, 0.6); font-size: 13px; line-height: normal; user-select: none; @@ -134,18 +138,22 @@ body { bottom: calc(100% + 5px); right: 0; } -.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title { +.x-spreadsheet-dropdown.dd-formula .x-spreadsheet-dropdown-content { + max-height: 300px; + overflow-y: auto; +} +.x-spreadsheet-dropdown-title { padding: 0 5px; display: inline-block; } -.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left { +.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left { margin-left: 4px; } -.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right { +.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right { width: 10px; margin-right: 4px; } -.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down { +.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down { left: -130px; } /* resizer **/ @@ -154,7 +162,7 @@ body { z-index: 11; } .x-spreadsheet-resizer .x-spreadsheet-resizer-hover { - background-color: rgba(75, 137, 255, 0.25); + background-color: rgba(var(--color), 0.25); } .x-spreadsheet-resizer .x-spreadsheet-resizer-line { position: absolute; @@ -163,7 +171,7 @@ body { cursor: row-resize; } .x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line { - border-bottom: 2px dashed #4b89ff; + border-bottom: 2px dashed var(--accent-color); left: 0; bottom: 0; } @@ -171,7 +179,7 @@ body { cursor: col-resize; } .x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line { - border-right: 2px dashed #4b89ff; + border-right: 2px dashed var(--accent-color); top: 0; right: 0; } @@ -235,12 +243,12 @@ body { .x-spreadsheet-selector .hide-input input { padding: 0; width: 0; - border: none!important; + border: none !important; } .x-spreadsheet-selector .x-spreadsheet-selector-area { position: absolute; - border: 2px solid #4b89ff; - background: rgba(75, 137, 255, 0.1); + border: 2px solid var(--accent-color); + background: rgba(var(--accent-color), 0.1); z-index: 5; } .x-spreadsheet-selector .x-spreadsheet-selector-clipboard, @@ -250,7 +258,7 @@ body { z-index: 100; } .x-spreadsheet-selector .x-spreadsheet-selector-clipboard { - border: 2px dashed #4b89ff; + border: 2px dashed var(--accent-color); } .x-spreadsheet-selector .x-spreadsheet-selector-autofill { border: 1px dashed rgba(0, 0, 0, 0.45); @@ -265,7 +273,7 @@ body { right: -5px; bottom: -5px; border: 2px solid #ffffff; - background: #4b89ff; + background: var(--accent-color); } .x-spreadsheet-editor { z-index: 20; @@ -273,7 +281,7 @@ body { .x-spreadsheet-editor .x-spreadsheet-editor-area { position: absolute; text-align: left; - border: 2px solid #4b89ff; + border: 2px solid var(--accent-color); line-height: 0; z-index: 100; pointer-events: auto; @@ -336,7 +344,7 @@ body { } .x-spreadsheet-item.state, .x-spreadsheet-header.state { - padding-left: 35px!important; + padding-left: 35px !important; position: relative; } .x-spreadsheet-item.state:before, @@ -368,7 +376,7 @@ body { position: absolute; top: 0; left: 0; - opacity: 0!important; + opacity: 0 !important; outline: 0; z-index: -1; } @@ -494,6 +502,10 @@ body { .x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active { background: rgba(0, 0, 0, 0.08); } +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn .x-spreadsheet-dropdown-header .icon-align-left, +.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn .x-spreadsheet-dropdown-header .icon-align-middle { + display: inline-block; +} .x-spreadsheet-toolbar-divider { display: inline-block; border-right: 1px solid #e0e2e4; @@ -685,8 +697,8 @@ body { box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06); } .x-spreadsheet-form-input input:focus { - border-color: #4b89ff; - box-shadow: inset 0 1px 2px rgba(75, 137, 255, 0.2); + border-color: var(--accent-color); + box-shadow: inset 0 1px 2px rgba(var(--accent-color), 0.2); } .x-spreadsheet-form-select { position: relative; @@ -848,193 +860,6 @@ form fieldset select { display: inline-block; line-height: 0; } -.x-spreadsheet-icon .x-spreadsheet-icon-img { - background-image: url(58eaeb4e52248a5c75936c6f4c33a370.svg); - position: absolute; - width: 262px; - height: 444px; - opacity: 0.56; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.undo { - left: 0; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.redo { - left: -18px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.print { - left: -36px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat { - left: -54px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat { - left: -72px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold { - left: -90px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic { - left: -108px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.underline { - left: -126px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.strike { - left: -144px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.color { - left: -162px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor { - left: -180px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.merge { - left: -198px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-left { - left: -216px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-center { - left: -234px; - top: 0; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-right { - left: 0; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-top { - left: -18px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle { - left: -36px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom { - left: -54px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap { - left: -72px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter { - left: -90px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.formula { - left: -108px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down { - left: -126px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right { - left: -144px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.link { - left: -162px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.chart { - left: -180px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.freeze { - left: -198px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis { - left: -216px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.add { - left: -234px; - top: -18px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-all { - left: 0; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside { - left: -18px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal { - left: -36px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical { - left: -54px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside { - left: -72px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-left { - left: -90px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-top { - left: -108px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-right { - left: -126px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom { - left: -144px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.border-none { - left: -162px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.line-color { - left: -180px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.line-type { - left: -198px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.close { - left: -234px; - top: -36px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down { - left: 0; - top: -54px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up { - left: -18px; - top: -54px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left { - left: -36px; - top: -54px; -} -.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right { - left: -54px; - top: -54px; -} /*# sourceMappingURL=xspreadsheet.css.map*/ \ No newline at end of file diff --git a/dist/xspreadsheet.css.map b/dist/xspreadsheet.css.map index d413fd00b..0d834883f 100644 --- a/dist/xspreadsheet.css.map +++ b/dist/xspreadsheet.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/index.less"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"xspreadsheet.css","sourcesContent":["body {\n margin: 0;\n}\n.x-spreadsheet {\n font-size: 13px;\n line-height: normal;\n user-select: none;\n -moz-user-select: none;\n font-family: 'Lato', 'Source Sans Pro', Roboto, Helvetica, Arial, sans-serif;\n box-sizing: content-box;\n background: #fff;\n -webkit-font-smoothing: antialiased;\n}\n.x-spreadsheet textarea {\n font: 400 13px Arial, 'Lato', 'Source Sans Pro', Roboto, Helvetica, sans-serif;\n}\n.x-spreadsheet-sheet {\n position: relative;\n overflow: hidden;\n}\n.x-spreadsheet-table {\n vertical-align: bottom;\n}\n.x-spreadsheet-tooltip {\n font-family: inherit;\n position: absolute;\n padding: 5px 10px;\n color: #fff;\n border-radius: 1px;\n background: #000000;\n font-size: 12px;\n z-index: 201;\n}\n.x-spreadsheet-tooltip:before {\n pointer-events: none;\n position: absolute;\n left: calc(50% - 4px);\n top: -4px;\n content: \"\";\n width: 8px;\n height: 8px;\n background: inherit;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n z-index: 1;\n box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, 0.3);\n}\n.x-spreadsheet-color-palette {\n padding: 5px;\n}\n.x-spreadsheet-color-palette table {\n margin: 0;\n padding: 0;\n border-collapse: separate;\n border-spacing: 2;\n background: #fff;\n}\n.x-spreadsheet-color-palette table td {\n margin: 0;\n cursor: pointer;\n border: 1px solid transparent;\n}\n.x-spreadsheet-color-palette table td:hover {\n border-color: #ddd;\n}\n.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell {\n width: 16px;\n height: 16px;\n}\n.x-spreadsheet-border-palette {\n padding: 6px;\n}\n.x-spreadsheet-border-palette table {\n margin: 0;\n padding: 0;\n border-collapse: separate;\n border-spacing: 0;\n background: #fff;\n table-layout: fixed;\n}\n.x-spreadsheet-border-palette table td {\n margin: 0;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left {\n border-right: 1px solid #eee;\n padding-right: 6px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell {\n width: 30px;\n height: 30px;\n cursor: pointer;\n text-align: center;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img {\n opacity: 0.8;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover {\n background-color: #eee;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right {\n padding-left: 6px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn {\n margin-top: 0;\n margin-bottom: 3px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type {\n position: relative;\n left: 0;\n top: -3px;\n}\n.x-spreadsheet-dropdown {\n position: relative;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content {\n position: absolute;\n z-index: 200;\n background: #fff;\n box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);\n}\n.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content {\n top: calc(100% + 5px);\n left: 0;\n}\n.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content {\n top: calc(100% + 5px);\n right: 0;\n}\n.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content {\n bottom: calc(100% + 5px);\n left: 0;\n}\n.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content {\n bottom: calc(100% + 5px);\n right: 0;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title {\n padding: 0 5px;\n display: inline-block;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left {\n margin-left: 4px;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right {\n width: 10px;\n margin-right: 4px;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down {\n left: -130px;\n}\n/* resizer **/\n.x-spreadsheet-resizer {\n position: absolute;\n z-index: 11;\n}\n.x-spreadsheet-resizer .x-spreadsheet-resizer-hover {\n background-color: rgba(75, 137, 255, 0.25);\n}\n.x-spreadsheet-resizer .x-spreadsheet-resizer-line {\n position: absolute;\n}\n.x-spreadsheet-resizer.horizontal {\n cursor: row-resize;\n}\n.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line {\n border-bottom: 2px dashed #4b89ff;\n left: 0;\n bottom: 0;\n}\n.x-spreadsheet-resizer.vertical {\n cursor: col-resize;\n}\n.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line {\n border-right: 2px dashed #4b89ff;\n top: 0;\n right: 0;\n}\n/* scrollbar */\n.x-spreadsheet-scrollbar {\n position: absolute;\n bottom: 0;\n right: 0;\n background-color: #f4f5f8;\n opacity: 0.9;\n z-index: 12;\n}\n.x-spreadsheet-scrollbar.horizontal {\n right: 15px;\n overflow-x: scroll;\n overflow-y: hidden;\n}\n.x-spreadsheet-scrollbar.horizontal > div {\n height: 1px;\n background: #ddd;\n}\n.x-spreadsheet-scrollbar.vertical {\n bottom: 15px;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.x-spreadsheet-scrollbar.vertical > div {\n width: 1px;\n background: #ddd;\n}\n/* @{css-prefix}-overlayer */\n.x-spreadsheet-overlayer {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 10;\n}\n.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content {\n position: absolute;\n overflow: hidden;\n pointer-events: none;\n width: 100%;\n height: 100%;\n}\n.x-spreadsheet-editor,\n.x-spreadsheet-selector {\n box-sizing: content-box;\n position: absolute;\n overflow: hidden;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/* @{css-prefix}-selector */\n.x-spreadsheet-selector .hide-input {\n position: absolute;\n z-index: 0;\n}\n.x-spreadsheet-selector .hide-input input {\n padding: 0;\n width: 0;\n border: none!important;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-area {\n position: absolute;\n border: 2px solid #4b89ff;\n background: rgba(75, 137, 255, 0.1);\n z-index: 5;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,\n.x-spreadsheet-selector .x-spreadsheet-selector-autofill {\n position: absolute;\n background: transparent;\n z-index: 100;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-clipboard {\n border: 2px dashed #4b89ff;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-autofill {\n border: 1px dashed rgba(0, 0, 0, 0.45);\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-corner {\n pointer-events: auto;\n position: absolute;\n cursor: crosshair;\n font-size: 0;\n height: 5px;\n width: 5px;\n right: -5px;\n bottom: -5px;\n border: 2px solid #ffffff;\n background: #4b89ff;\n}\n.x-spreadsheet-editor {\n z-index: 20;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area {\n position: absolute;\n text-align: left;\n border: 2px solid #4b89ff;\n line-height: 0;\n z-index: 100;\n pointer-events: auto;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area textarea {\n box-sizing: content-box;\n border: none;\n padding: 0 3px;\n outline: none;\n resize: none;\n text-align: start;\n overflow-y: hidden;\n font: 400 13px Arial, 'Lato', 'Source Sans Pro', Roboto, Helvetica, sans-serif;\n color: inherit;\n white-space: normal;\n word-wrap: break-word;\n line-height: 22px;\n margin: 0;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area .textline {\n overflow: hidden;\n visibility: hidden;\n position: fixed;\n top: 0;\n left: 0;\n}\n.x-spreadsheet-item {\n user-select: none;\n background: 0;\n border: 1px solid transparent;\n outline: none;\n height: 26px;\n color: rgba(0, 0, 0, 0.9);\n line-height: 26px;\n list-style: none;\n padding: 2px 10px;\n cursor: default;\n text-align: left;\n overflow: hidden;\n}\n.x-spreadsheet-item.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-item:hover,\n.x-spreadsheet-item.active {\n background: rgba(0, 0, 0, 0.05);\n}\n.x-spreadsheet-item.divider {\n height: 0;\n padding: 0;\n margin: 5px 0;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n.x-spreadsheet-item .label {\n float: right;\n opacity: 0.65;\n font-size: 1em;\n}\n.x-spreadsheet-item.state,\n.x-spreadsheet-header.state {\n padding-left: 35px!important;\n position: relative;\n}\n.x-spreadsheet-item.state:before,\n.x-spreadsheet-header.state:before {\n content: '';\n position: absolute;\n width: 10px;\n height: 10px;\n left: 12px;\n top: calc(50% - 5px);\n background: rgba(0, 0, 0, 0.08);\n border-radius: 2px;\n}\n.x-spreadsheet-item.state.checked:before,\n.x-spreadsheet-header.state.checked:before {\n background: #4b89ff;\n}\n.x-spreadsheet-checkbox {\n position: relative;\n display: inline-block;\n backface-visibility: hidden;\n outline: 0;\n vertical-align: baseline;\n font-style: normal;\n font-size: 1rem;\n line-height: 1em;\n}\n.x-spreadsheet-checkbox > input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0!important;\n outline: 0;\n z-index: -1;\n}\n.x-spreadsheet-suggest,\n.x-spreadsheet-contextmenu,\n.x-spreadsheet-sort-filter {\n position: absolute;\n box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);\n background: #fff;\n z-index: 100;\n width: 260px;\n pointer-events: auto;\n overflow: auto;\n}\n.x-spreadsheet-suggest {\n width: 200px;\n}\n.x-spreadsheet-filter {\n border: 1px solid #e9e9e9;\n font-size: 12px;\n margin: 10px;\n}\n.x-spreadsheet-filter .x-spreadsheet-header {\n padding: 0.5em 0.75em;\n background: #f8f8f9;\n border-bottom: 1px solid #e9e9e9;\n border-left: 1px solid transparent;\n}\n.x-spreadsheet-filter .x-spreadsheet-body {\n height: 200px;\n overflow-y: auto;\n}\n.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item {\n height: 20px;\n line-height: 20px;\n}\n.x-spreadsheet-sort-filter .x-spreadsheet-buttons {\n margin: 10px;\n}\n.x-spreadsheet-toolbar,\n.x-spreadsheet-bottombar {\n height: 40px;\n padding: 0 30px;\n text-align: left;\n background: #f5f6f7;\n display: flex;\n}\n.x-spreadsheet-bottombar {\n position: relative;\n border-top: 1px solid #e0e2e4;\n}\n.x-spreadsheet-bottombar .x-spreadsheet-menu > li {\n line-height: 40px;\n height: 40px;\n padding-top: 0;\n padding-bottom: 0;\n vertical-align: middle;\n border-right: 1px solid #e8eaed;\n}\n.x-spreadsheet-menu {\n list-style: none;\n margin: 0;\n padding: 0;\n user-select: none;\n}\n.x-spreadsheet-menu > li {\n float: left;\n line-height: 1.25em;\n padding: 0.785em 1em;\n margin: 0;\n vertical-align: middle;\n text-align: left;\n font-weight: 400;\n color: #80868b;\n white-space: nowrap;\n cursor: pointer;\n transition: all 0.3s;\n font-weight: bold;\n}\n.x-spreadsheet-menu > li.active {\n background-color: #fff;\n color: rgba(0, 0, 0, 0.65);\n}\n.x-spreadsheet-menu > li .x-spreadsheet-icon {\n margin: 0 6px;\n}\n.x-spreadsheet-menu > li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover {\n opacity: 0.85;\n}\n.x-spreadsheet-menu > li .x-spreadsheet-dropdown {\n display: inline-block;\n}\n.x-spreadsheet-toolbar {\n border-bottom: 1px solid #e0e2e4;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns {\n display: inline-flex;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more {\n padding: 0 6px 6px;\n text-align: left;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider {\n margin-top: 0;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn {\n flex: 0 0 auto;\n display: inline-block;\n border: 1px solid transparent;\n height: 26px;\n line-height: 26px;\n min-width: 26px;\n margin: 6px 1px 0;\n padding: 0;\n text-align: center;\n border-radius: 2px;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover,\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active {\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-toolbar-divider {\n display: inline-block;\n border-right: 1px solid #e0e2e4;\n width: 0;\n vertical-align: middle;\n height: 18px;\n margin: 12px 3px 0;\n}\n.x-spreadsheet-print {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 100;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.x-spreadsheet-print-bar {\n background: #424242;\n height: 60px;\n line-height: 60px;\n padding: 0 30px;\n}\n.x-spreadsheet-print-bar .-title {\n color: #fff;\n font-weight: bold;\n font-size: 1.2em;\n float: left;\n}\n.x-spreadsheet-print-bar .-right {\n float: right;\n margin-top: 12px;\n}\n.x-spreadsheet-print-content {\n display: flex;\n flex: auto;\n flex-direction: row;\n background: #d0d0d0;\n height: calc(100% - 60px);\n}\n.x-spreadsheet-print-content .-sider {\n flex: 0 0 300px;\n width: 300px;\n border-left: 2px solid #ccc;\n background: #fff;\n}\n.x-spreadsheet-print-content .-content {\n flex: auto;\n overflow-x: auto;\n overflow-y: scroll;\n height: 100%;\n}\n.x-spreadsheet-canvas-card-wraper {\n margin: 40px 20px;\n}\n.x-spreadsheet-canvas-card {\n background: #fff;\n margin: auto;\n page-break-before: auto;\n page-break-after: always;\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.2);\n}\n.x-spreadsheet-calendar {\n color: rgba(0, 0, 0, 0.65);\n background: #ffffff;\n user-select: none;\n}\n.x-spreadsheet-calendar .calendar-header {\n font-weight: 700;\n line-height: 30px;\n text-align: center;\n width: 100%;\n float: left;\n background: #f9fafb;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-left {\n padding-left: 5px;\n float: left;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right {\n float: right;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right a {\n padding: 3px 0;\n margin-right: 2px;\n border-radius: 2px;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-calendar .calendar-body {\n border-collapse: collapse;\n border-spacing: 0;\n}\n.x-spreadsheet-calendar .calendar-body th,\n.x-spreadsheet-calendar .calendar-body td {\n width: 14.28571429%;\n min-width: 32px;\n text-align: center;\n font-weight: 700;\n line-height: 30px;\n padding: 0;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell:hover {\n background: #ecf6fd;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell.active,\n.x-spreadsheet-calendar .calendar-body td > .cell.active:hover {\n background: #ecf6fd;\n color: #2185D0;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-datepicker {\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);\n position: absolute;\n left: 0;\n top: calc(100% + 5px);\n z-index: 10;\n width: auto;\n}\n.x-spreadsheet-buttons {\n display: flex;\n justify-content: flex-end;\n}\n.x-spreadsheet-buttons .x-spreadsheet-button {\n margin-left: 8px;\n}\n.x-spreadsheet-button {\n display: inline-block;\n border-radius: 3px;\n line-height: 1em;\n min-height: 1em;\n white-space: nowrap;\n text-align: center;\n cursor: pointer;\n font-size: 1em;\n font-weight: 700;\n padding: 0.75em 1em;\n color: rgba(0, 0, 0, 0.6);\n background: #E0E1E2;\n text-decoration: none;\n font-family: \"Lato\", \"proxima-nova\", \"Helvetica Neue\", Arial, sans-serif;\n outline: none;\n vertical-align: baseline;\n zoom: 1;\n user-select: none;\n transition: all 0.1s linear;\n}\n.x-spreadsheet-button.active,\n.x-spreadsheet-button:hover {\n background-color: #C0C1C2;\n color: rgba(0, 0, 0, 0.8);\n}\n.x-spreadsheet-button.primary {\n color: #fff;\n background-color: #2185D0;\n}\n.x-spreadsheet-button.primary:hover,\n.x-spreadsheet-button.primary.active {\n color: #fff;\n background-color: #1678c2;\n}\n.x-spreadsheet-form-input {\n font-size: 1em;\n position: relative;\n font-weight: 400;\n display: inline-flex;\n color: rgba(0, 0, 0, 0.87);\n}\n.x-spreadsheet-form-input input {\n z-index: 1;\n margin: 0;\n max-width: 100%;\n flex: 1 0 auto;\n outline: 0;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n text-align: left;\n line-height: 30px;\n height: 30px;\n padding: 0 8px;\n background: #fff;\n border: 1px solid #e9e9e9;\n border-radius: 3px;\n transition: box-shadow 0.1s ease, border-color 0.1s ease;\n box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06);\n}\n.x-spreadsheet-form-input input:focus {\n border-color: #4b89ff;\n box-shadow: inset 0 1px 2px rgba(75, 137, 255, 0.2);\n}\n.x-spreadsheet-form-select {\n position: relative;\n display: inline-block;\n background: #fff;\n border: 1px solid #e9e9e9;\n border-radius: 2px;\n cursor: pointer;\n color: rgba(0, 0, 0, 0.87);\n user-select: none;\n box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06);\n}\n.x-spreadsheet-form-select .input-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 60px;\n width: auto;\n height: 30px;\n line-height: 30px;\n padding: 0 8px;\n}\n.x-spreadsheet-form-fields {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.x-spreadsheet-form-fields .x-spreadsheet-form-field {\n flex: 0 1 auto;\n}\n.x-spreadsheet-form-fields .x-spreadsheet-form-field .label {\n display: inline-block;\n margin: 0 10px 0 0;\n}\n.x-spreadsheet-form-field {\n display: block;\n vertical-align: middle;\n margin-left: 10px;\n margin-bottom: 10px;\n}\n.x-spreadsheet-form-field:first-child {\n margin-left: 0;\n}\n.x-spreadsheet-form-field.error .x-spreadsheet-form-select,\n.x-spreadsheet-form-field.error input {\n border-color: #f04134;\n}\n.x-spreadsheet-form-field .tip {\n color: #f04134;\n font-size: 0.9em;\n}\n.x-spreadsheet-dimmer {\n display: none;\n position: absolute;\n top: 0 !important;\n left: 0 !important;\n width: 100%;\n height: 100%;\n text-align: center;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.6);\n opacity: 0;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n -webkit-animation-duration: 0.5s;\n animation-duration: 0.5s;\n transition: background-color 0.5s linear;\n user-select: none;\n z-index: 1000;\n}\n.x-spreadsheet-dimmer.active {\n display: block;\n opacity: 1;\n}\nform fieldset {\n border: none;\n}\nform fieldset label {\n display: block;\n margin-bottom: 0.5em;\n font-size: 1em;\n color: #666;\n}\nform fieldset select {\n font-size: 1.1em;\n width: 100%;\n background-color: #fff;\n border: none;\n border-bottom: 2px solid #ddd;\n padding: 0.5em 0.85em;\n border-radius: 2px;\n}\n.x-spreadsheet-modal,\n.x-spreadsheet-toast {\n font-size: 13px;\n position: fixed;\n z-index: 1001;\n text-align: left;\n line-height: 1.25em;\n min-width: 360px;\n color: rgba(0, 0, 0, 0.87);\n font-family: 'Lato', 'Source Sans Pro', Roboto, Helvetica, Arial, sans-serif;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n background-color: #fff;\n background-clip: padding-box;\n box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 8px;\n}\n.x-spreadsheet-toast {\n background-color: rgba(255, 255, 255, 0.85);\n}\n.x-spreadsheet-modal-header,\n.x-spreadsheet-toast-header {\n font-weight: 600;\n background-clip: padding-box;\n background-color: rgba(255, 255, 255, 0.85);\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-radius: 4px 4px 0 0;\n}\n.x-spreadsheet-modal-header .x-spreadsheet-icon,\n.x-spreadsheet-toast-header .x-spreadsheet-icon {\n position: absolute;\n right: 0.8em;\n top: 0.65em;\n border-radius: 18px;\n}\n.x-spreadsheet-modal-header .x-spreadsheet-icon:hover,\n.x-spreadsheet-toast-header .x-spreadsheet-icon:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-toast-header {\n color: #F2711C;\n}\n.x-spreadsheet-modal-header {\n border-bottom: 1px solid #e0e2e4;\n background: rgba(0, 0, 0, 0.08);\n font-size: 1.0785em;\n}\n.x-spreadsheet-modal-header,\n.x-spreadsheet-modal-content,\n.x-spreadsheet-toast-header,\n.x-spreadsheet-toast-content {\n padding: 0.75em 1em;\n}\n@media screen and (min-width: 320px) and (max-width: 480px) {\n .x-spreadsheet-toolbar {\n display: none;\n }\n}\n.x-spreadsheet-icon {\n width: 18px;\n height: 18px;\n margin: 1px 1px 2px 1px;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n overflow: hidden;\n position: relative;\n display: inline-block;\n line-height: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img {\n background-image: url(58eaeb4e52248a5c75936c6f4c33a370.svg);\n position: absolute;\n width: 262px;\n height: 444px;\n opacity: 0.56;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.undo {\n left: 0;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.redo {\n left: -18px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.print {\n left: -36px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat {\n left: -54px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat {\n left: -72px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold {\n left: -90px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic {\n left: -108px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.underline {\n left: -126px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.strike {\n left: -144px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.color {\n left: -162px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor {\n left: -180px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.merge {\n left: -198px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-left {\n left: -216px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-center {\n left: -234px;\n top: 0;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-right {\n left: 0;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-top {\n left: -18px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle {\n left: -36px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom {\n left: -54px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap {\n left: -72px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter {\n left: -90px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.formula {\n left: -108px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down {\n left: -126px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right {\n left: -144px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.link {\n left: -162px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.chart {\n left: -180px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.freeze {\n left: -198px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis {\n left: -216px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.add {\n left: -234px;\n top: -18px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-all {\n left: 0;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside {\n left: -18px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal {\n left: -36px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical {\n left: -54px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside {\n left: -72px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-left {\n left: -90px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-top {\n left: -108px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-right {\n left: -126px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom {\n left: -144px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.border-none {\n left: -162px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.line-color {\n left: -180px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.line-type {\n left: -198px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.close {\n left: -234px;\n top: -36px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down {\n left: 0;\n top: -54px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up {\n left: -18px;\n top: -54px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left {\n left: -36px;\n top: -54px;\n}\n.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right {\n left: -54px;\n top: -54px;\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/index.less"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"xspreadsheet.css","sourcesContent":["body {\n margin: 0;\n}\n.x-spreadsheet {\n --accent-color: #4b89ff;\n --canvas-header-fill: rgba(75, 137, 255, 0.08);\n --canvas-header-stroke: rgba(75, 137, 255, 0.6);\n --accent-color-halffaded: rgba(75, 137, 255, 0.6);\n font-size: 13px;\n line-height: normal;\n user-select: none;\n -moz-user-select: none;\n font-family: 'Lato', 'Source Sans Pro', Roboto, Helvetica, Arial, sans-serif;\n box-sizing: content-box;\n background: #fff;\n -webkit-font-smoothing: antialiased;\n}\n.x-spreadsheet textarea {\n font: 400 13px Arial, 'Lato', 'Source Sans Pro', Roboto, Helvetica, sans-serif;\n}\n.x-spreadsheet-sheet {\n position: relative;\n overflow: hidden;\n}\n.x-spreadsheet-table {\n vertical-align: bottom;\n}\n.x-spreadsheet-tooltip {\n font-family: inherit;\n position: absolute;\n padding: 5px 10px;\n color: #fff;\n border-radius: 1px;\n background: #000000;\n font-size: 12px;\n z-index: 201;\n}\n.x-spreadsheet-tooltip:before {\n pointer-events: none;\n position: absolute;\n left: calc(50% - 4px);\n top: -4px;\n content: \"\";\n width: 8px;\n height: 8px;\n background: inherit;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n z-index: 1;\n box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, 0.3);\n}\n.x-spreadsheet-color-palette {\n padding: 5px;\n}\n.x-spreadsheet-color-palette table {\n margin: 0;\n padding: 0;\n border-collapse: separate;\n border-spacing: 2;\n background: #fff;\n}\n.x-spreadsheet-color-palette table td {\n margin: 0;\n cursor: pointer;\n border: 1px solid transparent;\n}\n.x-spreadsheet-color-palette table td:hover {\n border-color: #ddd;\n}\n.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell {\n width: 16px;\n height: 16px;\n}\n.x-spreadsheet-border-palette {\n padding: 6px;\n}\n.x-spreadsheet-border-palette table {\n margin: 0;\n padding: 0;\n border-collapse: separate;\n border-spacing: 0;\n background: #fff;\n table-layout: fixed;\n}\n.x-spreadsheet-border-palette table td {\n margin: 0;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left {\n border-right: 1px solid #eee;\n padding-right: 6px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell {\n width: 30px;\n height: 30px;\n cursor: pointer;\n text-align: center;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img {\n opacity: 0.8;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover {\n background-color: #eee;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right {\n padding-left: 6px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn {\n margin-top: 0;\n margin-bottom: 3px;\n}\n.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type {\n position: relative;\n left: 0;\n top: -3px;\n}\n.x-spreadsheet-dropdown {\n position: relative;\n}\n.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content {\n position: absolute;\n z-index: 200;\n background: #fff;\n box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);\n}\n.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content {\n top: calc(100% + 5px);\n left: 0;\n}\n.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content {\n top: calc(100% + 5px);\n right: 0;\n}\n.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content {\n bottom: calc(100% + 5px);\n left: 0;\n}\n.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content {\n bottom: calc(100% + 5px);\n right: 0;\n}\n.x-spreadsheet-dropdown.dd-formula .x-spreadsheet-dropdown-content {\n max-height: 300px;\n overflow-y: auto;\n}\n.x-spreadsheet-dropdown-title {\n padding: 0 5px;\n display: inline-block;\n}\n.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left {\n margin-left: 4px;\n}\n.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right {\n width: 10px;\n margin-right: 4px;\n}\n.x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down {\n left: -130px;\n}\n/* resizer **/\n.x-spreadsheet-resizer {\n position: absolute;\n z-index: 11;\n}\n.x-spreadsheet-resizer .x-spreadsheet-resizer-hover {\n background-color: rgba(var(--color), 0.25);\n}\n.x-spreadsheet-resizer .x-spreadsheet-resizer-line {\n position: absolute;\n}\n.x-spreadsheet-resizer.horizontal {\n cursor: row-resize;\n}\n.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line {\n border-bottom: 2px dashed var(--accent-color);\n left: 0;\n bottom: 0;\n}\n.x-spreadsheet-resizer.vertical {\n cursor: col-resize;\n}\n.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line {\n border-right: 2px dashed var(--accent-color);\n top: 0;\n right: 0;\n}\n/* scrollbar */\n.x-spreadsheet-scrollbar {\n position: absolute;\n bottom: 0;\n right: 0;\n background-color: #f4f5f8;\n opacity: 0.9;\n z-index: 12;\n}\n.x-spreadsheet-scrollbar.horizontal {\n right: 15px;\n overflow-x: scroll;\n overflow-y: hidden;\n}\n.x-spreadsheet-scrollbar.horizontal > div {\n height: 1px;\n background: #ddd;\n}\n.x-spreadsheet-scrollbar.vertical {\n bottom: 15px;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.x-spreadsheet-scrollbar.vertical > div {\n width: 1px;\n background: #ddd;\n}\n/* @{css-prefix}-overlayer */\n.x-spreadsheet-overlayer {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 10;\n}\n.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content {\n position: absolute;\n overflow: hidden;\n pointer-events: none;\n width: 100%;\n height: 100%;\n}\n.x-spreadsheet-editor,\n.x-spreadsheet-selector {\n box-sizing: content-box;\n position: absolute;\n overflow: hidden;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/* @{css-prefix}-selector */\n.x-spreadsheet-selector .hide-input {\n position: absolute;\n z-index: 0;\n}\n.x-spreadsheet-selector .hide-input input {\n padding: 0;\n width: 0;\n border: none !important;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-area {\n position: absolute;\n border: 2px solid var(--accent-color);\n background: rgba(var(--accent-color), 0.1);\n z-index: 5;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,\n.x-spreadsheet-selector .x-spreadsheet-selector-autofill {\n position: absolute;\n background: transparent;\n z-index: 100;\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-clipboard {\n border: 2px dashed var(--accent-color);\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-autofill {\n border: 1px dashed rgba(0, 0, 0, 0.45);\n}\n.x-spreadsheet-selector .x-spreadsheet-selector-corner {\n pointer-events: auto;\n position: absolute;\n cursor: crosshair;\n font-size: 0;\n height: 5px;\n width: 5px;\n right: -5px;\n bottom: -5px;\n border: 2px solid #ffffff;\n background: var(--accent-color);\n}\n.x-spreadsheet-editor {\n z-index: 20;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area {\n position: absolute;\n text-align: left;\n border: 2px solid var(--accent-color);\n line-height: 0;\n z-index: 100;\n pointer-events: auto;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area textarea {\n box-sizing: content-box;\n border: none;\n padding: 0 3px;\n outline: none;\n resize: none;\n text-align: start;\n overflow-y: hidden;\n font: 400 13px Arial, 'Lato', 'Source Sans Pro', Roboto, Helvetica, sans-serif;\n color: inherit;\n white-space: normal;\n word-wrap: break-word;\n line-height: 22px;\n margin: 0;\n}\n.x-spreadsheet-editor .x-spreadsheet-editor-area .textline {\n overflow: hidden;\n visibility: hidden;\n position: fixed;\n top: 0;\n left: 0;\n}\n.x-spreadsheet-item {\n user-select: none;\n background: 0;\n border: 1px solid transparent;\n outline: none;\n height: 26px;\n color: rgba(0, 0, 0, 0.9);\n line-height: 26px;\n list-style: none;\n padding: 2px 10px;\n cursor: default;\n text-align: left;\n overflow: hidden;\n}\n.x-spreadsheet-item.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-item:hover,\n.x-spreadsheet-item.active {\n background: rgba(0, 0, 0, 0.05);\n}\n.x-spreadsheet-item.divider {\n height: 0;\n padding: 0;\n margin: 5px 0;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n.x-spreadsheet-item .label {\n float: right;\n opacity: 0.65;\n font-size: 1em;\n}\n.x-spreadsheet-item.state,\n.x-spreadsheet-header.state {\n padding-left: 35px !important;\n position: relative;\n}\n.x-spreadsheet-item.state:before,\n.x-spreadsheet-header.state:before {\n content: '';\n position: absolute;\n width: 10px;\n height: 10px;\n left: 12px;\n top: calc(50% - 5px);\n background: rgba(0, 0, 0, 0.08);\n border-radius: 2px;\n}\n.x-spreadsheet-item.state.checked:before,\n.x-spreadsheet-header.state.checked:before {\n background: #4b89ff;\n}\n.x-spreadsheet-checkbox {\n position: relative;\n display: inline-block;\n backface-visibility: hidden;\n outline: 0;\n vertical-align: baseline;\n font-style: normal;\n font-size: 1rem;\n line-height: 1em;\n}\n.x-spreadsheet-checkbox > input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0 !important;\n outline: 0;\n z-index: -1;\n}\n.x-spreadsheet-suggest,\n.x-spreadsheet-contextmenu,\n.x-spreadsheet-sort-filter {\n position: absolute;\n box-shadow: 1px 2px 5px 2px rgba(51, 51, 51, 0.15);\n background: #fff;\n z-index: 100;\n width: 260px;\n pointer-events: auto;\n overflow: auto;\n}\n.x-spreadsheet-suggest {\n width: 200px;\n}\n.x-spreadsheet-filter {\n border: 1px solid #e9e9e9;\n font-size: 12px;\n margin: 10px;\n}\n.x-spreadsheet-filter .x-spreadsheet-header {\n padding: 0.5em 0.75em;\n background: #f8f8f9;\n border-bottom: 1px solid #e9e9e9;\n border-left: 1px solid transparent;\n}\n.x-spreadsheet-filter .x-spreadsheet-body {\n height: 200px;\n overflow-y: auto;\n}\n.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item {\n height: 20px;\n line-height: 20px;\n}\n.x-spreadsheet-sort-filter .x-spreadsheet-buttons {\n margin: 10px;\n}\n.x-spreadsheet-toolbar,\n.x-spreadsheet-bottombar {\n height: 40px;\n padding: 0 30px;\n text-align: left;\n background: #f5f6f7;\n display: flex;\n}\n.x-spreadsheet-bottombar {\n position: relative;\n border-top: 1px solid #e0e2e4;\n}\n.x-spreadsheet-bottombar .x-spreadsheet-menu > li {\n line-height: 40px;\n height: 40px;\n padding-top: 0;\n padding-bottom: 0;\n vertical-align: middle;\n border-right: 1px solid #e8eaed;\n}\n.x-spreadsheet-menu {\n list-style: none;\n margin: 0;\n padding: 0;\n user-select: none;\n}\n.x-spreadsheet-menu > li {\n float: left;\n line-height: 1.25em;\n padding: 0.785em 1em;\n margin: 0;\n vertical-align: middle;\n text-align: left;\n font-weight: 400;\n color: #80868b;\n white-space: nowrap;\n cursor: pointer;\n transition: all 0.3s;\n font-weight: bold;\n}\n.x-spreadsheet-menu > li.active {\n background-color: #fff;\n color: rgba(0, 0, 0, 0.65);\n}\n.x-spreadsheet-menu > li .x-spreadsheet-icon {\n margin: 0 6px;\n}\n.x-spreadsheet-menu > li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover {\n opacity: 0.85;\n}\n.x-spreadsheet-menu > li .x-spreadsheet-dropdown {\n display: inline-block;\n}\n.x-spreadsheet-toolbar {\n border-bottom: 1px solid #e0e2e4;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns {\n display: inline-flex;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more {\n padding: 0 6px 6px;\n text-align: left;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider {\n margin-top: 0;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn {\n flex: 0 0 auto;\n display: inline-block;\n border: 1px solid transparent;\n height: 26px;\n line-height: 26px;\n min-width: 26px;\n margin: 6px 1px 0;\n padding: 0;\n text-align: center;\n border-radius: 2px;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover,\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active {\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn .x-spreadsheet-dropdown-header .icon-align-left,\n.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn .x-spreadsheet-dropdown-header .icon-align-middle {\n display: inline-block;\n}\n.x-spreadsheet-toolbar-divider {\n display: inline-block;\n border-right: 1px solid #e0e2e4;\n width: 0;\n vertical-align: middle;\n height: 18px;\n margin: 12px 3px 0;\n}\n.x-spreadsheet-print {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 100;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.x-spreadsheet-print-bar {\n background: #424242;\n height: 60px;\n line-height: 60px;\n padding: 0 30px;\n}\n.x-spreadsheet-print-bar .-title {\n color: #fff;\n font-weight: bold;\n font-size: 1.2em;\n float: left;\n}\n.x-spreadsheet-print-bar .-right {\n float: right;\n margin-top: 12px;\n}\n.x-spreadsheet-print-content {\n display: flex;\n flex: auto;\n flex-direction: row;\n background: #d0d0d0;\n height: calc(100% - 60px);\n}\n.x-spreadsheet-print-content .-sider {\n flex: 0 0 300px;\n width: 300px;\n border-left: 2px solid #ccc;\n background: #fff;\n}\n.x-spreadsheet-print-content .-content {\n flex: auto;\n overflow-x: auto;\n overflow-y: scroll;\n height: 100%;\n}\n.x-spreadsheet-canvas-card-wraper {\n margin: 40px 20px;\n}\n.x-spreadsheet-canvas-card {\n background: #fff;\n margin: auto;\n page-break-before: auto;\n page-break-after: always;\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.2);\n}\n.x-spreadsheet-calendar {\n color: rgba(0, 0, 0, 0.65);\n background: #ffffff;\n user-select: none;\n}\n.x-spreadsheet-calendar .calendar-header {\n font-weight: 700;\n line-height: 30px;\n text-align: center;\n width: 100%;\n float: left;\n background: #f9fafb;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-left {\n padding-left: 5px;\n float: left;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right {\n float: right;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right a {\n padding: 3px 0;\n margin-right: 2px;\n border-radius: 2px;\n}\n.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-calendar .calendar-body {\n border-collapse: collapse;\n border-spacing: 0;\n}\n.x-spreadsheet-calendar .calendar-body th,\n.x-spreadsheet-calendar .calendar-body td {\n width: 14.28571429%;\n min-width: 32px;\n text-align: center;\n font-weight: 700;\n line-height: 30px;\n padding: 0;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell:hover {\n background: #ecf6fd;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell.active,\n.x-spreadsheet-calendar .calendar-body td > .cell.active:hover {\n background: #ecf6fd;\n color: #2185D0;\n}\n.x-spreadsheet-calendar .calendar-body td > .cell.disabled {\n pointer-events: none;\n opacity: 0.5;\n}\n.x-spreadsheet-datepicker {\n box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);\n position: absolute;\n left: 0;\n top: calc(100% + 5px);\n z-index: 10;\n width: auto;\n}\n.x-spreadsheet-buttons {\n display: flex;\n justify-content: flex-end;\n}\n.x-spreadsheet-buttons .x-spreadsheet-button {\n margin-left: 8px;\n}\n.x-spreadsheet-button {\n display: inline-block;\n border-radius: 3px;\n line-height: 1em;\n min-height: 1em;\n white-space: nowrap;\n text-align: center;\n cursor: pointer;\n font-size: 1em;\n font-weight: 700;\n padding: 0.75em 1em;\n color: rgba(0, 0, 0, 0.6);\n background: #E0E1E2;\n text-decoration: none;\n font-family: \"Lato\", \"proxima-nova\", \"Helvetica Neue\", Arial, sans-serif;\n outline: none;\n vertical-align: baseline;\n zoom: 1;\n user-select: none;\n transition: all 0.1s linear;\n}\n.x-spreadsheet-button.active,\n.x-spreadsheet-button:hover {\n background-color: #C0C1C2;\n color: rgba(0, 0, 0, 0.8);\n}\n.x-spreadsheet-button.primary {\n color: #fff;\n background-color: #2185D0;\n}\n.x-spreadsheet-button.primary:hover,\n.x-spreadsheet-button.primary.active {\n color: #fff;\n background-color: #1678c2;\n}\n.x-spreadsheet-form-input {\n font-size: 1em;\n position: relative;\n font-weight: 400;\n display: inline-flex;\n color: rgba(0, 0, 0, 0.87);\n}\n.x-spreadsheet-form-input input {\n z-index: 1;\n margin: 0;\n max-width: 100%;\n flex: 1 0 auto;\n outline: 0;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n text-align: left;\n line-height: 30px;\n height: 30px;\n padding: 0 8px;\n background: #fff;\n border: 1px solid #e9e9e9;\n border-radius: 3px;\n transition: box-shadow 0.1s ease, border-color 0.1s ease;\n box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06);\n}\n.x-spreadsheet-form-input input:focus {\n border-color: var(--accent-color);\n box-shadow: inset 0 1px 2px rgba(var(--accent-color), 0.2);\n}\n.x-spreadsheet-form-select {\n position: relative;\n display: inline-block;\n background: #fff;\n border: 1px solid #e9e9e9;\n border-radius: 2px;\n cursor: pointer;\n color: rgba(0, 0, 0, 0.87);\n user-select: none;\n box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.06);\n}\n.x-spreadsheet-form-select .input-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 60px;\n width: auto;\n height: 30px;\n line-height: 30px;\n padding: 0 8px;\n}\n.x-spreadsheet-form-fields {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.x-spreadsheet-form-fields .x-spreadsheet-form-field {\n flex: 0 1 auto;\n}\n.x-spreadsheet-form-fields .x-spreadsheet-form-field .label {\n display: inline-block;\n margin: 0 10px 0 0;\n}\n.x-spreadsheet-form-field {\n display: block;\n vertical-align: middle;\n margin-left: 10px;\n margin-bottom: 10px;\n}\n.x-spreadsheet-form-field:first-child {\n margin-left: 0;\n}\n.x-spreadsheet-form-field.error .x-spreadsheet-form-select,\n.x-spreadsheet-form-field.error input {\n border-color: #f04134;\n}\n.x-spreadsheet-form-field .tip {\n color: #f04134;\n font-size: 0.9em;\n}\n.x-spreadsheet-dimmer {\n display: none;\n position: absolute;\n top: 0 !important;\n left: 0 !important;\n width: 100%;\n height: 100%;\n text-align: center;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.6);\n opacity: 0;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n -webkit-animation-duration: 0.5s;\n animation-duration: 0.5s;\n transition: background-color 0.5s linear;\n user-select: none;\n z-index: 1000;\n}\n.x-spreadsheet-dimmer.active {\n display: block;\n opacity: 1;\n}\nform fieldset {\n border: none;\n}\nform fieldset label {\n display: block;\n margin-bottom: 0.5em;\n font-size: 1em;\n color: #666;\n}\nform fieldset select {\n font-size: 1.1em;\n width: 100%;\n background-color: #fff;\n border: none;\n border-bottom: 2px solid #ddd;\n padding: 0.5em 0.85em;\n border-radius: 2px;\n}\n.x-spreadsheet-modal,\n.x-spreadsheet-toast {\n font-size: 13px;\n position: fixed;\n z-index: 1001;\n text-align: left;\n line-height: 1.25em;\n min-width: 360px;\n color: rgba(0, 0, 0, 0.87);\n font-family: 'Lato', 'Source Sans Pro', Roboto, Helvetica, Arial, sans-serif;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n background-color: #fff;\n background-clip: padding-box;\n box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 8px;\n}\n.x-spreadsheet-toast {\n background-color: rgba(255, 255, 255, 0.85);\n}\n.x-spreadsheet-modal-header,\n.x-spreadsheet-toast-header {\n font-weight: 600;\n background-clip: padding-box;\n background-color: rgba(255, 255, 255, 0.85);\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-radius: 4px 4px 0 0;\n}\n.x-spreadsheet-modal-header .x-spreadsheet-icon,\n.x-spreadsheet-toast-header .x-spreadsheet-icon {\n position: absolute;\n right: 0.8em;\n top: 0.65em;\n border-radius: 18px;\n}\n.x-spreadsheet-modal-header .x-spreadsheet-icon:hover,\n.x-spreadsheet-toast-header .x-spreadsheet-icon:hover {\n opacity: 1;\n background: rgba(0, 0, 0, 0.08);\n}\n.x-spreadsheet-toast-header {\n color: #F2711C;\n}\n.x-spreadsheet-modal-header {\n border-bottom: 1px solid #e0e2e4;\n background: rgba(0, 0, 0, 0.08);\n font-size: 1.0785em;\n}\n.x-spreadsheet-modal-header,\n.x-spreadsheet-modal-content,\n.x-spreadsheet-toast-header,\n.x-spreadsheet-toast-content {\n padding: 0.75em 1em;\n}\n@media screen and (min-width: 320px) and (max-width: 480px) {\n .x-spreadsheet-toolbar {\n display: none;\n }\n}\n.x-spreadsheet-icon {\n width: 18px;\n height: 18px;\n margin: 1px 1px 2px 1px;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n overflow: hidden;\n position: relative;\n display: inline-block;\n line-height: 0;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/xspreadsheet.js b/dist/xspreadsheet.js index 10f544688..b7c2c1c6c 100644 --- a/dist/xspreadsheet.js +++ b/dist/xspreadsheet.js @@ -1,2 +1,2 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){},function(t,e,n){},function(t,e,n){"use strict";function r(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),"string"==typeof e?(this.el=document.createElement(e),this.el.className=n):this.el=e,this.data={}}var e,n,o;return e=t,(n=[{key:"data",value:function(t,e){return void 0!==e?(this.data[t]=e,this):this.data[t]}},{key:"on",value:function(t,e){var n=r(t.split(".")),i=n[0],o=n.slice(1),a=i;return"mousewheel"===a&&/Firefox/i.test(window.navigator.userAgent)&&(a="DOMMouseScroll"),this.el.addEventListener(a,function(t){e(t);for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"active";return this.toggleClass(t)}},{key:"toggleClass",value:function(t){return this.el.classList.toggle(t)}},{key:"active",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"active";return t?this.addClass(e):this.removeClass(e),this}},{key:"checked",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.active(t,"checked"),this}},{key:"disabled",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t?this.addClass("disabled"):this.removeClass("disabled"),this}},{key:"attr",value:function(t,e){var n=this;if(void 0!==e)this.el.setAttribute(t,e);else{if("string"==typeof t)return this.el.getAttribute(t);Object.keys(t).forEach(function(e){n.el.setAttribute(e,t[e])})}return this}},{key:"removeAttr",value:function(t){return this.el.removeAttribute(t),this}},{key:"html",value:function(t){return void 0!==t?(this.el.innerHTML=t,this):this.el.innerHTML}},{key:"val",value:function(t){return void 0!==t?(this.el.value=t,this):this.el.value}},{key:"focus",value:function(){this.el.focus()}},{key:"cssRemoveKeys",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:"";return new o(t,e)};n(0);function l(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var c=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function s(t){for(var e="",n=t;n>=c.length;)n/=c.length,n-=1,e+=c[parseInt(n,10)%c.length];var r=t%c.length;return e+=c[r]}function u(t){for(var e=0,n=0;n="0"&&t.charAt(r)<="9"?n+=t.charAt(r):e+=t.charAt(r);return[u(e),parseInt(n,10)-1]}function h(t,e){return"".concat(s(t)).concat(e+1)}function p(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};if(0===e&&0===n)return t;var i=l(f(t),2),o=i[0],a=i[1];return r(o,a)?h(o+e,a+n):t}function d(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function y(t,e){for(var n=0;n4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sri=e,this.sci=n,this.eri=r,this.eci=i,this.w=o,this.h=a}var e,n,r;return e=t,r=[{key:"valueOf",value:function(e){var n=e.split(":"),r=d(f(n[0]),2),i=r[0],o=r[1],a=o,l=i;if(n.length>1){var c=d(f(n[1]),2);l=c[0],a=c[1]}return new t(o,i,a,l)}}],(n=[{key:"set",value:function(t,e,n,r){this.sri=t,this.sci=e,this.eri=n,this.eci=r}},{key:"multiple",value:function(){return this.eri-this.sri>0||this.eci-this.sci>0}},{key:"includes",value:function(){for(var t=0,e=0,n=arguments.length,r=new Array(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=this.sri,r=this.sci,i=this.eri,o=this.eci,a=n;a<=i;a+=1)if(e(a))for(var l=r;l<=o;l+=1)t(a,l)}},{key:"contains",value:function(t){return this.sri<=t.sri&&this.sci<=t.sci&&this.eri>=t.eri&&this.eci>=t.eci}},{key:"within",value:function(t){return this.sri>=t.sri&&this.sci>=t.sci&&this.eri<=t.eri&&this.eci<=t.eci}},{key:"disjoint",value:function(t){return this.sri>t.eri||this.sci>t.eci||t.sri>this.eri||t.sci>this.eci}},{key:"intersects",value:function(t){return this.sri<=t.eri&&this.sci<=t.eci&&t.sri<=this.eri&&t.sci<=this.eci}},{key:"union",value:function(e){var n=this.sri,r=this.sci,i=this.eri,o=this.eci;return new t(e.srii?e.eri:i,e.eci>o?e.eci:o)}},{key:"difference",value:function(e){var n=[],r=function(e,r,i,o){n.push(new t(e,r,i,o))},i=this.sri,o=this.sci,a=this.eri,l=this.eci,c=e.sri-i,s=e.sci-o,u=a-e.eri,f=l-e.eci;return c>0?(r(i,o,e.sri-1,l),u>0?(r(e.eri+1,o,a,l),s>0&&r(e.sri,o,e.eri,e.sci-1),f>0&&r(e.sri,e.eci+1,e.eri,l)):(s>0&&r(e.sri,o,a,e.sci-1),f>0&&r(e.sri,e.eci+1,a,l))):u>0&&(r(e.eri+1,o,a,l),s>0&&r(i,o,e.eri,e.sci-1),f>0&&r(i,e.eci+1,e.eri,l)),s>0?(r(i,o,a,e.sci-1),f>0?(r(i,e.eri+1,a,l),c>0&&r(i,e.sci,e.sri-1,e.eci),u>0&&r(e.sri+1,e.sci,a,e.eci)):(c>0&&r(i,e.sci,e.sri-1,l),u>0&&r(e.sri+1,e.sci,a,l))):f>0&&(r(a,e.eci+1,a,l),c>0&&r(i,o,e.sri-1,e.eci),u>0&&r(e.eri+1,o,a,e.eci)),n}},{key:"size",value:function(){return[this.eri-this.sri+1,this.eci-this.sci+1]}},{key:"toString",value:function(){var t=this.sri,e=this.sci,n=this.eri,r=this.eci,i=h(e,t);return this.multiple()&&(i="".concat(i,":").concat(h(r,n))),i}},{key:"clone",value:function(){return new t(this.sri,this.sci,this.eri,this.eci,this.w,this.h)}},{key:"equals",value:function(t){return this.eri===t.eri&&this.eci===t.eci&&this.sri===t.sri&&this.sci===t.sci}}])&&y(e.prototype,n),r&&y(e,r),t}();function b(t,e){for(var n=0;n0}},{key:"canRedo",value:function(){return this.redoItems.length>0}},{key:"undo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canUndo()&&(r.push(JSON.stringify(t)),e(JSON.parse(n.pop())))}},{key:"redo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canRedo()&&(n.push(JSON.stringify(t)),e(JSON.parse(r.pop())))}}])&&w(e.prototype,n),r&&w(e,r),t}();function O(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._=e}var e,n,r;return e=t,(n=[{key:"forEach",value:function(t){this._.forEach(t)}},{key:"deleteWithin",value:function(t){this._=this._.filter(function(e){return!e.within(t)})}},{key:"getFirstIncludes",value:function(t,e){for(var n=0;n=e?(s.sri+=n,s.eri+=n):o=e?(s.sci+=n,s.eci+=n):a0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i5?l.toFixed(2):l;return l.toFixed(Math.max(r,i))}var z={cloneDeep:function(t){return JSON.parse(JSON.stringify(t))},merge:function(){for(var t=arguments.length,e=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:function(t){return t},n=0,r=0;return Object.keys(t).forEach(function(i){n+=e(t[i],i),r+=1}),[n,r]},rangeEach:function(t,e,n){for(var r=t;ri);c+=1)a+=l=o(c);return[c,a-l,l]},deleteProperty:function(t,e){var n=t["".concat(e)];return delete t["".concat(e)],n},numberCalc:I};function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function M(t,e){for(var n=0;n0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this.get(t);return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumHeight",value:function(t,e,n){var r=this;return z.rangeSum(t,e,function(t){return n&&n.has(t)?0:r.getHeight(t)})}},{key:"totalHeight",value:function(){return this.sumHeight(0,this.len)}},{key:"get",value:function(t){return this._[t]}},{key:"getOrNew",value:function(t){return this._[t]=this._[t]||{cells:{}},this._[t]}},{key:"getCell",value:function(t,e){var n=this.get(t);return void 0!==n&&void 0!==n.cells&&void 0!==n.cells[e]?n.cells[e]:null}},{key:"getCellMerge",value:function(t,e){var n=this.getCell(t,e);return n&&n.merge?n.merge:[0,0]}},{key:"getCellOrNew",value:function(t,e){var n=this.getOrNew(t);return n.cells[e]=n.cells[e]||{},n.cells[e]}},{key:"setCell",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"all",i=this.getOrNew(t);"all"===r?i.cells[e]=n:"text"===r?(i.cells[e]=i.cells[e]||{},i.cells[e].text=n.text):"format"===r&&(i.cells[e]=i.cells[e]||{},i.cells[e].style=n.style,n.merge&&(i.cells[e].merge=n.merge))}},{key:"setCellText",value:function(t,e,n){var r=this.getCellOrNew(t,e);!1!==r.editable&&(r.text=n)}},{key:"copyPaste",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=t.sri,a=t.sci,l=t.eri,c=t.eci,s=e.sri,u=e.sci,f=e.eri,h=e.eci,d=t.size(),y=H(d,2),v=y[0],b=y[1],g=e.size(),m=H(g,2),w=m[0],k=m[1],O=!0,S=0;(f0&&function(){var t=P.text,e=_-u+(j-s)+2;if(O||(e-=S+1),"="===t[0])P.text=t.replace(/[a-zA-Z]{1,3}\d+/g,function(t){var n=0,r=0;return o===s?n=e-1:r=e-1,/^\d+$/.test(t)?t:p(t,n,r)});else if(v<=1&&b>1&&(s>l||f1&&(u>c||h1&&void 0!==arguments[1]?arguments[1]:1,r={};this.each(function(i,o){var a=parseInt(i,10);a>=t&&(a+=n,e.eachCells(i,function(e,r){r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return p(e,0,n,function(e,n){return n>=t})}))})),r[a]=o}),this._=r,this.len+=n}},{key:"delete",value:function(t,e){var n=this,r=e-t+1,i={};this.each(function(o,a){var l=parseInt(o,10);le&&(i[l-r]=a,n.eachCells(o,function(t,n){n.text&&"="===n.text[0]&&(n.text=n.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return p(t,0,-r,function(t,n){return n>e})}))}))}),this._=i,this.len-=r}},{key:"insertColumn",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.each(function(r,i){var o={};e.eachCells(r,function(e,r){var i=parseInt(e,10);i>=t&&(i+=n,r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return p(e,n,0,function(e){return e>=t})}))),o[i]=r}),i.cells=o})}},{key:"deleteColumn",value:function(t,e){var n=this,r=e-t+1;this.each(function(i,o){var a={};n.eachCells(i,function(n,i){var o=parseInt(n,10);oe&&(a[o-r]=i,i.text&&"="===i.text[0]&&(i.text=i.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return p(t,-r,0,function(t){return t>e})})))}),o.cells=a})}},{key:"deleteCells",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";t.each(function(t,r){e.deleteCell(t,r,n)})}},{key:"deleteCell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",r=this.get(t);if(null!==r){var i=this.getCell(t,e);null!==i&&!1!==i.editable&&("all"===n?delete r.cells[e]:"text"===n?(i.text&&delete i.text,i.value&&delete i.value):"format"===n?(void 0!==i.style&&delete i.style,i.merge&&delete i.merge):"merge"===n&&i.merge&&delete i.merge)}}},{key:"maxCell",value:function(){var t=Object.keys(this._),e=t[t.length-1],n=this._[e];if(n){var r=n.cells,i=Object.keys(r),o=i[i.length-1];return[parseInt(e,10),parseInt(o,10)]}return[0,0]}},{key:"each",value:function(t){Object.entries(this._).forEach(function(e){var n=H(e,2),r=n[0],i=n[1];t(r,i)})}},{key:"eachCells",value:function(t,e){this._[t]&&this._[t].cells&&Object.entries(this._[t].cells).forEach(function(t){var n=H(t,2),r=n[0],i=n[1];e(r,i)})}},{key:"setData",value:function(t){t.len&&(this.len=t.len,delete t.len),this._=t}},{key:"getData",value:function(){var t=this.len;return Object.assign({len:t},this._)}}])&&M(e.prototype,n),r&&M(e,r),t}();function F(t,e){for(var n=0;n0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this._[t];return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumWidth",value:function(t,e){var n=this;return z.rangeSum(t,e,function(t){return n.getWidth(t)})}},{key:"totalWidth",value:function(){return this.sumWidth(0,this.len)}}])&&F(e.prototype,n),r&&F(e,r),t}(),V=["en"],q={en:{toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}}};function B(t,e){if(e)for(var n=0,r=V;n2&&void 0!==arguments[2]&&arguments[2]?V=[t]:V.unshift(t),e&&(q[t]=e)}function $(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function X(t,e){for(var n=0;n2?r-2:0),o=2;o=this.parseValue(l)&&o<=this.parseValue(c),"between",l,c)}if("nbe"===n){var s=$(r,2),u=s[0],f=s[1];return K(othis.parseValue(f),"notBetween",u,f)}if("eq"===n)return K(o===this.parseValue(r),"equal",r);if("neq"===n)return K(o!==this.parseValue(r),"notEqual",r);if("lt"===n)return K(othis.parseValue(r),"greaterThan",r);if("gte"===n)return K(o>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}])&&X(e.prototype,n),r&&X(e,r),t}();function G(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Q(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function tt(t,e){for(var n=0;n0}).map(function(t){return t.getData()})}},{key:"setData",value:function(t){this._=t.map(function(t){return nt.valueOf(t)})}}]),t}();function it(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:function(){},r=this.merges,i=e.clone(),o=at(t.size(),2),a=o[0],l=o[1],c=at(e.size(),2),s=c[0],u=c[1];return a>s&&(i.eri=e.sri+a-1),l>u&&(i.eci=e.sci+l-1),!r.intersects(i)||(n(L("error.pasteForMergedCell")),!1)}function ut(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.rows,o=this.merges;"all"!==n&&"format"!==n||(i.deleteCells(e,n),o.deleteWithin(e)),i.copyPaste(t,e,n,r,function(t,e,n){if(n&&n.merge){var r=at(n.merge,2),i=r[0],a=r[1];if(i<=0&&a<=0)return;o.add(new v(t,e,t+i,e+a))}})}function ft(t,e){var n=this.clipboard,r=this.rows,i=this.merges;r.cutPaste(t,e),i.move(t,e.sri-t.sri,e.sci-t.sci),n.clear()}function ht(t,e,n){var r=this.styles,i=this.rows.getCellOrNew(t,e),o={};void 0!==i.style&&(o=z.cloneDeep(r[i.style])),o=z.merge(o,{border:n}),i.style=this.addStyle(o)}var pt=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.settings=z.merge(lt,n||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new A,this.rows=new N(this.settings.row),this.cols=new W(this.settings.col),this.validations=new rt,this.hyperlinks={},this.comments={},this.selector=new g,this.scroll=new m,this.history=new k,this.clipboard=new S,this.autoFilter=new T,this.change=function(){},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}var e,n,r;return e=t,(n=[{key:"addValidation",value:function(t,e,n){var r=this;this.changeData(function(){r.validations.add(t,e,n)})}},{key:"removeValidation",value:function(){var t=this,e=this.selector.range;this.changeData(function(){t.validations.remove(e)})}},{key:"getSelectedValidator",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=this.validations.get(e,n);return r?r.validator:null}},{key:"getSelectedValidation",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=t.range,i=this.validations.get(e,n),o={ref:r.toString()};return null!==i&&(o.mode=i.mode,o.validator=i.validator),o}},{key:"canUndo",value:function(){return this.history.canUndo()}},{key:"canRedo",value:function(){return this.history.canRedo()}},{key:"undo",value:function(){var t=this;this.history.undo(this.getData(),function(e){t.setData(e)})}},{key:"redo",value:function(){var t=this;this.history.redo(this.getData(),function(e){t.setData(e)})}},{key:"copy",value:function(){this.clipboard.copy(this.selector.range)}},{key:"copyToSystemClipboard",value:function(){if(void 0!==navigator.clipboard){for(var t="",e=this.rows.getData(),n=this.selector.range.sri;n<=this.selector.range.eri;n+=1){if(ct(e,n)){for(var r=this.selector.range.sci;r<=this.selector.range.eci;r+=1)if(r>this.selector.range.sci&&(t+="\t"),ct(e[n].cells,r)){var i=String(e[n].cells[r].text);-1===i.indexOf("\n")&&-1===i.indexOf("\t")&&-1===i.indexOf('"')?t+=i:t+='"'.concat(i,'"')}}else for(var o=this.selector.range.sci;o<=this.selector.range.eci;o+=1)t+="\t";t+="\n"}navigator.clipboard.writeText(t).then(function(){},function(e){console.log("text copy to the system clipboard error ",t,e)})}}},{key:"cut",value:function(){this.clipboard.cut(this.selector.range)}},{key:"paste",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=this.clipboard,i=this.selector;return!r.isClear()&&(!!st.call(this,r.range,i.range,n)&&(this.changeData(function(){r.isCopy()?ut.call(t,r.range,i.range,e):r.isCut()&&ft.call(t,r.range,i.range)}),!0))}},{key:"pasteFromText",value:function(t){var e=t.split("\r\n").map(function(t){return t.replace(/"/g,"").split("\t")});e.length>0&&(e.length-=1);var n=this.rows,r=this.selector;this.changeData(function(){n.paste(e,r.range)})}},{key:"autofill",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=this.selector.range;return!!st.call(this,i,t,r)&&(this.changeData(function(){ut.call(n,i,t,e,!0)}),!0)}},{key:"clearClipboard",value:function(){this.clipboard.clear()}},{key:"calSelectedRangeByEnd",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges,a=n.range,l=a.sri,c=a.sci,s=a.eri,u=a.eci,f=n.ri,h=n.ci,p=t,d=e;return t<0&&(p=r.len-1),e<0&&(d=i.len-1),p>f?(l=f,s=p):(l=p,s=f),d>h?(c=h,u=d):(c=d,u=h),n.range=o.union(new v(l,c,s,u)),n.range=o.union(n.range),n.range}},{key:"calSelectedRangeByStart",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges.getFirstIncludes(t,e);return null===o&&(o=new v(t,e,t,e),-1===t&&(o.sri=0,o.eri=r.len-1),-1===e&&(o.sci=0,o.eci=i.len-1)),n.range=o,o}},{key:"setSelectedCellAttr",value:function(t,e){var n=this;this.changeData(function(){var r=n.selector,i=n.styles,o=n.rows;if("merge"===t)e?n.merge():n.unmerge();else if("border"===t)(function(t){var e=this,n=t.mode,r=t.style,i=t.color,o=this.styles,a=this.selector,l=this.rows,c=a.range,s=c.sri,u=c.sci,f=c.eri,h=c.eci,p=!this.isSingleSelected();if(p||"inside"!==n&&"horizontal"!==n&&"vertical"!==n)if("outside"!==n||p){if("none"===n)a.range.each(function(t,n){var r=l.getCell(t,n);if(r&&void 0!==r.style){var i=z.cloneDeep(o[r.style]);delete i.border,r.style=e.addStyle(i)}});else if("all"===n||"inside"===n||"outside"===n||"horizontal"===n||"vertical"===n)!function(){for(var t=[],o=s;o<=f;o+=1)for(var a=u;a<=h;a+=1){for(var c=[],d=0;dh)break;var w=l.getCell(o,a),k=0,O=0;if(w&&w.merge){var S=at(w.merge,2);k=S[0],O=S[1],t.push([o,a,k,O])}var x=k>0&&o+k===f,E=O>0&&a+O===h,j={};"all"===n?j={bottom:[r,i],top:[r,i],left:[r,i],right:[r,i]}:"inside"===n?(!E&&a0&&ht.call(e,o,a,j),a+=O}}();else if("top"===n||"bottom"===n)for(var d=u;d<=h;d+=1)"top"===n&&(ht.call(this,s,d,{top:[r,i]}),d+=l.getCellMerge(s,d)[1]),"bottom"===n&&(ht.call(this,f,d,{bottom:[r,i]}),d+=l.getCellMerge(f,d)[1]);else if("left"===n||"right"===n)for(var y=s;y<=f;y+=1)"left"===n&&(ht.call(this,y,u,{left:[r,i]}),y+=l.getCellMerge(y,u)[0]),"right"===n&&(ht.call(this,y,h,{right:[r,i]}),y+=l.getCellMerge(y,h)[0])}else ht.call(this,s,u,{top:[r,i],bottom:[r,i],left:[r,i],right:[r,i]})}).call(n,e);else if("formula"===t){var a=r.ri,l=r.ci,c=r.range;if(r.multiple()){var s=at(r.size(),2),u=s[0],f=s[1],p=c.sri,d=c.sci,y=c.eri,v=c.eci;if(u>1)for(var b=d;b<=v;b+=1){o.getCellOrNew(y+1,b).text="=".concat(e,"(").concat(h(b,p),":").concat(h(b,y),")")}else if(f>1){o.getCellOrNew(a,v+1).text="=".concat(e,"(").concat(h(d,a),":").concat(h(v,a),")")}}else{o.getCellOrNew(a,l).text="=".concat(e,"()")}}else r.range.each(function(r,a){var l=o.getCellOrNew(r,a),c={};if(void 0!==l.style&&(c=z.cloneDeep(i[l.style])),"format"===t)c.format=e,l.style=n.addStyle(c);else if("font-bold"===t||"font-italic"===t||"font-name"===t||"font-size"===t){var s={};s[t.split("-")[1]]=e,c.font=Object.assign(c.font||{},s),l.style=n.addStyle(c)}else"strike"===t||"textwrap"===t||"underline"===t||"align"===t||"valign"===t||"color"===t||"bgcolor"===t?(c[t]=e,l.style=n.addStyle(c)):l[t]=e})})}},{key:"setSelectedCellText",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"input",n=this.autoFilter,r=this.selector,i=this.rows,o=r.ri,a=r.ci,l=o;this.unsortedRowMap.has(o)&&(l=this.unsortedRowMap.get(o));var c=i.getCell(l,a),s=c?c.text:"";if(this.setCellText(l,a,t,e),n.active()){var u=n.getFilter(a);if(u){var f=u.value.findIndex(function(t){return t===s});f>=0&&u.value.splice(f,1,t)}}}},{key:"getSelectedCell",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=e;return this.unsortedRowMap.has(e)&&(r=this.unsortedRowMap.get(e)),this.rows.getCell(r,n)}},{key:"xyInSelectedRect",value:function(t,e){var n=this.getSelectedRect(),r=n.left,i=n.top,o=n.width,a=n.height,l=t-this.cols.indexWidth,c=e-this.rows.height;return l>r&&li&&c0&&v>s&&(p=s),y>0&&y>u&&(d=u),{l:s,t:u,left:p,top:d,height:f,width:h,scroll:e}}},{key:"getCellRectByXY",value:function(t,e){var n=this.scroll,r=this.merges,i=this.rows,o=this.cols,a=function(t,e){var n=this.rows,r=this.freezeTotalHeight(),i=n.height;r+n.heightt);a+=1)o.has(a)||(l+=c=n.getHeight(a));return(l-=c)<=0?{ri:-1,top:0,height:c}:{ri:a-1,top:l,height:c}}.call(this,e,n.y),l=a.ri,c=a.top,s=a.height,u=function(t,e){var n=this.cols,r=this.freezeTotalWidth(),i=n.indexWidth;r+n.indexWidth=0||f>=0){var d=r.getFirstIncludes(l,f);if(d){l=d.sri,f=d.sci;var y=this.cellRect(l,f);h=y.left,c=y.top,p=y.width,s=y.height}}return{ri:l,ci:f,left:h,top:c,width:p,height:s}}},{key:"isSingleSelected",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=at(o.merge,2),l=a[0],c=a[1];if(e+l===r&&n+c===i)return!0}return!this.selector.multiple()}},{key:"canUnmerge",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=at(o.merge,2),l=a[0],c=a[1];if(e+l===r&&n+c===i)return!0}return!1}},{key:"merge",value:function(){var t=this,e=this.selector,n=this.rows;if(!this.isSingleSelected()){var r=at(e.size(),2),i=r[0],o=r[1];if(i>1||o>1){var a=e.range,l=a.sri,c=a.sci;this.changeData(function(){var r=n.getCellOrNew(l,c);r.merge=[i-1,o-1],t.merges.add(e.range),t.rows.deleteCells(e.range),t.rows.setCell(l,c,r)})}}}},{key:"unmerge",value:function(){var t=this,e=this.selector;if(this.isSingleSelected()){var n=e.range,r=n.sri,i=n.sci;this.changeData(function(){t.rows.deleteCell(r,i,"merge"),t.merges.deleteWithin(e.range)})}}},{key:"canAutofilter",value:function(){return!this.autoFilter.active()}},{key:"autofilter",value:function(){var t=this,e=this.autoFilter,n=this.selector;this.changeData(function(){e.active()?(e.clear(),t.exceptRowSet=new Set,t.sortedRowMap=new Map,t.unsortedRowMap=new Map):e.ref=n.range.toString()})}},{key:"setAutoFilter",value:function(t,e,n,r){var i=this.autoFilter;i.addFilter(t,n,r),i.setSort(t,e),this.resetAutoFilter()}},{key:"resetAutoFilter",value:function(){var t=this,e=this.autoFilter,n=this.rows;if(e.active()){var r=e.sort,i=e.filteredRows(function(t,e){return n.getCell(t,e)}),o=i.rset,a=i.fset,l=Array.from(a),c=Array.from(a);r&&l.sort(function(t,e){return"asc"===r.order?t-e:"desc"===r.order?e-t:0}),this.exceptRowSet=o,this.sortedRowMap=new Map,this.unsortedRowMap=new Map,l.forEach(function(e,n){t.sortedRowMap.set(c[n],e),t.unsortedRowMap.set(e,c[n])})}}},{key:"deleteCell",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=this.selector;this.changeData(function(){t.rows.deleteCells(n.range,e),"all"!==e&&"format"!==e||t.merges.deleteWithin(n.range)})}},{key:"insert",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.changeData(function(){var r=e.selector.range,i=r.sri,o=r.sci,a=e.rows,l=e.merges,c=e.cols,s=i;"row"===t?a.insert(i,n):"column"===t&&(a.insertColumn(o,n),s=o,c.len+=1),l.shift(t,s,n,function(t,e,n,r){var i=a.getCell(t,e);i.merge[0]+=n,i.merge[1]+=r})})}},{key:"delete",value:function(t){var e=this;this.changeData(function(){var n=e.rows,r=e.merges,i=e.selector,o=e.cols,a=i.range,l=i.range,c=l.sri,s=l.sci,u=l.eri,f=l.eci,h=at(i.range.size(),2),p=h[0],d=h[1],y=c,v=p;"row"===t?n.delete(c,u):"column"===t&&(n.deleteColumn(s,f),y=a.sci,v=d,o.len-=f-s+1),r.shift(t,y,-v,function(t,e,r,i){var o=n.getCell(t,e);o.merge[0]+=r,o.merge[1]+=i,0===o.merge[0]&&0===o.merge[1]&&delete o.merge})})}},{key:"scrollx",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.cols,o=at(r,2)[1],a=at(z.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getWidth(t)}),3),l=a[0],c=a[1],s=a[2],u=c;t>0&&(u+=s),n.x!==u&&(n.ci=t>0?l:0,n.x=u,e())}},{key:"scrolly",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.rows,o=at(r,1)[0],a=at(z.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getHeight(t)}),3),l=a[0],c=a[1],s=a[2],u=c;t>0&&(u+=s),n.y!==u&&(n.ri=t>0?l:0,n.y=u,e())}},{key:"cellRect",value:function(t,e){var n=this.rows,r=this.cols,i=r.sumWidth(0,e),o=n.sumHeight(0,t),a=n.getCell(t,e),l=r.getWidth(e),c=n.getHeight(t);if(null!==a&&a.merge){var s=at(a.merge,2),u=s[0],f=s[1];if(u>0)for(var h=1;h<=u;h+=1)c+=n.getHeight(t+h);if(f>0)for(var p=1;p<=f;p+=1)l+=r.getWidth(e+p)}return{left:i,top:o,width:l,height:c,cell:a}}},{key:"getCell",value:function(t,e){return this.rows.getCell(t,e)}},{key:"getCellTextOrDefault",value:function(t,e){var n=this.getCell(t,e);return n&&n.text?n.text:""}},{key:"getCellStyle",value:function(t,e){var n=this.getCell(t,e);return n&&void 0!==n.style?this.styles[n.style]:null}},{key:"getCellStyleOrDefault",value:function(t,e){var n=this.styles,r=this.rows.getCell(t,e),i=r&&void 0!==r.style?n[r.style]:{};return z.merge(this.defaultStyle(),i)}},{key:"getSelectedCellStyle",value:function(){var t=this.selector,e=t.ri,n=t.ci;return this.getCellStyleOrDefault(e,n)}},{key:"setCellText",value:function(t,e,n,r){var i=this.rows,o=this.history,a=this.validations;"finished"===r?(i.setCellText(t,e,""),o.add(this.getData()),i.setCellText(t,e,n)):(i.setCellText(t,e,n),this.change(this.getData())),a.validate(t,e,n)}},{key:"freezeIsActive",value:function(){var t=at(this.freeze,2),e=t[0],n=t[1];return e>0||n>0}},{key:"setFreeze",value:function(t,e){var n=this;this.changeData(function(){n.freeze=[t,e]})}},{key:"freezeTotalWidth",value:function(){return this.cols.sumWidth(0,this.freeze[1])}},{key:"freezeTotalHeight",value:function(){return this.rows.sumHeight(0,this.freeze[0])}},{key:"setRowHeight",value:function(t,e){var n=this;this.changeData(function(){n.rows.setHeight(t,e)})}},{key:"setColWidth",value:function(t,e){var n=this;this.changeData(function(){n.cols.setWidth(t,e)})}},{key:"viewHeight",value:function(){var t=this.settings,e=t.view,n=t.showToolbar,r=t.showBottomBar,i=e.height();return r&&(i-=41),n&&(i-=41),i}},{key:"viewWidth",value:function(){return this.settings.view.width()}},{key:"freezeViewRange",value:function(){var t=at(this.freeze,2),e=t[0],n=t[1];return new v(0,0,e-1,n-1,this.freezeTotalWidth(),this.freezeTotalHeight())}},{key:"contentRange",value:function(){var t=this.rows,e=this.cols,n=at(t.maxCell(),2),r=n[0],i=n[1],o=t.sumHeight(0,r+1),a=e.sumWidth(0,i+1);return new v(0,0,r,i,a,o)}},{key:"exceptRowTotalHeight",value:function(t,e){var n=this.exceptRowSet,r=this.rows,i=Array.from(n),o=0;return i.forEach(function(n){if(ne){var i=r.getHeight(n);o+=i}}),o}},{key:"viewRange",value:function(){var t=this.scroll,e=this.rows,n=this.cols,r=this.freeze,i=this.exceptRowSet,o=t.ri,a=t.ci;o<=0&&(o=at(r,1)[0]);a<=0&&(a=at(r,2)[1]);for(var l=0,c=0,s=[e.len,n.len],u=s[0],f=s[1],h=o;hthis.viewHeight()));h+=1);for(var p=a;pthis.viewWidth()));p+=1);return new v(o,a,u,f,l,c)}},{key:"eachMergesInView",value:function(t,e){this.merges.filterIntersects(t).forEach(function(t){return e(t)})}},{key:"hideRowsOrCols",value:function(){var t=this.rows,e=this.cols,n=this.selector,r=at(n.size(),2),i=r[0],o=r[1],a=n.range,l=a.sri,c=a.sci,s=a.eri,u=a.eci;if(i===t.len)for(var f=c;f<=u;f+=1)e.setHide(f,!0);else if(o===e.len)for(var h=l;h<=s;h+=1)t.setHide(h,!0)}},{key:"unhideRowsOrCols",value:function(t,e){this["".concat(t,"s")].unhide(e)}},{key:"rowEach",value:function(t,e,n){for(var r=0,i=this.rows,o=this.exceptRowSet,a=it(o),l=0,c=0;c0&&(n(s,r,u),(r+=u)>this.viewHeight()))break}}},{key:"colEach",value:function(t,e,n){for(var r=0,i=this.cols,o=t;o<=e;o+=1){var a=i.getWidth(o);if(a>0&&(n(o,r,a),(r+=a)>this.viewWidth()))break}}},{key:"defaultStyle",value:function(){return this.settings.style}},{key:"addStyle",value:function(t){for(var e=this.styles,n=0;nMath.abs(e)?r(t>0?"right":"left",t,n):r(e>0?"down":"up",e,n)}var kt="x-spreadsheet";window.devicePixelRatio;function Ot(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1?arguments[1]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.moving=!1,this.vertical=n,this.el=a("div","".concat(kt,"-resizer ").concat(n?"vertical":"horizontal")).children(this.unhideHoverEl=a("div","".concat(kt,"-resizer-hover")).on("dblclick.stop",function(t){return e.mousedblclickHandler(t)}).css("position","absolute").hide(),this.hoverEl=a("div","".concat(kt,"-resizer-hover")).on("mousedown.stop",function(t){return e.mousedownHandler(t)}),this.lineEl=a("div","".concat(kt,"-resizer-line")).hide()).hide(),this.cRect=null,this.finishedFn=null,this.minDistance=r,this.unhideFn=function(){}}var e,n,r;return e=t,(n=[{key:"showUnhide",value:function(t){this.unhideIndex=t,this.unhideHoverEl.show()}},{key:"hideUnhide",value:function(){this.unhideHoverEl.hide()}},{key:"show",value:function(t,e){var n=this.moving,r=this.vertical,i=this.hoverEl,o=this.lineEl,a=this.el,l=this.unhideHoverEl;if(!n){this.cRect=t;var c=t.left,s=t.top,u=t.width,f=t.height;a.offset({left:r?c+u-5:c,top:r?s:s+f-5}).show(),i.offset({width:r?5:u,height:r?f:5}),o.offset({width:r?0:e.width,height:r?e.height:0}),l.offset({left:r?5-u:c,top:r?s:5-f,width:r?5:u,height:r?f:5})}}},{key:"hide",value:function(){this.el.offset({left:0,top:0}).hide(),this.hideUnhide()}},{key:"mousedblclickHandler",value:function(){this.unhideIndex&&this.unhideFn(this.unhideIndex)}},{key:"mousedownHandler",value:function(t){var e=this,n=t,r=this.el,i=this.lineEl,o=this.cRect,a=this.vertical,l=this.minDistance,c=a?o.width:o.height;i.show(),mt(window,function(t){e.moving=!0,null!==n&&1===t.buttons&&(a?(c+=t.movementX)>l&&r.css("left","".concat(o.left+c,"px")):(c+=t.movementY)>l&&r.css("top","".concat(o.top+c,"px")),n=t)},function(){n=null,i.hide(),e.moving=!1,e.hide(),e.finishedFn&&(cn){var r=this.vertical?"height":"width";this.el.css(r,"".concat(n-15,"px")).show(),this.contentEl.css(this.vertical?"width":"height","1px").css(r,"".concat(e,"px"))}else this.el.hide();return this}}])&&xt(e.prototype,n),r&&xt(e,r),t}();function jt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _t(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];jt(this,t),this.useHideInput=n,this.inputChange=function(){},this.cornerEl=a("div","".concat(kt,"-selector-corner")),this.areaEl=a("div","".concat(kt,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=a("div","".concat(kt,"-selector-clipboard")).hide(),this.autofillEl=a("div","".concat(kt,"-selector-autofill")).hide(),this.el=a("div","".concat(kt,"-selector")).css("z-index","".concat(Tt)).children(this.areaEl,this.clipboardEl,this.autofillEl).hide(),n&&(this.hideInput=a("input","").on("compositionend",function(t){e.inputChange(t.target.value)}),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput)),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput))),Tt+=1}return Ct(t,[{key:"setOffset",value:function(t){return this.el.offset(t).show(),this}},{key:"hide",value:function(){return this.el.hide(),this}},{key:"setAreaOffset",value:function(t){var e=t.left,n=t.top,r={width:t.width-3+.8,height:t.height-3+.8,left:e-.8,top:n-.8};this.areaEl.offset(r).show(),this.useHideInput&&(this.hideInputDiv.offset(r),this.hideInput.val("").focus())}},{key:"setClipboardOffset",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.clipboardEl.offset({left:e,top:n,width:r-5,height:i-5})}},{key:"showAutofill",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.autofillEl.offset({width:r-3,height:i-3,left:e,top:n}).show()}},{key:"hideAutofill",value:function(){this.autofillEl.hide()}},{key:"showClipboard",value:function(){this.clipboardEl.show()}},{key:"hideClipboard",value:function(){this.clipboardEl.hide()}}]),t}();function At(t){var e=this.data,n=t.left,r=t.top,i=t.width,o=t.height,a=t.scroll,l=t.l,c=t.t,s=e.freezeTotalWidth(),u=e.freezeTotalHeight(),f=n-s;s>l&&(f-=a.x);var h=r-u;return u>c&&(h-=a.y),{left:f,top:h,width:i,height:o}}function Rt(t){var e=this.data,n=t.left,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,c=e.freezeTotalWidth(),s=n-c;return c>o&&(s-=l.x),{left:s,top:a,width:r,height:i}}function Dt(t){var e=this.data,n=t.top,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,c=e.freezeTotalHeight(),s=n-c;return c>a&&(s-=l.y),{left:o,top:s,width:r,height:i}}function It(t){this.br.setAreaOffset(At.call(this,t))}function zt(t){this.t.setAreaOffset(Rt.call(this,t))}function Ht(t){this.l.setAreaOffset(Dt.call(this,t))}function Mt(t){this.l.setClipboardOffset(Dt.call(this,t))}function Nt(t){this.br.setClipboardOffset(At.call(this,t))}function Ft(t){this.t.setClipboardOffset(Rt.call(this,t))}function Wt(t){It.call(this,t),function(t){this.tl.setAreaOffset(t)}.call(this,t),zt.call(this,t),Ht.call(this,t)}function Vt(t){Nt.call(this,t),function(t){this.tl.setClipboardOffset(t)}.call(this,t),Ft.call(this,t),Mt.call(this,t)}var qt=function(){function t(e){var n=this;jt(this,t),this.inputChange=function(){},this.data=e,this.br=new Pt(!0),this.t=new Pt,this.l=new Pt,this.tl=new Pt,this.br.inputChange=function(t){n.inputChange(t)},this.br.el.show(),this.offset=null,this.areaOffset=null,this.indexes=null,this.range=null,this.arange=null,this.el=a("div","".concat(kt,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,Tt+=1}return Ct(t,[{key:"resetData",value:function(t){this.data=t,this.range=t.selector.range,this.resetAreaOffset()}},{key:"hide",value:function(){this.el.hide()}},{key:"resetOffset",value:function(){var t=this.data,e=this.tl,n=this.t,r=this.l,i=this.br,o=t.freezeTotalHeight(),a=t.freezeTotalWidth();o>0||a>0?(e.setOffset({width:a,height:o}),n.setOffset({left:a,height:o}),r.setOffset({top:o,width:a}),i.setOffset({left:a,top:o})):(e.hide(),n.hide(),r.hide(),i.setOffset({left:0,top:0}))}},{key:"resetAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Wt.call(this,t),Vt.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();It.call(this,t),zt.call(this,t),Nt.call(this,e),Ft.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();It.call(this,t),Ht.call(this,t),Nt.call(this,e),Mt.call(this,e),this.resetOffset()}},{key:"set",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=r.calSelectedRangeByStart(t,e),o=i.sri,a=i.sci;if(n){var l=t,c=e;t<0&&(l=0),e<0&&(c=0),r.selector.setIndexes(l,c),this.indexes=[l,c]}this.moveIndexes=[o,a],this.range=i,this.resetAreaOffset(),this.el.show()}},{key:"setEnd",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=this.lastri,o=this.lastci;if(n){if(t===i&&e===o)return;this.lastri=t,this.lastci=e}this.range=r.calSelectedRangeByEnd(t,e),Wt.call(this,this.data.getSelectedRect())}},{key:"reset",value:function(){var t=this.data.selector.range,e=t.eri,n=t.eci;this.setEnd(e,n)}},{key:"showAutofill",value:function(t,e){if(-1!==t||-1!==e){var n=this.range,r=n.sri,i=n.sci,o=n.eri,a=n.eci,l=t,c=e,s=r-t,u=o-t,f=a-e;if(i-e>0)this.arange=new v(r,c,o,i-1);else if(s>0)this.arange=new v(l,i,r-1,a);else if(f<0)this.arange=new v(r,a+1,o,c);else{if(!(u<0))return void(this.arange=null);this.arange=new v(o+1,i,l,a)}if(null!==this.arange){var h=this.data.getRect(this.arange);h.width+=2,h.height+=2;var p=this.br,d=this.l,y=this.t,b=this.tl;p.showAutofill(At.call(this,h)),d.showAutofill(Dt.call(this,h)),y.showAutofill(Rt.call(this,h)),b.showAutofill(h)}}}},{key:"hideAutofill",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideAutofill()})}},{key:"showClipboard",value:function(){var t=this,e=this.data.getClipboardRect();Vt.call(this,e),["br","l","t","tl"].forEach(function(e){t[e].showClipboard()})}},{key:"hideClipboard",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideClipboard()})}}]),t}();function Bt(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"200px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.filterItems=[],this.items=e,this.el=a("div","".concat(kt,"-suggest")).css("width",r).hide(),this.itemClick=n,this.itemIndex=-1}var e,n,r;return e=t,(n=[{key:"setOffset",value:function(t){this.el.cssRemoveKeys("top","bottom").offset(t)}},{key:"hide",value:function(){var t=this.el;this.filterItems=[],this.itemIndex=-1,t.hide(),bt(this.el.parent())}},{key:"setItems",value:function(t){this.items=t}},{key:"search",value:function(t){var e,n=this,r=this.items;if(/^\s*$/.test(t)||(r=r.filter(function(e){return(e.key||e).startsWith(t.toUpperCase())})),r=r.map(function(t){var e=t.title;e?"function"==typeof e&&(e=e()):e=t;var r=a("div","".concat(kt,"-item")).child(e).on("click.stop",function(){n.itemClick(t),n.hide()});return t.label&&r.child(a("div","label").html(t.label)),r}),this.filterItems=r,!(r.length<=0)){var i=this.el;(e=i.html("")).children.apply(e,Bt(r)).show(),gt(i.parent(),function(){n.hide()})}}},{key:"bindInputEvents",value:function(t){var e=this;t.on("keydown",function(t){return function(t){var e=t.keyCode;switch(t.ctrlKey&&t.stopPropagation(),e){case 37:t.stopPropagation();break;case 38:(function(t){t.preventDefault(),t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex-=1,this.itemIndex<0&&(this.itemIndex=e.length-1),e[this.itemIndex].toggle())}).call(this,t);break;case 39:t.stopPropagation();break;case 40:(function(t){t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex+=1,this.itemIndex>e.length-1&&(this.itemIndex=0),e[this.itemIndex].toggle())}).call(this,t);break;case 13:case 9:Ut.call(this,t);break;default:t.stopPropagation()}}.call(e,t)})}}])&&Lt(e.prototype,n),r&&Lt(e,r),t}();function $t(t){return($t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Xt(t,e){for(var n=0;nr.width){var u=l;l>c&&(u=c,s+=parseInt(l/c,10),s+=l%c>0?1:0),n.css("width","".concat(u,"px"))}(s*=this.rowHeight)>r.height&&n.css("height","".concat(s,"px"))}}function se(t){var e=t.keyCode,n=t.altKey;13!==e&&9!==e&&t.stopPropagation(),13===e&&n&&(function(t,e){var n=t.target,r=n.value,i=n.selectionEnd,o="".concat(r.slice(0,i)).concat(e).concat(r.slice(i));n.value=o,n.setSelectionRange(i+1,i+1),this.inputText=o,this.textlineEl.html(o),ce.call(this)}.call(this,t,"\n"),t.stopPropagation()),13!==e||n||t.preventDefault()}function ue(t,e){var n=this.textEl,r=this.textlineEl;n.el.blur(),n.val(t),r.html(t),function(t){var e=this.textEl.el;setTimeout(function(){e.focus(),e.setSelectionRange(t,t)},0)}.call(this,e)}var fe=function(){function t(e,n,r){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewFn=n,this.rowHeight=r,this.formulas=e,this.suggest=new Yt(e,function(t){(function(t){var e=this.inputText,n=this.validator,r=0;if(n&&"list"===n.type)this.inputText=t,r=this.inputText.length;else{var i=e.lastIndexOf("="),o=e.substring(0,i+1),a=e.substring(i+1);a=-1!==a.indexOf(")")?a.substring(a.indexOf(")")):"",this.inputText="".concat(o+t.key,"("),r=this.inputText.length,this.inputText+=")".concat(a)}ue.call(this,this.inputText,r)}).call(i,t)}),this.datepicker=new oe,this.datepicker.change(function(t){i.setText(function(t){var e=t.getMonth()+1,n=t.getDate();return e<10&&(e="0".concat(e)),n<10&&(n="0".concat(n)),"".concat(t.getFullYear(),"-").concat(e,"-").concat(n)}(t)),i.clear()}),this.areaEl=a("div","".concat(kt,"-editor-area")).children(this.textEl=a("textarea","").on("input",function(t){return function(t){var e=t.target.value,n=this.suggest,r=this.textlineEl,i=this.validator,o=this.cell;if(null!==o)if("editable"in o&&!0===o.editable||void 0===o.editable){if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var a=e.lastIndexOf("=");-1!==a?n.search(e.substring(a+1)):n.hide()}r.html(e),ce.call(this),this.change("input",e)}else t.target.value=o.text;else{if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var l=e.lastIndexOf("=");-1!==l?n.search(e.substring(l+1)):n.hide()}r.html(e),ce.call(this),this.change("input",e)}}.call(i,t)}).on("paste.stop",function(){}).on("keydown",function(t){return se.call(i,t)}),this.textlineEl=a("div","textline"),this.suggest.el,this.datepicker.el).on("mousemove.stop",function(){}).on("mousedown.stop",function(){}),this.el=a("div","".concat(kt,"-editor")).child(this.areaEl).hide(),this.suggest.bindInputEvents(this.textEl),this.areaOffset=null,this.freeze={w:0,h:0},this.cell=null,this.inputText="",this.change=function(){}}var e,n,r;return e=t,(n=[{key:"setFreezeLengths",value:function(t,e){this.freeze.w=t,this.freeze.h=e}},{key:"clear",value:function(){""!==this.inputText&&this.change("finished",this.inputText),this.cell=null,this.areaOffset=null,this.inputText="",this.el.hide(),this.textEl.val(""),this.textlineEl.html(""),function(){this.suggest.setItems(this.formulas)}.call(this),this.datepicker.hide()}},{key:"setOffset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n=this.textEl,r=this.areaEl,i=this.suggest,o=this.freeze,a=this.el;if(t){this.areaOffset=t;var l=t.left,c=t.top,s=t.width,u=t.height,f=t.l,h=t.t,p={left:0,top:0};o.w>f&&o.h>h||(o.wf?p.top=o.h:o.h>h&&(p.left=o.w)),a.offset(p),r.offset({left:l-p.left-.8,top:c-p.top-.8}),n.offset({width:s-9+.8,height:u-3+.8});var d={left:0};d[e]=u,i.setOffset(d),i.hide()}}},{key:"setCell",value:function(t,e){var n=this.el,r=this.datepicker,i=this.suggest;n.show(),this.cell=t;var o=t&&t.text||"";if(this.setText(o),this.validator=e,e){var a=e.type;"date"===a&&(r.show(),/^\s*$/.test(o)||r.setValue(o)),"list"===a&&(i.setItems(e.values()),i.search(""))}}},{key:"setText",value:function(t){this.inputText=t,ue.call(this,t,t.length),ce.call(this)}}])&&ae(e.prototype,n),r&&ae(e,r),t}();function he(t){return(he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pe(t,e){return!e||"object"!==he(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function de(t){return(de=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ye(t,e){return(ye=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var ve=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=pe(this,de(e).call(this,"div","".concat(kt,"-button ").concat(r)))).child(L("button.".concat(t))),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ye(t,e)}(e,o),e}();function be(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?e-.5:.5}var je=function(){function t(e,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;me(this,t),this.x=e,this.y=n,this.width=r,this.height=i,this.padding=o,this.bgcolor="#ffffff",this.borderTop=null,this.borderRight=null,this.borderBottom=null,this.borderLeft=null}return ke(t,[{key:"setBorders",value:function(t){var e=t.top,n=t.bottom,r=t.left,i=t.right;e&&(this.borderTop=e),i&&(this.borderRight=i),n&&(this.borderBottom=n),r&&(this.borderLeft=r)}},{key:"innerWidth",value:function(){return this.width-2*this.padding-2}},{key:"innerHeight",value:function(){return this.height-2*this.padding-2}},{key:"textx",value:function(t){var e=this.width,n=this.padding,r=this.x;return"left"===t?r+=n:"center"===t?r+=e/2:"right"===t&&(r+=e-n),r}},{key:"texty",value:function(t,e){var n=this.height,r=this.padding,i=this.y;return"top"===t?i+=r:"middle"===t?i+=n/2-e/2:"bottom"===t&&(i+=n-r-e),i}},{key:"topxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t+this.width,e]]}},{key:"rightxys",value:function(){var t=this.x,e=this.y,n=this.width;return[[t+n,e],[t+n,e+this.height]]}},{key:"bottomxys",value:function(){var t=this.x,e=this.y,n=this.width,r=this.height;return[[t,e+r],[t+n,e+r]]}},{key:"leftxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t,e+this.height]]}}]),t}();function _e(t,e,n,r,i,o,a){var l={x:0,y:0};"underline"===t?l.y="bottom"===i?0:"top"===i?-(o+2):-o/2:"strike"===t&&("bottom"===i?l.y=o/2:"top"===i&&(l.y=-(o/2+2))),"center"===r?l.x=a/2:"right"===r&&(l.x=a),this.line([e-l.x,n-l.y],[e-l.x+a,n-l.y])}var Ce=function(){function t(e,n,r){me(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(n,r),this.ctx.scale(Oe(),Oe())}return ke(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=xe(t),this.el.height=xe(e)}},{key:"clear",value:function(){var t=this.el,e=t.width,n=t.height;return this.ctx.clearRect(0,0,e,n),this}},{key:"attr",value:function(t){return Object.assign(this.ctx,t),this}},{key:"save",value:function(){return this.ctx.save(),this.ctx.beginPath(),this}},{key:"restore",value:function(){return this.ctx.restore(),this}},{key:"beginPath",value:function(){return this.ctx.beginPath(),this}},{key:"translate",value:function(t,e){return this.ctx.translate(xe(t),xe(e)),this}},{key:"scale",value:function(t,e){return this.ctx.scale(t,e),this}},{key:"clearRect",value:function(t,e,n,r){return this.ctx.clearRect(t,e,n,r),this}},{key:"fillRect",value:function(t,e,n,r){return this.ctx.fillRect(xe(t)-.5,xe(e)-.5,xe(n),xe(r)),this}},{key:"fillText",value:function(t,e,n){return this.ctx.fillText(t,xe(e),xe(n)),this}},{key:"text",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this.ctx,a=r.align,l=r.valign,c=r.font,s=r.color,u=r.strike,f=r.underline,h=e.textx(a);o.save(),o.beginPath(),this.attr({textAlign:a,textBaseline:l,font:"".concat(c.italic?"italic":""," ").concat(c.bold?"bold":""," ").concat(xe(c.size),"px ").concat(c.name),fillStyle:s,strokeStyle:s});var p="".concat(t).split("\n"),d=e.innerWidth(),y=[];p.forEach(function(t){var e=o.measureText(t).width;if(i&&e>xe(d)){for(var n={w:0,len:0,start:0},r=0;r=xe(d)&&(y.push(t.substr(n.start,n.len)),n={w:0,len:0,start:r}),n.len+=1,n.w+=o.measureText(t[r]).width+1;n.len>0&&y.push(t.substr(n.start,n.len))}else y.push(t)});var v=(y.length-1)*(c.size+2),b=e.texty(l,v);return y.forEach(function(t){var e=o.measureText(t).width;n.fillText(t,h,b),u&&_e.call(n,"strike",h,b,a,l,c.size,e),f&&_e.call(n,"underline",h,b,a,l,c.size,e),b+=c.size+2}),o.restore(),this}},{key:"border",value:function(t,e){var n=this.ctx;return n.lineWidth=Se,n.strokeStyle=e,"medium"===t?n.lineWidth=xe(2)-.5:"thick"===t?n.lineWidth=xe(3):"dashed"===t?n.setLineDash([xe(3),xe(2)]):"dotted"===t?n.setLineDash([xe(1),xe(1)]):"double"===t&&n.setLineDash([xe(2),0]),this}},{key:"line",value:function(){var t=this.ctx;if(arguments.length>1){t.beginPath();var e=arguments.length<=0?void 0:arguments[0],n=ge(e,2),r=n[0],i=n[1];t.moveTo(Ee(r),Ee(i));for(var o=1;o="a"&&s<="z")r.push(s.toUpperCase());else if(s>="0"&&s<="9"||s>="A"&&s<="Z"||"."===s)r.push(s);else if('"'===s){for(c+=1;'"'!==t.charAt(c);)r.push(t.charAt(c)),c+=1;n.push('"'.concat(r.join(""))),r=[]}else if("-"===s&&/[+\-*/,(]/.test(l))r.push(s);else{if("("!==s&&r.length>0&&n.push(r.join("")),")"===s){var u=e.pop();if(2===i)try{for(var p=Ae(f(n.pop()),2),d=p[0],y=p[1],v=Ae(f(n.pop()),2),b=v[0],g=v[1],m=0,w=b;w<=d;w+=1)for(var k=g;k<=y;k+=1)n.push(h(w,k)),m+=1;n.push([u,m])}catch(t){}else if(1===i||3===i)3===i&&n.push(o),n.push([u,a]),a=1;else for(;"("!==u&&(n.push(u),!(e.length<=0));)u=e.pop();i=0}else if("="===s||">"===s||"<"===s){var O=t.charAt(c+1);o=s,"="!==O&&"-"!==O||(o+=O,c+=1),i=3}else if(":"===s)i=2;else if(","===s)3===i&&n.push(o),i=1,a+=1;else if("("===s&&r.length>0)e.push(r.join(""));else{if(e.length>0&&("+"===s||"-"===s)){var S=e[e.length-1];if("("!==S&&n.push(e.pop()),"*"===S||"/"===S)for(;e.length>0&&"("!==(S=e[e.length-1]);)n.push(e.pop())}else if(e.length>0){var x=e[e.length-1];"*"!==x&&"/"!==x||n.push(e.pop())}e.push(s)}r=[]}l=s}}for(r.length>0&&n.push(r.join(""));e.length>0;)n.push(e.pop());return n},De=function(t,e){var n=Ae(t,1)[0],r=t;if('"'===n)return t.substring(1);var i=1;if("-"===n&&(r=t.substring(1),i=-1),r[0]>="0"&&r[0]<="9")return i*Number(r);var o=Ae(f(r),2);return i*e(o[0],o[1])},Ie=function(t,e,n,r){for(var i=[],o=0;o"===l||"<"===l){var h=i.pop();Number.isNaN(h)||(h=Number(h));var p=i.pop();Number.isNaN(p)||(p=Number(p));var d=!1;"="===l?d=p===h:">"===a?d=p>h:">="===a?d=p>=h:"<"===a?d=p="a"&&l<="z"||l>="A"&&l<="Z")&&r.push(a),i.push(De(a,n)),r.pop()}}return i[0]},ze={render:function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=Re(e.substring(1));return o.length<=0?e:Ie(o,n,function(e,o){return t(r(e,o),n,r,i)},i)}return e}};function He(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Me(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e3&&void 0!==arguments[3]?arguments[3]:0,i=t.cellRect(e,n),o=i.left,a=i.top,l=i.width,c=i.height;return new je(o,a+r,l,c,Ke)}function tn(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=e.sortedRowMap,a=e.rows,l=e.cols;if(!a.isHide(n)&&!l.isHide(r)){var c=n;o.has(n)&&(c=o.get(n));var s=e.getCell(c,r);if(null!==s){var u=!1;"editable"in s&&!1===s.editable&&(u=!0);var f=e.getCellStyleOrDefault(c,r),h=Qe(e,n,r,i);h.bgcolor=f.bgcolor,void 0!==f.border&&(h.setBorders(f.border),t.strokeBorders(h)),t.rect(h,function(){var i="";i=e.settings.evalPaused?s.text||"":ze.render(s.text||"",We,function(t,n){return e.getCellTextOrDefault(n,t)}),f.format&&(i=$e[f.format].render(i));var o=Object.assign({},f.font);o.size=function(t){for(var e=0;e0&&c.rows.isHide(t-1)&&(l.save(),l.attr({strokeStyle:"#c6c6c6"}),l.line([5,i+5],[n-5,i+5]),l.restore())}),l.line([0,u+h],[n,u+h]),l.line([n,h],[n,u+h])),"all"!==t&&"top"!==t||(c.colEach(e.sci,e.eci,function(t,e,n){var i=p+e,o=t;l.line([i,0],[i,r]),v<=o&&o0&&c.cols.isHide(t-1)&&(l.save(),l.attr({strokeStyle:"#c6c6c6"}),l.line([i+5,5],[i+5,r-5]),l.restore())}),l.line([f+p,0],[f+p,r]),l.line([0,r],[f+p,r])),l.restore()}function on(t,e,n,r,i){var o=t.sri,a=t.sci,l=t.eri,c=t.eci,s=t.w,u=t.h,f=this.draw,h=this.data,p=h.settings;f.save(),f.attr(Ge).translate(e+r,n+i),p.showGrid?(h.rowEach(o,l,function(t,e,n){t!==o&&f.line([0,e],[s,e]),t===l&&f.line([0,e+n],[s,e+n])}),h.colEach(a,c,function(t,e,n){t!==a&&f.line([e,0],[e,u]),t===c&&f.line([e+n,0],[e+n,u])}),f.restore()):f.restore()}var an=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.el=e,this.draw=new Ce(e,n.viewWidth(),n.viewHeight()),this.data=n}var e,n,r;return e=t,(n=[{key:"resetData",value:function(t){this.data=t,this.render()}},{key:"render",value:function(){var t=this.data,e=t.rows,n=t.cols.indexWidth,r=e.height;this.draw.resize(t.viewWidth(),t.viewHeight()),this.clear();var i=t.viewRange(),o=t.freezeTotalWidth(),a=t.freezeTotalHeight(),l=t.scroll,c=l.x,s=l.y;on.call(this,i,n,r,o,a),en.call(this,i,n,r,-c,-s),rn.call(this,"all",i,n,r,o,a),function(t,e){var n=this.draw;n.save(),n.attr({fillStyle:"#f4f5f8"}).fillRect(0,0,t,e),n.restore()}.call(this,n,r);var u=Xe(t.freeze,2),f=u[0],h=u[1];if(f>0||h>0){if(f>0){var p=i.clone();p.sri=0,p.eri=f-1,p.h=a,on.call(this,p,n,r,o,0),en.call(this,p,n,r,-c,0),rn.call(this,"top",p,n,r,o,0)}if(h>0){var d=i.clone();d.sci=0,d.eci=h-1,d.w=o,on.call(this,d,n,r,0,a),rn.call(this,"left",d,n,r,0,a),en.call(this,d,n,r,0,-s)}var y=t.freezeViewRange();on.call(this,y,n,r,0,0),rn.call(this,"all",y,n,r,0,0),en.call(this,y,n,r,0,0),function(t,e,n,r){var i=this.draw,o=this.data,a=o.viewWidth()-t,l=o.viewHeight()-e;i.save().translate(t,e).attr({strokeStyle:"rgba(75, 137, 255, .6)"}),i.line([0,r],[a,r]),i.line([n,0],[n,l]),i.restore()}.call(this,n,r,o,a)}}},{key:"clear",value:function(){this.draw.clear()}}])&&Ze(e.prototype,n),r&&Ze(e,r),t}();function ln(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&(h+=(l-s.w)/2);var d=0,y=0;this.contentEl.html(""),this.canvases=[];for(var v={sri:0,sci:0,eri:0,eci:0},b=function(n){var o=0,l=0,u=a("div","".concat(kt,"-canvas-card")),b=a("canvas","".concat(kt,"-canvas"));t.canvases.push(b.el);var g=new Ce(b.el,r,i);for(g.save(),g.translate(h,p),f<1&&g.scale(f,f);d<=s.eri;d+=1){var m=e.rows.getHeight(d);if(!((o+=m)1&&void 0!==arguments[1]&&arguments[1];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.menuItems=bn.call(this),this.el=(n=a("div","".concat(kt,"-contextmenu"))).children.apply(n,dn(this.menuItems)).hide(),this.viewFn=e,this.itemClick=function(){},this.isHide=r,this.setMode("range")}var e,n,r;return e=t,(n=[{key:"setMode",value:function(t){var e=this.menuItems[12];"row-col"===t?e.show():e.hide()}},{key:"hide",value:function(){var t=this.el;t.hide(),bt(t)}},{key:"setPosition",value:function(t,e){if(!this.isHide){var n=this.el,r=n.show().offset().width,i=this.viewFn(),o=i.height/2,a=t;i.width-t<=r&&(a-=r),n.css("left","".concat(a,"px")),e>o?n.css("bottom","".concat(i.height-e,"px")).css("max-height","".concat(e,"px")).css("top","auto"):n.css("top","".concat(e,"px")).css("max-height","".concat(i.height-e,"px")).css("bottom","auto"),gt(n)}}}])&&yn(e.prototype,n),r&&yn(e,r),t}();function mn(t,e){for(var n=0;n4?c-4:0),u=4;u0)&&(t=this.contentEl).children.apply(t,arguments)}},{key:"setTitle",value:function(t){this.title.html(t),this.hide()}},{key:"show",value:function(){var t=this;this.contentEl.show(),this.parent().active(),gt(this.parent(),function(){t.hide()})}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),bt(this.parent())}}])&&Tn(n.prototype,r),i&&Tn(n,i),e}();function In(t){return(In="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function zn(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Kr=function(t){function e(t){var n,r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var i=new Gt("line-type"),o=0,l=Zr.map(function(e,n){return a("div","".concat(kt,"-item state ").concat(t===e[0]?"checked":"")).on("click",function(){l[o].toggle("checked"),l[n].toggle("checked"),o=n,r.hide(),r.change(e)}).child(a("div","".concat(kt,"-line-type")).html(e[1]))});return r=Yr(this,(n=$r(e)).call.apply(n,[this,i,"auto",!1,"bottom-left"].concat(Ur(l))))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Xr(t,e)}(e,Dn),e}();function Jr(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?i.show():i.hide()}function Ta(t){var e=this,n=new wn;n.el.on("click",function(){t.onClick&&t.onClick(e.data.getData(),e.data)}),n.tip=t.tip||"";var r=t.el;if(t.icon&&(r=a("img").attr("src",t.icon)),r){var i=a("div","".concat(kt,"-icon"));i.child(r),n.el.child(i)}return n}var Pa=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.change=function(){},this.widthFn=n,this.isHide=i;var o=e.defaultStyle();this.items=[[this.undoEl=new oa,this.redoEl=new ta,new ua,this.paintformatEl=new Pi,this.clearformatEl=new xi],_a(),[this.formatEl=new jo],_a(),[this.fontEl=new ho,this.fontSizeEl=new to],_a(),[this.boldEl=new vr,this.italicEl=new kr,this.underlineEl=new Ar,this.strikeEl=new jr,this.textColorEl=new Hi(o.color)],_a(),[this.fillColorEl=new qi(o.bgcolor),this.borderEl=new hi,this.mergeEl=new Zo],_a(),[this.alignEl=new Yn(o.align),this.valignEl=new Gn(o.valign),this.textwrapEl=new ya],_a(),[this.freezeEl=new Bo,this.autofilterEl=new fr,this.formulaEl=new No]];var l=e.settings.extendToolbar,c=void 0===l?{}:l;if(c.left&&c.left.length>0){this.items.unshift(_a());var s=c.left.map(Ta.bind(this));this.items.unshift(s)}if(c.right&&c.right.length>0){this.items.push(_a());var u=c.right.map(Ta.bind(this));this.items.push(u)}this.items.push([this.moreEl=new xa]),this.el=a("div","".concat(kt,"-toolbar")),this.btns=a("div","".concat(kt,"-toolbar-btns")),this.items.forEach(function(t){Array.isArray(t)?t.forEach(function(t){r.btns.child(t.el),t.change=function(){r.change.apply(r,arguments)}}):r.btns.child(t.el)}),this.el.child(this.btns),i?this.el.hide():(this.reset(),setTimeout(function(){(function(){var t=this;this.btns2=[],this.items.forEach(function(e){if(Array.isArray(e))e.forEach(function(e){var n=e.el,r=n.box(),i=n.computedStyle(),o=i.marginLeft,a=i.marginRight;t.btns2.push([n,r.width+parseInt(o,10)+parseInt(a,10)])});else{var n=e.box(),r=e.computedStyle(),i=r.marginLeft,o=r.marginRight;t.btns2.push([e,n.width+parseInt(i,10)+parseInt(o,10)])}})}).call(r),Ca.call(r)},0),yt(window,"resize",function(){Ca.call(r)}))}var e,n,r;return e=t,(n=[{key:"paintformatActive",value:function(){return this.paintformatEl.active()}},{key:"paintformatToggle",value:function(){this.paintformatEl.toggle()}},{key:"trigger",value:function(t){this["".concat(t,"El")].click()}},{key:"resetData",value:function(t){this.data=t,this.reset()}},{key:"reset",value:function(){if(!this.isHide){var t=this.data,e=t.getSelectedCellStyle();this.undoEl.setState(!t.canUndo()),this.redoEl.setState(!t.canRedo()),this.mergeEl.setState(t.canUnmerge(),!t.selector.multiple()),this.autofilterEl.setState(!t.canAutofilter());var n=e.font,r=e.format;this.formatEl.setState(r),this.fontEl.setState(n.name),this.fontSizeEl.setState(n.size),this.boldEl.setState(n.bold),this.italicEl.setState(n.italic),this.underlineEl.setState(e.underline),this.strikeEl.setState(e.strike),this.textColorEl.setState(e.color),this.fillColorEl.setState(e.bgcolor),this.alignEl.setState(e.align),this.valignEl.setState(e.valign),this.textwrapEl.setState(e.textwrap),this.freezeEl.setState(t.freezeIsActive())}}}])&&Ea(e.prototype,n),r&&Ea(e,r),t}();function Aa(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"600px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.title=e,this.el=a("div","".concat(kt,"-modal")).css("width",o).children(a("div","".concat(kt,"-modal-header")).children(new Gt("close").on("click.stop",function(){return i.hide()}),this.title),(r=a("div","".concat(kt,"-modal-content"))).children.apply(r,Aa(n))).hide()}var e,n,r;return e=t,(n=[{key:"show",value:function(){var t=this;this.dimmer=a("div","".concat(kt,"-dimmer active")),document.body.appendChild(this.dimmer.el);var e=this.el.show().box(),n=e.width,r=e.height,i=document.documentElement,o=i.clientHeight,l=i.clientWidth;this.el.offset({left:(l-n)/2,top:(o-r)/3}),window.xkeydownEsc=function(e){27===e.keyCode&&t.hide()},yt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),vt(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&Ra(e.prototype,n),r&&Ra(e,r),t}();function Ia(t,e){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:function(t){return t},l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.key=e,this.getTitle=o,this.vchange=function(){},this.el=a("div","".concat(kt,"-form-select")),this.suggest=new Yt(n.map(function(t){return{key:t,title:i.getTitle(t)}}),function(t){i.itemClick(t.key),l(t.key),i.vchange(t.key)},r,this.el),this.el.children(this.itemEl=a("div","input-text").html(this.getTitle(e)),this.suggest.el).on("click",function(){return i.show()})}var e,n,r;return e=t,(n=[{key:"show",value:function(){this.suggest.search("")}},{key:"itemClick",value:function(t){this.key=t,this.itemEl.html(this.getTitle(t))}},{key:"val",value:function(t){return void 0!==t?(this.key=t,this.itemEl.html(this.getTitle(t)),this):this.key}}])&&Ha(e.prototype,n),r&&Ha(e,r),t}();function Na(t,e){for(var n=0;n3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(-1!==e||-1!==n){var o=this.table,a=this.selector,l=this.toolbar,c=this.data;this.contextMenu.setMode(-1===e||-1===n?"row-col":"range");var s=c.getCell(e,n);t?(a.setEnd(e,n,i),this.trigger("cells-selected",s,a.range)):(a.set(e,n,r),this.trigger("cell-selected",s,e,n)),l.reset(),o.render()}}function il(t,e){var n=this.selector,r=this.data,i=r.rows,o=r.cols,a=el(n.indexes,2),l=a[0],c=a[1],s=n.range,u=s.eri,f=s.eci;if(t){var h=el(n.moveIndexes,2);l=h[0],c=h[1]}"left"===e?c>0&&(c-=1):"right"===e?(f!==c&&(c=f),c0&&(l-=1):"down"===e?(u!==l&&(l=u),lu.width)n.move({left:i+c-u.width});else{var f=t.freezeTotalWidth();au.height)e.move({top:o+s-u.height-1});else{var h=t.freezeTotalHeight();l0||o>0){var a=e.freezeTotalWidth(),l=e.freezeTotalHeight();n.setFreezeLengths(a,l)}t.resetAreaOffset()}.call(this),r.render(),i.reset(),o.reset()}function cl(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function sl(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.copy(),t.copyToSystemClipboard(),e.showClipboard())}function ul(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.cut(),e.showClipboard())}function fl(t,e){var n=this.data;if("read"!==n.settings.mode)if(n.paste(t,function(t){return Qa("Tip",t)}))ll.call(this);else if(e){var r=e.clipboardData.getData("text/plain");this.data.pasteFromText(r),ll.call(this)}}function hl(t,e){this.data.unhideRowsOrCols(t,e),ll.call(this)}function pl(t){var e=this,n=this.selector,r=this.data,i=this.table,o=this.sortFilter,a=t.offsetX,l=t.offsetY,c=t.target.className==="".concat(kt,"-selector-corner"),s=r.getCellRectByXY(a,l),u=s.left,f=s.top,h=s.width,p=s.height,d=s.ri,y=s.ci,v=r.autoFilter;if(v.includes(d,y)&&u+h-20n.height/2&&(r="bottom"),t.setOffset(e,r)}function yl(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(dl.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),cl.call(this))}function vl(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finished",n=this.data,r=this.table;if("read"!==n.settings.mode){n.setSelectedCellText(t,e);var i=n.selector,o=i.ri,a=i.ci;"finished"===e?r.render():this.trigger("cell-edited",t,o,a)}}function bl(t){var e=this.data;"read"!==e.settings.mode&&("insert-row"===t?e.insert("row"):"delete-row"===t?e.delete("row"):"insert-column"===t?e.insert("column"):"delete-column"===t?e.delete("column"):"delete-cell"===t?e.deleteCell():"delete-cell-format"===t?e.deleteCell("format"):"delete-cell-text"===t?e.deleteCell("text"):"cell-printable"===t?e.setSelectedCellAttr("printable",!0):"cell-non-printable"===t?e.setSelectedCellAttr("printable",!1):"cell-editable"===t?e.setSelectedCellAttr("editable",!0):"cell-non-editable"===t&&e.setSelectedCellAttr("editable",!1),cl.call(this),ll.call(this))}function gl(t,e){var n=this.data;if("undo"===t)this.undo();else if("redo"===t)this.redo();else if("print"===t)this.print.preview();else if("paintformat"===t)!0===e?sl.call(this):cl.call(this);else if("clearformat"===t)bl.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)(function(){this.data.autofilter(),ll.call(this)}).call(this);else if("freeze"===t)if(e){var r=n.selector,i=r.ri,o=r.ci;this.freeze(i,o)}else this.freeze(0,0);else n.setSelectedCellAttr(t,e),"formula"!==t||n.selector.multiple()||yl.call(this),ll.call(this)}function ml(){var t,e,n,r,i,o,a=this,l=this.selector,c=this.overlayerEl,s=this.rowResizer,u=this.colResizer,f=this.verticalScrollbar,h=this.horizontalScrollbar,p=this.editor,d=this.contextMenu,y=this.toolbar,v=this.modalValidation,b=this.sortFilter;c.on("mousemove",function(t){(function(t){if(0===t.buttons&&t.target.className!=="".concat(kt,"-resizer-hover")){var e=t.offsetX,n=t.offsetY,r=this.rowResizer,i=this.colResizer,o=this.tableEl,a=this.data,l=a.rows,c=a.cols;if(e>c.indexWidth&&n>l.height)return r.hide(),void i.hide();var s=o.box(),u=a.getCellRectByXY(t.offsetX,t.offsetY);u.ri>=0&&-1===u.ci?(u.width=c.indexWidth,r.show(u,{width:s.width}),l.isHide(u.ri-1)?r.showUnhide(u.ri):r.hideUnhide()):r.hide(),-1===u.ri&&u.ci>=0?(u.height=l.height,i.show(u,{height:s.height}),c.isHide(u.ci-1)?i.showUnhide(u.ci):i.hideUnhide()):i.hide()}}).call(a,t)}).on("mousedown",function(t){p.clear(),d.hide(),2===t.buttons?(a.data.xyInSelectedRect(t.offsetX,t.offsetY)?d.setPosition(t.offsetX,t.offsetY):(pl.call(a,t),d.setPosition(t.offsetX,t.offsetY)),t.stopPropagation()):2===t.detail?yl.call(a):pl.call(a,t)}).on("mousewheel.stop",function(t){(function(t){var e=this.verticalScrollbar,n=this.horizontalScrollbar,r=this.data,i=e.scroll().top,o=n.scroll().left,a=r.rows,l=r.cols,c=t.deltaY,s=t.deltaX,u=function(t,e){var n=t,r=0;do{r=e(n),n+=1}while(r<=0);return r},f=function(t){if(t>0){var n=r.scroll.ri+1;if(n=0){var c=u(l,function(t){return a.getHeight(t)});e.move({top:0===l?0:i-c})}}},h=Math.abs(c),p=Math.abs(s),d=Math.max(h,p);/Firefox/i.test(window.navigator.userAgent)&&nl(f(t.detail),50),d===p&&nl(function(t){if(t>0){var e=r.scroll.ci+1;if(e=0){var c=u(a,function(t){return l.getWidth(t)});n.move({left:0===a?0:o-c})}}}(s),50),d===h&&nl(f(c),50)}).call(a,t)}).on("mouseout",function(t){var e=t.offsetX;t.offsetY<=0&&u.hide(),e<=0&&s.hide()}),l.inputChange=function(t){vl.call(a,t,"input"),yl.call(a)},t=c.el,n=(e={move:function(t,e){(function(t,e){var n=this.verticalScrollbar,r=this.horizontalScrollbar,i=n.scroll().top,o=r.scroll().left;"left"===t||"right"===t?r.move({left:o-e}):"up"!==t&&"down"!==t||n.move({top:i-e})}).call(a,t,e)}}).move,r=e.end,i=0,o=0,yt(t,"touchstart",function(t){var e=t.touches[0],n=e.pageX,r=e.pageY;i=n,o=r}),yt(t,"touchmove",function(t){if(n){var e=t.changedTouches[0],r=e.pageX,a=e.pageY,l=r-i,c=a-o;(Math.abs(l)>10||Math.abs(c)>10)&&(wt(l,c,t,n),i=r,o=a),t.preventDefault()}}),yt(t,"touchend",function(t){if(r){var e=t.changedTouches[0],n=e.pageX,a=e.pageY;wt(n-i,a-o,t,r)}}),y.change=function(t,e){return gl.call(a,t,e)},b.ok=function(t,e,n,r){return function(t,e,n,r){this.data.setAutoFilter(t,e,n,r),ll.call(this)}.call(a,t,e,n,r)},s.finishedFn=function(t,e){(function(t,e){var n=t.ri,r=this.table,i=this.selector;this.data.rows.setHeight(n,e),r.render(),i.resetAreaOffset(),ol.call(this),dl.call(this)}).call(a,t,e)},u.finishedFn=function(t,e){(function(t,e){var n=t.ci,r=this.table,i=this.selector;this.data.cols.setWidth(n,e),r.render(),i.resetAreaOffset(),al.call(this),dl.call(this)}).call(a,t,e)},s.unhideFn=function(t){hl.call(a,"row",t)},u.unhideFn=function(t){hl.call(a,"col",t)},f.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrolly(t,function(){i.resetBRLAreaOffset(),dl.call(e),r.render()})}).call(a,t,e)},h.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrollx(t,function(){i.resetBRTAreaOffset(),dl.call(e),r.render()})}).call(a,t,e)},p.change=function(t,e){vl.call(a,e,t)},v.change=function(t){if("save"===t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i=65&&e<=90||e>=48&&e<=57||e>=96&&e<=105||"="===t.key?(vl.call(a,t.key,"input"),yl.call(a)):113===e&&yl.call(a)}}})}var wl=function(){function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.eventMap=function(){var t=new Map;function e(e,n){var r;return t.has(e)&&(r=t.get(e),Array.isArray(r)&&r.push(n)||!1)||t.set(e,[].concat(n))}function n(e,n){var r,i;return t.has(e)&&(r=t.get(e),(i=r.indexOf(n))>=0&&r.splice(i,1)&&0===t.get(e).length&&t.delete(e))}return{get current(){return t},on:e,once:function(t,r){return e(t,function e(){for(var i=arguments.length,o=new Array(i),a=0;a1?n-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:function(){},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};xl(this,t),this.swapFunc=r,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new Pl(function(t){e.clickSwap2(e.items[t])}),this.contextMenu=new Dl,this.contextMenu.itemClick=i,this.el=a("div","".concat(kt,"-bottombar")).children(this.contextMenu.el,this.menuEl=a("ul","".concat(kt,"-menu")).child(a("li","").children(new Gt("add").on("click",function(){n()}),a("span","").child(this.moreEl))))}return jl(t,[{key:"addItem",value:function(t,e){var n=this;this.dataNames.push(t);var r=a("li",e?"active":"").child(t);r.on("click",function(){n.clickSwap2(r)}).on("contextmenu",function(t){var e=t.target,i=e.offsetLeft,o=e.offsetHeight;n.contextMenu.setOffset({left:i,bottom:o+1}),n.deleteEl=r}).on("dblclick",function(){var t=r.html(),e=new za("auto","");e.val(t),e.input.on("blur",function(e){var r=e.target.value,i=n.dataNames.findIndex(function(e){return e===t});n.renameItem(i,r)}),r.html("").child(e.el),e.focus()}),e&&this.clickSwap(r),this.items.push(r),this.menuEl.child(r),this.moreEl.reset(this.dataNames)}},{key:"renameItem",value:function(t,e){this.dataNames.splice(t,1,e),this.moreEl.reset(this.dataNames),this.items[t].html("").child(e),this.updateFunc(t,e)}},{key:"clear",value:function(){var t=this;this.items.forEach(function(e){t.menuEl.removeChild(e.el)}),this.items=[],this.dataNames=[],this.moreEl.reset(this.dataNames)}},{key:"deleteItem",value:function(){var t=this.activeEl,e=this.deleteEl;if(this.items.length>1){var n=this.items.findIndex(function(t){return t===e});if(this.items.splice(n,1),this.dataNames.splice(n,1),this.menuEl.removeChild(e.el),this.moreEl.reset(this.dataNames),t===e){var r=kl(this.items,1)[0];return this.activeEl=r,this.activeEl.toggle(),[n,0]}return[n,-1]}return[-1]}},{key:"clickSwap2",value:function(t){var e=this.items.findIndex(function(e){return e===t});this.clickSwap(t),this.activeEl.toggle(),this.swapFunc(e)}},{key:"clickSwap",value:function(t){null!==this.activeEl&&this.activeEl.toggle(),this.activeEl=t}}]),t}();n(1);function zl(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Hl(t,e){var n=Object.keys(t);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(t)),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n}function Ml(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Nl(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var i=e;this.options=function(t){for(var e=1;e1&&void 0!==arguments[1])||arguments[1],r=t||"sheet".concat(this.sheetIndex),i=new pt(r,this.options);return i.change=function(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0&&(this.datas.splice(e,1),n>=0&&this.sheet.resetData(this.datas[n]))}}},{key:"loadData",value:function(t){var e=Array.isArray(t)?t:[t];if(null!==this.bottombar&&this.bottombar.clear(),this.datas=[],e.length>0)for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0;return this.datas[r].setCellText(t,e,n,"finished"),this}},{key:"cell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCell(t,e)}},{key:"cellStyle",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCellStyle(t,e)}},{key:"reRender",value:function(){return this.sheet.table.render(),this}},{key:"on",value:function(t,e){return this.sheet.on(t,e),this}},{key:"validate",value:function(){return this.data.validations.errors.size<=0}},{key:"change",value:function(t){return this.sheet.on("change",t),this}}])&&Nl(e.prototype,n),r&&Nl(e,r),t}(),Wl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Fl(t,e)};window&&(window.x_spreadsheet=Wl,window.x_spreadsheet.locale=function(t,e){return Y(t,e)});e.default=Fl}]); +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=14)}([function(t,e,n){"use strict";n.d(e,"a",function(){return s}),n.d(e,"b",function(){return a}),n.d(e,"c",function(){return l});var r=["en"],i={en:{toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{general:"General",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration",longdate:"Long Date",dateformat:"mm/dd/yyyy"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat",product:"Product",count:"Count",mod:"Mod",power:"Power",ceiling:"Ceiling",floor:"Floor",len:"Length",replace:"Replace",substitute:"Substitute",vlookup:"Vertical Lookup"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}}};function o(t,e){if(e)for(var n=0,i=r;n2&&void 0!==arguments[2]&&arguments[2]?r=[t]:r.unshift(t),e&&(i[t]=e)}},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var r=function t(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i5?s.toFixed(2):s;return s.toFixed(Math.max(r,o))}e.a={cloneDeep:function(t){return JSON.parse(JSON.stringify(t))},merge:function(){for(var t=arguments.length,e=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:function(t){return t},n=0,r=0;return Object.keys(t).forEach(function(i){n+=e(t[i],i),r+=1}),[n,r]},rangeEach:function(t,e,n){for(var r=t;ri);s+=1)a+=l=o(s);return[s,a-l,l]},deleteProperty:function(t,e){var n=t["".concat(e)];return delete t["".concat(e)],n},numberCalc:o}},function(t,e,n){"use strict";n.d(e,"c",function(){return o}),n.d(e,"b",function(){return l}),n.d(e,"d",function(){return s}),n.d(e,"a",function(){return c});n(9);function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var i=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function o(t){for(var e="",n=t;n>=i.length;)n/=i.length,n-=1,e+=i[parseInt(n,10)%i.length];var r=t%i.length;return e+=i[r]}function a(t){for(var e=0,n=0;n!==t.length;++n)e=26*e+t.charCodeAt(n)-64;return e-1}function l(t){for(var e="",n="",r=!1,i=!1,o=0;o0?i=!0:r=!0:t.charAt(o)>="0"&&t.charAt(o)<="9"?n+=t.charAt(o):e+=t.charAt(o);return[a(e),parseInt(n,10)-1,r,i]}function s(t,e,n,r){var i=r?"$":"";return"".concat(n?"$":"").concat(o(t)).concat(i).concat(e+1)}function c(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};if(0===e&&0===n)return t;var o=r(l(t),4),a=o[0],c=o[1],u=o[2],f=o[3];return i(a,c)?s(a+(u?0:e),c+(f?0:n),u,f):t}},function(t,e,n){t.exports=n(12)},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"a",function(){return r}),n.d(e,"c",function(){return o});n(9);var r=[{key:"Arial",title:"Arial"},{key:"Helvetica",title:"Helvetica"},{key:"Source Sans Pro",title:"Source Sans Pro"},{key:"Comic Sans MS",title:"Comic Sans MS"},{key:"Courier New",title:"Courier New"},{key:"Verdana",title:"Verdana"},{key:"Lato",title:"Lato"}],i=[{pt:7.5,px:10},{pt:8,px:11},{pt:9,px:12},{pt:10,px:13},{pt:10.5,px:14},{pt:11,px:15},{pt:12,px:16},{pt:14,px:18.7},{pt:15,px:20},{pt:16,px:21.3},{pt:18,px:24},{pt:22,px:29.3},{pt:24,px:32},{pt:26,px:34.7},{pt:36,px:48},{pt:42,px:56}];function o(t){for(var e=0;e0?e-.5:.5}n.d(e,"a",function(){return p}),n.d(e,"b",function(){return h}),n.d(e,"d",function(){return c}),n.d(e,"c",function(){return u});var h=function(){function t(e,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;o(this,t),this.x=e,this.y=n,this.width=r,this.height=i,this.padding=a,this.bgcolor="#ffffff",this.borderTop=null,this.borderRight=null,this.borderBottom=null,this.borderLeft=null}return l(t,[{key:"setBorders",value:function(t){var e=t.top,n=t.bottom,r=t.left,i=t.right;e&&(this.borderTop=e),i&&(this.borderRight=i),n&&(this.borderBottom=n),r&&(this.borderLeft=r)}},{key:"innerWidth",value:function(){return this.width-2*this.padding-2}},{key:"innerHeight",value:function(){return this.height-2*this.padding-2}},{key:"textx",value:function(t){var e=this.width,n=this.padding,r=this.x;return"left"===t?r+=n:"center"===t?r+=e/2:"right"===t&&(r+=e-n),r}},{key:"texty",value:function(t,e){var n=this.height,r=this.padding,i=this.y;return"top"===t?i+=r:"middle"===t?i+=n/2-e/2:"bottom"===t&&(i+=n-r-e),i}},{key:"topxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t+this.width,e]]}},{key:"rightxys",value:function(){var t=this.x,e=this.y,n=this.width;return[[t+n,e],[t+n,e+this.height]]}},{key:"bottomxys",value:function(){var t=this.x,e=this.y,n=this.width,r=this.height;return[[t,e+r],[t+n,e+r]]}},{key:"leftxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t,e+this.height]]}}]),t}();function d(t,e,n,r,i,o,a){var l={x:0,y:0};"underline"===t?l.y="bottom"===i?0:"top"===i?-(o+2):-o/2:"strike"===t&&("bottom"===i?l.y=o/2:"top"===i&&(l.y=-(o/2+2))),"center"===r?l.x=a/2:"right"===r&&(l.x=a),this.line([e-l.x,n-l.y],[e-l.x+a,n-l.y])}var p=function(){function t(e,n,r){o(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(n,r),this.ctx.scale(s(),s())}return l(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=u(t),this.el.height=u(e)}},{key:"clear",value:function(){var t=this.el,e=t.width,n=t.height;return this.ctx.clearRect(0,0,e,n),this}},{key:"attr",value:function(t){return Object.assign(this.ctx,t),this}},{key:"save",value:function(){return this.ctx.save(),this.ctx.beginPath(),this}},{key:"restore",value:function(){return this.ctx.restore(),this}},{key:"beginPath",value:function(){return this.ctx.beginPath(),this}},{key:"translate",value:function(t,e){return this.ctx.translate(u(t),u(e)),this}},{key:"scale",value:function(t,e){return this.ctx.scale(t,e),this}},{key:"clearRect",value:function(t,e,n,r){return this.ctx.clearRect(t,e,n,r),this}},{key:"fillRect",value:function(t,e,n,r){return this.ctx.fillRect(u(t)-.5,u(e)-.5,u(n),u(r)),this}},{key:"fillText",value:function(t,e,n){return this.ctx.fillText(t,u(e),u(n)),this}},{key:"text",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this.ctx,a=r.align,l=r.valign,s=r.font,c=r.color,f=r.strike,h=r.underline,p=e.textx(a);o.save(),o.beginPath(),this.attr({textAlign:a,textBaseline:l,font:"".concat(s.italic?"italic":""," ").concat(s.bold?"bold":""," ").concat(u(s.size),"px ").concat(s.name),fillStyle:c,strokeStyle:c});var v="".concat(t).split("\n"),y=e.innerWidth(),g=[];v.forEach(function(t){var e=o.measureText(t).width;if(i&&e>u(y)){for(var n={w:0,len:0,start:0},r=0;r=u(y)&&(g.push(t.substr(n.start,n.len)),n={w:0,len:0,start:r}),n.len+=1,n.w+=o.measureText(t[r]).width+1;n.len>0&&g.push(t.substr(n.start,n.len))}else g.push(t)});var m=(g.length-1)*(s.size+2),b=e.texty(l,m);return g.forEach(function(t){var e=o.measureText(t).width;n.fillText(t,p,b),f&&d.call(n,"strike",p,b,a,l,s.size,e),h&&d.call(n,"underline",p,b,a,l,s.size,e),b+=s.size+2}),o.restore(),this}},{key:"border",value:function(t,e){var n=this.ctx;return n.lineWidth=c,n.strokeStyle=e,"medium"===t?n.lineWidth=u(2)-.5:"thick"===t?n.lineWidth=u(3):"dashed"===t?n.setLineDash([u(3),u(2)]):"dotted"===t?n.setLineDash([u(1),u(1)]):"double"===t&&n.setLineDash([u(2),0]),this}},{key:"line",value:function(){var t=this.ctx;if(arguments.length>1){t.beginPath();var e=arguments.length<=0?void 0:arguments[0],n=i(e,2),r=n[0],o=n[1];t.moveTo(f(r),f(o));for(var a=1;a=0&&i<=r.length?r[i-1][l]:"#N/A"}}],d=h,p={};h.forEach(function(t){p[t.key]=t})},function(t,e,n){"use strict";(function(t){n.d(e,"b",function(){return y});var r=n(2),i=n(4),o=n(10),a=n(7),l=n(6),s=n(5);function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(t,e){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0,i=t.cellRect(e,n),o=i.left,a=i.top,l=i.width,c=i.height;return new s.b(o,a+r,l,c,h)}function y(t,e,n,r){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,c=e.sortedRowMap,u=e.rows,h=e.cols;if(!u.isHide(n)&&!h.isHide(r)){var d=n;c.has(n)&&(d=c.get(n));var p=e.getCell(d,r);if(null!==p){var y=!1;"editable"in p&&!1===p.editable&&(y=!0);var g=e.getCellStyleOrDefault(d,r),m=v(e,n,r,s);m.bgcolor=g.bgcolor,void 0!==g.border&&(m.setBorders(g.border),t.strokeBorders(m)),t.rect(m,function(){var s="";s=e.settings.evalPaused?p.text||"":o.a.render(p.text||"",a.b,function(t,n){return e.getCellTextOrDefault(n,t)}),(void 0!==f(g.format)&&"string"==typeof s||"number"==typeof s)&&(s=l.b.render(g.format,s));var c=Object.assign({},g.font);c.size=Object(i.c)(c.size),t.text(s,m,{align:g.align,valign:g.valign,font:c,color:g.color,strike:g.strike,underline:g.underline},g.textwrap),e.validations.getError(n,r)&&t.error(m),y&&t.frozen(m)})}}}function g(t,e,n,r,i){var o=this.draw,a=this.data;o.save(),o.translate(e,n).translate(r,i);var l=a.exceptRowSet,s=a.exceptRowTotalHeight(t.sri,t.eri);o.save(),o.translate(0,-s),t.each(function(t,e){y(o,a,t,e)},function(t){return function(t){var e=l.has(t);if(e){var n=a.rows.getHeight(t);o.translate(0,-n)}return!e}(t)}),o.restore();var c=new Set;o.save(),o.translate(0,-s),a.eachMergesInView(t,function(t){var e=t.sri,n=t.sci,r=t.eri;if(l.has(e)){if(!c.has(e)){c.add(e);var i=a.rows.sumHeight(e,r+1);o.translate(0,-i)}}else y(o,a,e,n)}),o.restore(),function(t){var e=this.data,n=this.draw;if(t){var r=e.autoFilter;if(!r.active())return;var i=r.hrange();t.intersects(i)&&i.each(function(t,r){var i=v(e,t,r);n.dropdown(i)})}}.call(this,t),o.restore()}function m(e,n,r,i){var o=this.draw,a=t.getComputedStyle(o.ctx.canvas).getPropertyValue("--canvas-header-fill")||"#4b89ff19";o.save(),o.attr({fillStyle:"".concat(a)}).fillRect(e,n,r,i),o.restore()}function b(t,e,n,i,o,a){var l=this,c=this.draw,u=this.data,f=e.h,h=e.w,p=a+i,v=o+n;c.save(),c.attr(d),"all"!==t&&"left"!==t||c.fillRect(0,p,n,f),"all"!==t&&"top"!==t||c.fillRect(v,0,h,i);var y=u.selector.range,g=y.sri,b=y.sci,w=y.eri,L=y.eci;c.attr({textAlign:"center",textBaseline:"middle",font:"500 ".concat(Object(s.c)(12),"px Source Sans Pro"),fillStyle:"#585757",lineWidth:Object(s.d)(),strokeStyle:"#e6e6e6"}),"all"!==t&&"left"!==t||(u.rowEach(e.sri,e.eri,function(t,e,r){var i=p+e,o=t;c.line([0,i],[n,i]),g<=o&&o0&&u.rows.isHide(t-1)&&(c.save(),c.attr({strokeStyle:"#c6c6c6"}),c.line([5,i+5],[n-5,i+5]),c.restore())}),c.line([0,f+p],[n,f+p]),c.line([n,p],[n,f+p])),"all"!==t&&"top"!==t||(u.colEach(e.sci,e.eci,function(t,e,n){var o=v+e,a=t;c.line([o,0],[o,i]),b<=a&&a0&&u.cols.isHide(t-1)&&(c.save(),c.attr({strokeStyle:"#c6c6c6"}),c.line([o+5,5],[o+5,i-5]),c.restore())}),c.line([h+v,0],[h+v,i]),c.line([0,i],[h+v,i])),c.restore()}function w(t,e,n,r,i){var o=t.sri,a=t.sci,l=t.eri,s=t.eci,c=t.w,u=t.h,f=this.draw,h=this.data,d=h.settings;f.save(),f.attr(p).translate(e+r,n+i),d.showGrid?(h.rowEach(o,l,function(t,e,n){t!==o&&f.line([0,e],[c,e]),t===l&&f.line([0,e+n],[c,e+n])}),h.colEach(a,s,function(t,e,n){t!==a&&f.line([e,0],[e,u]),t===s&&f.line([e+n,0],[e+n,u])}),f.restore()):f.restore()}var L=function(){function e(t,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.draw=new s.a(t,n.viewWidth(),n.viewHeight()),this.data=n}var n,r,i;return n=e,(r=[{key:"resetData",value:function(t){this.data=t,this.render()}},{key:"render",value:function(){var e=this.data,n=e.rows,r=e.cols.indexWidth,i=n.height;this.draw.resize(e.viewWidth(),e.viewHeight()),this.clear();var o=e.viewRange(),a=e.freezeTotalWidth(),l=e.freezeTotalHeight(),s=e.scroll,u=s.x,f=s.y;w.call(this,o,r,i,a,l),b.call(this,"all",o,r,i,a,l),function(t,e){var n=this.draw;n.save(),n.attr({fillStyle:"#f4f5f8"}).fillRect(0,0,t,e),n.restore()}.call(this,r,i),g.call(this,o,r,i,-u,-f);var h=c(e.freeze,2),d=h[0],p=h[1];if(d>0||p>0){if(d>0){var v=o.clone();v.sri=0,v.eri=d-1,v.h=l,w.call(this,v,r,i,a,0),b.call(this,"top",v,r,i,a,0),g.call(this,v,r,i,-u,0)}if(p>0){var y=o.clone();y.sci=0,y.eci=p-1,y.w=a,w.call(this,y,r,i,0,l),b.call(this,"left",y,r,i,0,l),g.call(this,y,r,i,0,-f)}var m=e.freezeViewRange();w.call(this,m,r,i,0,0),b.call(this,"all",m,r,i,0,0),g.call(this,m,r,i,0,0),function(e,n,r,i){var o=this.draw,a=this.data,l=a.viewWidth()-e,s=a.viewHeight()-n,c=t.getComputedStyle(o.ctx.canvas).getPropertyValue("--canvas-header-stroke")||"#4b89ff99";o.save().translate(e,n).attr({strokeStyle:"".concat(c)}),o.line([0,i],[l,i]),o.line([r,0],[r,s]),o.restore()}.call(this,r,i,a,l)}}},{key:"clear",value:function(){this.draw.clear()}}])&&u(n.prototype,r),i&&u(n,i),e}();e.a=L}).call(this,n(11))},function(t,e){},function(t,e,n){"use strict";var r=n(2),i=(n(4),n(1));function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(t){for(var e=o(Object(r.b)(t.pop()),2),n=e[0],i=e[1],a=o(Object(r.b)(t.pop()),2),l=a[0],s=a[1],c=[],u=[],f=l;f<=n;f+=1){for(var h=s;h<=i;h+=1)u.push(Object(r.d)(f,h));c.push(u),u=[]}return c}var l=function(t){for(var e=[],n=[],r=[],i=0,o="",l=1,s="",c=!1,u=0;u="a"&&f<="z")r.push((c?"$":"")+f.toUpperCase()),c=!1;else if(f>="0"&&f<="9"||f>="A"&&f<="Z"||"."===f)r.push((c?"$":"")+f),c=!1;else if('"'===f){for(u+=1;'"'!==t.charAt(u);)r.push(t.charAt(u)),u+=1;n.push('"'.concat(r.join(""))),r=[]}else if("-"===f&&/[+\-*/,(]/.test(s))r.push(f);else{if("("!==f&&r.length>0&&n.push(r.join("")),")"===f){if(2===i)try{var h=a(n);n.push(h);var d=e.pop();n.push({f:d,len:l})}catch(t){}else if(1===i||3===i){3===i&&(n.push(o),o="");var p=e.pop();n.push({f:p,len:l}),l=1}else for(var v=e.pop();"("!==v&&(n.push(v),!(e.length<=0));)v=e.pop();i=0}else if("="===f||">"===f||"<"===f){var y=t.charAt(u+1);o=f,"="!==y&&"-"!==y||(o+=y,u+=1),i=3}else if(":"===f)i=2;else if(","===f){if(2===i){var g=a(n);n.push(g)}else 3===i&&(n.push(o),o="");i=1,l+=1}else if("("===f&&r.length>0)e.push(r.join(""));else{if(e.length>0&&("+"===f||"-"===f)){var m=e[e.length-1];if("("!==m&&n.push(e.pop()),"*"===m||"/"===m)for(;e.length>0&&"("!==(m=e[e.length-1]);)n.push(e.pop())}else if(e.length>0){var b=e[e.length-1];"*"!==b&&"/"!==b||n.push(e.pop())}e.push(f)}r=[]}s=f}}for(r.length>0&&n.push(r.join(""));e.length>0;)n.push(e.pop());return o.length>0&&n.push(o),n},s=function t(e,n){if(Array.isArray(e))return e.map(function(e){return t(e,n)});var i=o(e,1)[0],a=e;if('"'===i)return e.substring(1);var l=1;if("-"===i&&(a=e.substring(1),l=-1),a[0]>="0"&&a[0]<="9")return l*Number(a);var s=o(Object(r.b)(a),2),c=s[0],u=s[1];return n(c,u)},c=function(t,e,n,r){for(var o=[],a=0;a"===c||"<"===c){var p=o.pop();Number.isNaN(p)||(p=Number(p));var v=o.pop();Number.isNaN(v)||(v=Number(v));var y=!1;"="===c?y=v===p:">"===l?y=v>p:">="===l?y=v>=p:"<"===l?y=v="a"&&c<="z"||c>="A"&&c<="Z")&&r.push(l),o.push(s(l,n)),r.pop()}}var k=o[0];return null!=k?k:0};e.a={render:function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=l(e.substring(1));return o.length<=0?e:c(o,n,function(e,o){return t(r(e,o),n,r,i)},i)}return e}}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"undefined"!=typeof self&&self,t.exports=function(){"use strict";var t={d:function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e={};t.d(e,{default:function(){return dt}});var n={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const r=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,i={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function a(t){const e=r.exec(t);if(!e)throw new SyntaxError("Malformed locale: ".concat(t));return{lang:e[1]+(e[2]?"_"+e[2]:""),language:e[1],territory:e[2]||"",codeset:e[3]||"",modifier:e[4]||""}}function l(t){if("number"==typeof t)return n[65535&t]||null;const e=parseInt(t,16);return isFinite(e)&&n[65535&e]?n[65535&e]||null:r.test(t)?t:null}function s(t){const e=l(t);let n=null;if(e){const t=a(e);n=i[t.lang]||i[t.language]||null}return n}function c(t){return Object.assign({},o,t)}function u(t,e){const n="object"==typeof e?e:a(e);return i[n.lang]=c(t),n.language===n.lang||i[n.language]||(i[n.language]=c(t)),i[n.lang]}const f=c({group:","});function h(t,e){if("number"!=typeof t)return t;if(t<0)return-h(-t,e);if(e){const n=10**(e||0)||1;return h(t*n,0)/n}return Math.round(t)}function d(t,e,n){const r=t<0?-1:1,i=10**(e||2),o=10**(n||2);let a,l,s=Math.abs(t),c=0,u=0,f=0,h=1;if((t=s)%1==0)l=[t*r,1];else if(t<1e-19)l=[r,1e19];else if(t>1e19)l=[1e19*r,1];else{do{if(s=1/(s-Math.floor(s)),a=h,h=h*Math.floor(s)+c,c=a,u=f,(f=Math.floor(t*h+.5))>=i||h>=o)return[r*u,c]}while(Math.abs(t-f/h)>=1e-10&&s!==Math.floor(s));l=[r*f,h]}return l}f.isDefault=!0,u({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),u({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),u({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),u({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),u({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),u({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),u({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),u({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),u({group:","},"en"),u({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),u({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),u({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),u({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),u({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),u({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),u({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),u({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),u({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),u({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),u({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),u({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),u({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),u({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),u({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),u({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");const p={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},v=Object.assign({},p);function y(t){if(null===t&&(t=p),t)for(const e in t)if(e in p){const n=t[e];v[e]=null==n?p[e]:n}return{...v}}const g=16,m=32,b=64,w={"#":"",0:"0","?":" "},L={"@":"text","-":"minus","+":"plus"},k=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],O=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],x=new RegExp("["+O.join("")+"]");function j(t,e,n){return e[n+"_max"]=t.length,e[n+"_min"]=t.replace(/#/g,"").length,e}const _={};function S(t){if(!(t in _)){const e=[],n=t.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,t=>"?".repeat(t.length));for(let t=0;t1||!t)?n.scale=.001**c[0].length:n.dec_fractions||C(c[0],e)}else{if(c=/^;/.exec(r)){o=!0;break}if(c=/^[@+-]/.exec(r))"@"===c[0]&&(n.text=!0),C({type:L[c[0]]},e);else if(c=/^(?:\[(h+|m+|s+)\])/i.exec(r)){const t=c[1].toLowerCase(),r=t[0],i={type:"",size:0,date:1,raw:c[0],pad:t.length};"h"===r?(i.size=g,i.type="hour-elap"):"m"===r?(i.size=m,i.type="min-elap"):(i.size=b,i.type="sec-elap"),n.date=n.date|i.size,s.push(i),C(i,e)}else if(c=/^(?:B2)/i.exec(r))f||(n.date_system=6);else if(c=/^(?:B1)/i.exec(r))f||(n.date_system=1);else if(c=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(r)){const t={type:"",size:0,date:1,raw:c[0]},r=c[0].toLowerCase(),i=r[0];if("y"===r||"yy"===r)t.size=2,t.type="year-short";else if("y"===i||"e"===i)t.size=2,t.type="year";else if("b"===r||"bb"===r)t.size=2,t.type="b-year-short";else if("b"===i)t.size=2,t.type="b-year";else if("d"===r||"dd"===r)t.size=8,t.type="day",t.pad=/dd/.test(r);else if("ddd"===r)t.size=8,t.type="weekday-short";else if("d"===i)t.size=8,t.type="weekday";else if("h"===i)t.size=g,t.type="hour",t.pad=/hh/i.test(r);else if("m"===i){3===r.length?(t.size=4,t.type="monthname-short"):5===r.length?(t.size=4,t.type="monthname-single"):r.length>=4&&(t.size=4,t.type="monthname");const e=s[s.length-1];!t.type&&e&&!e.used&&80&e.size&&(e.used=!0,t.size=m,t.type="min",t.pad=/mm/.test(r)),t.type||(t.size=4,t.type="month",t.pad=/mm/.test(r),t.indeterminate=!0)}else if("s"===i){t.size=b,t.type="sec",t.pad=/ss/.test(r);const e=s[s.length-1];e&&e.size&m?t.used=!0:e&&e.indeterminate&&(delete e.indeterminate,e.size=m,e.type="min",t.used=!0)}n.date=n.date|t.size,n.date_eval=!0,s.push(t),C(t,e)}else if(c=/^(?:AM\/PM|am\/pm|A\/P)/.exec(r))n.clock=12,n.date=n.date|g,n.date_eval=!0,C({type:"am",short:"A/P"===c[0]},e);else if(n.date&&(c=/^\.0{1,3}/i.exec(r))){const t=c[0].length-1,r=[b,128,256,512][t];n.date=n.date|r,n.date_eval=!0,n.sec_decimals=Math.max(n.sec_decimals,t),C({type:"subsec",size:r,decimals:t,date:1,raw:c[0]},e)}else if((c=/^\\(.)/.exec(r))||(c=/^"([^"]*?)"/.exec(r)))C(c[1],e);else if(c=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(r))n.condition=[c[1],parseFloat(c[2],10)];else if(c=/^\[\$([^\]]+)\]/.exec(r)){const t=c[1].split("-"),r=t.length<2?"":t[t.length-1],i=t[0];i&&C(i,e);const o=l(r);o&&(n.locale=o);const a=parseInt(r,16);isFinite(a)&&16711680&a&&6==(a>>16&255)&&(n.date_system=6),f=!0}else if(c=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(r))n.color=c[2]?k[parseInt(c[2],10)]||"#000":c[1].toLowerCase();else if(c=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(r));else if(c=/^%/.exec(r))n.scale=100,n.percent=!0,C("%",e);else if(c=/^_(\\.|.)/.exec(r))C(" ",e);else if(c=/^\./.exec(r))C({type:"point",value:c[0]},e),n.dec_fractions=!0,i="frac";else if(c=/^[Ee]([+-]?|(?=[0#?]))/.exec(r))n.exponential=!0,n.exp_plus="+"===c[1],i="man",C({type:"exp",plus:"+"===c[1]},e);else if(c=/^\*(\\.|.)/.exec(r));else{if(c=/^[BENn[]/.exec(r))throw new SyntaxError("Unexpected char ".concat(r.charAt(0)," in pattern ").concat(t));"("===r[0]&&(n.parens=!0),C((c=[r[0]])[0],e)}}u=c[0],r=r.slice(c?c[0].length:1)}if(n.pattern=t.slice(0,t.length-r.length),/^((?:\[[^\]]+\])+)(;|$)/.test(n.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(n.pattern)&&C({type:"text"},e),n.fractions&&n.dec_fractions||n.fractions&&n.exponential)throw new SyntaxError("Invalid pattern: ".concat(n.pattern));const h=n.int_pattern.join("");if(n.grouping=h.indexOf(",")>=0,n.grouping){const t=h.split(","),e=t.length;2===e?(n.group_pri=t[1].length,n.group_sec=n.group_pri):e>2&&(n.group_pri=t[e-1].length,n.group_sec=t[e-2].length)}else n.group_pri=0,n.group_sec=0;j(h.replace(/[,]/g,""),n,"int"),j(n.frac_pattern.join(""),n,"frac"),j(n.man_pattern.join(""),n,"man");let d=n.num_pattern.join(""),p=n.den_pattern.join("");const v=/\?/.test(p)||/\?/.test(d);return p=p.replace(/\d/g,v?"?":"#"),v&&(p=p.replace(/#$/g,"?")),j(d,n,"num"),j(p,n,"den"),v&&(d=d.replace(/#$/g,"?")),n.int_padding=S(n.int_pattern.join("")),n.man_padding=S(n.man_pattern.join("")),n.num_padding=S(d),n.den_padding=S(p),n.den_pattern.length&&(n.denominator=parseInt(n.den_pattern.join("").replace(/\D/g,""),10)),n.integer=!!n.int_pattern.join("").length,n.fractions&&e.forEach((t,n)=>{const r=e[n+1];"string"===t.type&&r&&("num"===r.type?t.rule="num+int":"div"===r.type?t.rule="num":"den"===r.type&&(t.rule="den"))}),n}const M=t=>{const e=t.condition;e&&e[1]<0&&("<"===e[0]||"<="===e[0]||"="===e[0])||t.tokens.unshift({type:"minus",volatile:!0})};function T(t){const e=[];let n,r=!1,i=null,o=t,a=0,s=!1,c=0,u=0;do{if(((s=E(o)).date||s.general)&&(s.int_pattern.length||s.frac_pattern.length||1!==s.scale||s.text))throw new Error("Illegal format");if(s.condition&&(u++,r=!0),s.text){if(i)throw new Error("Unexpected partition");i=s}s.locale&&(n=l(s.locale)),e.push(s),a=";"===o.charAt(s.pattern.length)?1:0,o=o.slice(s.pattern.length+a),c++}while(a&&c<4&&u<3);if(a)throw new Error("Unexpected partition");if(u>2)throw new Error("Unexpected condition");const f=e[3];if(f&&(f.int_pattern.length||f.frac_pattern.length||f.date))throw new Error("Unexpected partition");if(r){const t=e.length;if(1===t&&(e[1]=E("General"),e[1].generated=!0),t<3){const t=e[0],n=e[1];if(M(t),n.condition)M(n);else{const e=t.condition;("="===e[0]||e[1]>=0&&(">"===e[0]||">="===e[0]))&&n.tokens.unshift({type:"minus",volatile:!0})}}else e.forEach(M)}else{if(e.length<4&&i)for(let t=0,n=e.length;t",0],e[1].condition=["<",0],e[2].condition=null}return{pattern:t,partitions:e,locale:n}}const P=Math.floor;function A(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e&&t>=0){if(0===t)return[1900,1,0];if(60===t)return[1900,2,29];if(t<60)return[1900,t<32?1:2,(t-1)%31+1]}let n=t+68569+2415019;const r=P(4*n/146097);n-=P((146097*r+3)/4);const i=P(4e3*(n+1)/1461001);n=n-P(1461*i/4)+31;const o=P(80*n/2447),a=n-P(2447*o/80);n=P(o/11);const l=o+2-12*n,s=100*(r-49)+i+n;return[0|s,0|l,0|a]}function Z(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=P(t);return 6===e?function(t){if(60===t)throw new Error("#VALUE!");if(t<=1)return[1317,8,29];if(t<60)return[1317,t<32?9:10,1+(t-2)%30];const e=10631/30;let n=t+466935;const r=P(n/10631),i=P(((n-=10631*r)-.1335)/e);n-=P(i*e+.1335);const o=P((n+28.5001)/29.5);return 13===o?[30*r+i,12,30]:[30*r+i,o,n-P(29.5001*o-29)]}(r):-1===e?function(t){return A(t+1462)}(r):A(r,n)}const D=Math.floor,z=86400;function R(t,e){let n=null;if(Array.isArray(t)){const[e,r,i,o,a,l]=t;n=Date.UTC(e,null==r?0:r-1,null!=i?i:1,o||0,a||0,l||0)}else if(t instanceof Date&&(n=1*t,!e||!e.ignoreTimezone)){const e=new Date;e.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e.setUTCHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n=1*e}if(null!=n&&isFinite(n)){const t=n/864e5;return t-(t<=-25509?-25568:-25569)}return t}function F(t,e){let n=0|t;const r=z*(t-n);let i=D(r);r-i>.9999&&(i+=1)===z&&(i=0,n+=1);const o=i<0?z+i:i,[a,l,s]=Z(t,0,e&&e.leap1900),c=D(o/60/60)%60,u=D(o/60)%60,f=D(o)%60;if(e&&e.nativeDate){const t=new Date(0);return t.setUTCFullYear(a,l-1,s),t.setUTCHours(c,u,f),t}return[a,l,s,c,u,f]}function I(t){return!!(t[0]&&t[0].percent||t[1]&&t[1].percent||t[2]&&t[2].percent||t[3]&&t[3].percent)}function N(t){return!!(t[0]&&t[0].date||t[1]&&t[1].date||t[2]&&t[2].date||t[3]&&t[3].date)}function H(t){const[e,n,r,i]=t;return!(e&&!e.generated||n&&!n.generated||r&&!r.generated||!i||!i.text||i.generated)}const W={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},V=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Y={total:1,sign:0,period:0,int:1,frac:0},B=(t,e)=>t.replace(/\./,e.decimal);function q(t,e,n,r){const i=0|n;if("string"==typeof n)t.push(n);else if(n===i)t.push(Math.abs(i));else{let e=0;const i=Math.abs(n);i&&(e=Math.floor(Math.log10(i)));let o=e<0?i*10**-e:i/10**e;10===o&&(o=1,e++);const a=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=Math.abs(t);if(!n)return Y;const r=e&&t<0?1:0,i=Math.floor(n),o=Math.floor(Math.log10(n)+1);let a=0,l=0;if(i!==n){a=1;const t=String(h(o<0?n*10**-o:n/10**o,15));let e=t.length,r=!0,i=0;for(;i<=t.length;){if("."===t[i]){e--;break}"0"===t[i]&&r?e--:r=!1,i++}(l=e-o)<0&&(l=0,a=0)}return{total:r+Math.max(o,1)+a+l,digits:Math.max(o,0)+l,sign:r,period:a,int:Math.max(o,1),frac:l}}(i),l=()=>{const n=Math.abs(e);let i;i=1===o?o:h(o,5),t.push(B(i+"",r),r.exponent,e<0?r.negative:r.positive,n<10?"0":"",n)};if(e>=-4&&e<=-1){const n=i.toPrecision(10+e).replace(/0+$/,"");t.push(B(n,r))}else if(10===e){const e=i.toFixed(10).slice(0,12).replace(/\.$/,"");t.push(B(e,r))}else if(Math.abs(e)<=9){const n=11;if(a.total<=n){const e=h(i,9).toFixed(a.frac);t.push(B(e,r))}else 9===e?t.push(Math.floor(i)):e>=0&&e<9?t.push(h(i,9-e)):l()}else a.total>=12?l():Math.floor(i)===i?t.push(Math.floor(i)):t.push(B(h(i,9).toFixed(a.frac),r))}return t}const U=86400,$={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},J=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=Math.floor(Math.log10(t));return e>1?Math.floor(n/e)*e:n};function G(t,e,n,r){let i="",o="",a="",l="",s="",c=0,u=0|t,p=0,v=0,y=1,L=0,k=0,O=0,x=0,j=0,_=0;const S=r||f;if(!e.text&&isFinite(e.scale)&&1!==e.scale&&(t=function(t){if(0===t)return t;const e=Math.ceil(Math.log10(t<0?-t:t)),n=10**(16-Math.floor(e));return Math.round(t*n)/n}(t*e.scale)),e.exponential){let n=Math.abs(t);if(n){const t=10**-J(n,e.int_max),r=h(n*t,e.frac_max)/t;c=J(r,e.int_max)}n/=10**c,t=t<0?-n:n,i+=Math.abs(c)}if(e.integer){const n=Math.abs(h(t,e.fractions?1:e.frac_max));s+=n<1?"":Math.floor(n)}if(e.grouping){let t="",n=s.length;for(n>e.group_pri&&(n-=e.group_pri,t=S.group+s.slice(n,n+e.group_pri)+t);n>e.group_sec;)n-=e.group_sec,t=S.group+s.slice(n,n+e.group_sec)+t;s=n?s.slice(0,n)+t:t}e.dec_fractions&&(l=String(h(t,e.frac_max)).split(".")[1]||"");let C=!1;if(e.fractions){const n=Math.abs(e.integer?t%1:t);if(n)if(C=!0,isFinite(e.denominator))a+=e.denominator,"0"===(o+=h(n*e.denominator))&&(o="",a="",C=!1,s||(s="0"));else{const t=d(n,e.integer?e.num_max:1/0,e.den_max);o+=t[0],a+=t[1],e.integer&&"0"===o&&(s||(s="0"),o="",a="",C=!1)}}if(e.date_eval&&((t,e)=>e?t<-694324||t>=35830291:t<0||t>=2958466)(t,n.dateSpanLarge)){if(n.dateErrorThrows)throw new Error("Date out of bounds");return n.dateErrorNumber?q(t<0?[S.negative]:[],0,t,S).join(""):n.overflow}if(e.date){const r=U*(t-(u=0|t));if(p=Math.floor(r),_=r-p,Math.abs(_)<1e-6?_=0:_>.9999&&(_=0,(p+=1)===U&&(p=0,u+=1)),u||e.date_system){const r=Z(t,e.date_system,n.leap1900);v=r[0],y=r[1],L=r[2]}if(p||_){const t=512&e.date||256&e.date||128&e.date||e.date&b||e.date&m||e.date&g;(512===t&&_>.9995||256===t&&_>.995||128===t&&_>.95||t===b&&_>=.5||t===m&&_>=.5||t===g&&_>=.5)&&(p++,_=0);const n=p<0?U+p:p;j=Math.floor(n)%60,x=Math.floor(n/60)%60,O=Math.floor(n/60/60)%60}k=(6+u)%7}if(e.int_padding&&(s=1===e.int_padding.length?s||e.int_padding:e.int_padding.substring(0,e.int_padding.length-s.length)+s),e.num_padding&&(o=1===e.num_padding.length?o||e.num_padding:e.num_padding.substring(0,e.num_padding.length-o.length)+o),e.den_padding&&(a=1===e.den_padding.length?a||e.den_padding:a+e.den_padding.slice(a.length)),e.man_padding){const t=e.exp_plus?"+":"";i=1===e.man_padding.length?(c<0?"-":t)+(i||e.man_padding):(c<0?"-":t)+e.man_padding.slice(0,e.man_padding.length-i.length)+i}const E=[];let M=0;const T={int:0,frac:0,man:0,num:0,den:0};for(let c=0,f=e.tokens.length;c0||e.den_min>0)&&E.push(f.value.replace(/./g,w["?"])):"num+int"===f.rule?C&&s?E.push(f.value):e.den_min>0&&(s||e.num_min)&&E.push(f.value.replace(/./g,w["?"])):"den"===f.rule&&(C?E.push(f.value):(e.den_min>0||e.den_min>0)&&E.push(f.value.replace(/./g,w["?"]))):E.push(f.value);else if("error"===f.type)E.push(n.invalid);else if("point"===f.type)E.push(e.date?f.value:S.decimal);else if("general"===f.type)q(E,0,t,S);else if("exp"===f.type)E.push(S.exponent);else if("minus"===f.type)f.volatile&&e.date||f.volatile&&(t>=0||"number"!=typeof t)||(f.volatile&&!e.fractions&&(e.integer||e.dec_fractions)?(t<0&&s&&"0"!==s||l)&&E.push(S.negative):E.push(S.negative));else if("plus"===f.type)E.push(S.positive);else if("text"===f.type)E.push(t);else if("div"===f.type)C?E.push("/"):e.num_min>0||e.den_min>0?E.push(w["?"]):E.push(w["#"]);else if("int"===f.type)if(1===e.int_pattern.length)E.push(s);else{const t=M?e.int_pattern.join("").length-T.int:1/0,n=M===e.int_pattern.length-1?0:e.int_pattern.join("").length-(T.int+f.num.length);E.push(s.substring(s.length-t,s.length-n)),M++,T.int+=f.num.length}else if("frac"===f.type){const t=T.frac;for(let e=0;e"===n?e=t>i:"<"===n?e=t="===n?e=t>=i:"<="===n?e=t<=i:"<>"===n&&(e=t!==i)}else e=!0;if(e)return r}}}const K=E("@"),Q="black",tt={};function et(t,e){if(t){const n=t[0];e[n]=e[n]||{},et(t.slice(1),e[n])}else e.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(t=>{et(t,tt),et(t+" x",tt),et(t+" l",tt),et(t+" l x",tt),et("l "+t,tt),et("l "+t+" x",tt),et(t+" D",tt),et(t+" D x",tt),et("D "+t,tt),et("D "+t+" x",tt)});const nt={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},rt={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},it={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},ot=(new Date).getUTCFullYear();function at(t){const e=new RegExp("^([\\s+%"+O.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+O.join("")+")]*)$").exec(t);if(e){const[,t,n,r,i,o]=e;let a=1,l="",s=!1,c=!1,u=!1,f=!1,h=!1,d=null,p=!1,v=parseFloat(n.replace(/,/g,""));if(!isFinite(v))return null;for(let e=0;e{const r=n.path||"",i=Object.keys(e);for(let o=0;o=30?+i[0]+1900:+i[0]+2e3;a=lt(t.slice(i[0].length),e[l],{...n,year:o,path:r+l})}}else if("Y"===l){const i=/^\d\d\d\d\b/.exec(t);i&&(a=lt(t.slice(i[0].length),e[l],{...n,year:+i[0],path:r+l}))}else{if("x"!==l)throw new Error('Unknown date token "'.concat(l,'"'));{const i=ct(t);i&&(a=lt("",e[l],{...n,time:i.v,tf:i.z,path:r+l}))}}if(a)return a}}};function st(t,e){const n=lt(t.trim(),tt,{path:""});if(n){var r;if("."===n.sep&&3===n.path.length)return null;const t=+(null!==(r=n.year)&&void 0!==r?r:ot);if(n.day||(n.day=1),!function(t,e,n){if(n<1)return!1;if(e<1||e>12)return!1;if(2===e){if(n>(t%4==0&&t%100!=0||t%400==0||1900===t?29:28))return!1}else if((4===e||6===e||9===e||11===e)&&n>30||(1===e||3===e||5===e||7===e||8===e||10===e||12===e)&&n>31)return!1;return!0}(t,n.month,n.day))return null;let i=-1/0;if(t<1900)return null;t<=1900&&n.month<=2?i=25568:t<1e4&&(i=25569);const o=Date.UTC(t,n.month-1,n.day)/864e5+i+(n.time||0);if(o>=0&&o<=2958465){const t="0"===n._mon[0]||"0"===n.day[0]||2===n._mon.length&&2===n.day.length,r=n.path.replace(/[jdlDnmMFyYx-]/g,e=>"j"===e||"d"===e?t?"dd":"d":"D"===e?"ddd":"l"===e?"dddd":"n"===e||"m"===e?t?"mm":"m":"M"===e?"mmm":"F"===e?"mmmm":"y"===e?"yy":"x"===e?n.tf||"":"Y"===e?"yyyy":e);return e&&e.nativeDate?{v:F(o,e),z:r}:{v:o,z:r}}}return null}function ct(t){const e=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(t);if(e){const[,t,n,r,i,o]=e;if(i&&!r)return null;if(!o&&!n&&!r)return null;let a=1*(t||0);if(o){if(a>=13)return null;"p"!==o[0]&&"P"!==o[0]||(a+=12)}return{v:(60*a*60+1*(n||0)*60+1*(r||0)+1*(i||0))/86400,z:(2===t.length?"hh":"h")+":mm"+(r?":ss":"")+(o?" AM/PM":"")}}return null}function ut(t){return/^\s*true\s*$/i.test(t)?{v:!0}:/^\s*false\s*$/i.test(t)?{v:!1}:null}const ft={};function ht(t,e){t||(t="General");let n=null;return ft[t]?n=ft[t]:(n=Object.assign({},y(),e).throws?T(t):function(t){try{return T(t)}catch(e){const n={tokens:[{type:"error"}],error:e.message};return{pattern:t,partitions:[n,n,n,n],error:e.message,locale:null}}}(t)).error||(ft[t]=n),function(t,e){const{pattern:n,partitions:r,locale:i}=t,o=t=>{const n=Object.assign({},y(),e,t);return i&&(n.locale=i),n},a=(t,e)=>{const n=o(e);return function(t,e,n){const r=s(n.locale),i=e[3]?e[3]:K;if("boolean"==typeof t&&(t=t?"TRUE":"FALSE"),null==t)return"";if("number"!=typeof t)return G(t,i,n,r);if(!isFinite(t)){const e=r||f;return isNaN(t)?e.nan:(t<0?e.negative:"")+e.infinity}const o=X(t,e);return o?G(t,o,n,r):n.overflow}(R(t,n),r,n)};a.color=(t,e)=>(function(t,e){if("number"!=typeof t||!isFinite(t))return(e[3]?e[3].color:K.color)||Q;const n=X(t,e);return n&&n.color||Q})(R(t,o(e)),r);const l=function(t){var e;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const[r,i]=t,o=r.frac_max,a={type:"general",isDate:N(t),isText:H(t),isPercent:I(t),maxDecimals:r.general?9:o,scale:null!==(e=r.scale)&&void 0!==e?e:1,color:0,parentheses:0,grouped:r.grouping?1:0,_partitions:t},l=!a.isDate&&!a.isText&&!r.error&&r.tokens.some(t=>"string"===t.type&&(n?t.value===n:x.test(t.value)));let s="G",c=o>=0?Math.min(15,o):"",u="",f="";if(i&&i.color&&(f="-",a.color=1),r.parens&&(u="()",a.parentheses=1),l)s="C",a.type="currency";else if(r.error)a.type="error",a.maxDecimals=0;else if(a.isDate){let t=0,e=0,n="";r.tokens.forEach(r=>{const i=r.type;/^(b-)?year/.test(i)?(n+="Y",e++):i.startsWith("month")?(n+="M",e++):/^(week)?day/.test(i)?(n+="D",e++):"hour"!==i&&"min"!==i&&"sec"!==i&&"am"!==i||(n+=i[0],t++)}),a.type="date",e&&t?a.type="datetime":!e&&t&&(a.type="time");const i=V.find(t=>n.startsWith(t[0]));s=i?"D":"G",c=i?i[1]:""}else a.isText?(s="G",a.type="text",c="",a.maxDecimals=0):r.general?(s="G",a.type="general",c=""):r.fractions?(s="G",a.type="fraction",c=""):r.exponential?(s="S",a.type="scientific"):a.isPercent?(s="P",a.type="percent"):r.grouping?(s=",",a.type="grouped"):(r.int_max||o)&&(s="F",a.type="number");return a.code=s+c+f+u,a.level=W[a.type],Object.freeze(a)}(r,(e||{}).currency)||new SyntaxError;return a.info=l,a.dateInfo=function(t){const[e]=t;return{year:!!(2&e.date),month:!!(4&e.date),day:!!(8&e.date),hours:!!(e.date&g),minutes:!!(e.date&m),seconds:!!(e.date&b),clockType:12===e.clock?12:24}}(r),a.isPercent=()=>!!l.isPercent,a.isDate=()=>!!l.isDate,a.isText=()=>!!l.isText,a.pattern=n,t.error&&(a.error=t.error),a.options=o,a.locale=i||e&&e.locale||"",Object.freeze(a)}(n,e)}ht.isDate=t=>ht(t,{throws:!1}).isDate(),ht.isPercent=t=>ht(t,{throws:!1}).isPercent(),ht.isText=t=>ht(t,{throws:!1}).isText(),ht.getInfo=(t,e)=>ht(t,{...e,throws:!1}).info,ht.getDateInfo=(t,e)=>ht(t,{...e,throws:!1}).dateInfo,ht.dateToSerial=R,ht.dateFromSerial=F,ht.options=y,ht.dec2frac=d,ht.round=h,ht.codeToLocale=n,ht.parseLocale=a,ht.getLocale=s,ht.addLocale=(t,e)=>{const n=a(e);return delete ft[n.lang],delete ft[n.language],u(t,n)},ht.format=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=n&&"object"==typeof n?n:{locale:n,throws:!r};return ht(t,i)(R(e,i),i)},ht.is_date=ht.isDate,ht.parseNumber=at,ht.parseDate=st,ht.parseTime=ct,ht.parseBool=ut,ht.parseValue=function(t,e){var n,r,i;return null!==(n=null!==(r=null!==(i=at(t))&&void 0!==i?i:st(t,e))&&void 0!==r?r:ct(t))&&void 0!==n?n:ut(t)};var dt=ht;return e=e.default}()},function(t,e,n){},function(t,e,n){"use strict";function r(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),"string"==typeof e?(this.el=document.createElement(e),this.el.className=n):this.el=e,this.data={}}var e,n,o;return e=t,(n=[{key:"data",value:function(t,e){return void 0!==e?(this.data[t]=e,this):this.data[t]}},{key:"on",value:function(t,e){var n=r(t.split(".")),i=n[0],o=n.slice(1),a=i;return"mousewheel"===a&&/Firefox/i.test(window.navigator.userAgent)&&(a="DOMMouseScroll"),this.el.addEventListener(a,function(t){e(t);for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"active";return this.toggleClass(t)}},{key:"toggleClass",value:function(t){return this.el.classList.toggle(t)}},{key:"active",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"active";return t?this.addClass(e):this.removeClass(e),this}},{key:"checked",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.active(t,"checked"),this}},{key:"disabled",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t?this.addClass("disabled"):this.removeClass("disabled"),this}},{key:"attr",value:function(t,e){var n=this;if(void 0!==e)this.el.setAttribute(t,e);else{if("string"==typeof t)return this.el.getAttribute(t);Object.keys(t).forEach(function(e){n.el.setAttribute(e,t[e])})}return this}},{key:"removeAttr",value:function(t){return this.el.removeAttribute(t),this}},{key:"html",value:function(t){return void 0!==t?(this.el.innerHTML=t,this):this.el.innerHTML}},{key:"val",value:function(t){return void 0!==t?(this.el.value=t,this):this.el.value}},{key:"focus",value:function(){this.el.focus()}},{key:"cssRemoveKeys",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:"";return new o(t,e)},l=n(2);function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function c(t,e){for(var n=0;n4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sri=e,this.sci=n,this.eri=r,this.eci=i,this.w=o,this.h=a}var e,n,r;return e=t,r=[{key:"valueOf",value:function(e){var n=e.split(":"),r=s(Object(l.b)(n[0]),2),i=r[0],o=r[1],a=o,c=i;if(n.length>1){var u=s(Object(l.b)(n[1]),2);c=u[0],a=u[1]}return new t(o,i,a,c)}}],(n=[{key:"set",value:function(t,e,n,r){this.sri=t,this.sci=e,this.eri=n,this.eci=r}},{key:"multiple",value:function(){return this.eri-this.sri>0||this.eci-this.sci>0}},{key:"includes",value:function(){for(var t=0,e=0,n=arguments.length,r=new Array(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=this.sri,r=this.sci,i=this.eri,o=this.eci,a=n;a<=i;a+=1)if(e(a))for(var l=r;l<=o;l+=1)t(a,l)}},{key:"contains",value:function(t){return this.sri<=t.sri&&this.sci<=t.sci&&this.eri>=t.eri&&this.eci>=t.eci}},{key:"within",value:function(t){return this.sri>=t.sri&&this.sci>=t.sci&&this.eri<=t.eri&&this.eci<=t.eci}},{key:"disjoint",value:function(t){return this.sri>t.eri||this.sci>t.eci||t.sri>this.eri||t.sci>this.eci}},{key:"intersects",value:function(t){return this.sri<=t.eri&&this.sci<=t.eci&&t.sri<=this.eri&&t.sci<=this.eci}},{key:"union",value:function(e){var n=this.sri,r=this.sci,i=this.eri,o=this.eci;return new t(e.srii?e.eri:i,e.eci>o?e.eci:o)}},{key:"difference",value:function(e){var n=[],r=function(e,r,i,o){n.push(new t(e,r,i,o))},i=this.sri,o=this.sci,a=this.eri,l=this.eci,s=e.sri-i,c=e.sci-o,u=a-e.eri,f=l-e.eci;return s>0?(r(i,o,e.sri-1,l),u>0?(r(e.eri+1,o,a,l),c>0&&r(e.sri,o,e.eri,e.sci-1),f>0&&r(e.sri,e.eci+1,e.eri,l)):(c>0&&r(e.sri,o,a,e.sci-1),f>0&&r(e.sri,e.eci+1,a,l))):u>0&&(r(e.eri+1,o,a,l),c>0&&r(i,o,e.eri,e.sci-1),f>0&&r(i,e.eci+1,e.eri,l)),c>0?(r(i,o,a,e.sci-1),f>0?(r(i,e.eri+1,a,l),s>0&&r(i,e.sci,e.sri-1,e.eci),u>0&&r(e.sri+1,e.sci,a,e.eci)):(s>0&&r(i,e.sci,e.sri-1,l),u>0&&r(e.sri+1,e.sci,a,l))):f>0&&(r(a,e.eci+1,a,l),s>0&&r(i,o,e.sri-1,e.eci),u>0&&r(e.eri+1,o,a,e.eci)),n}},{key:"size",value:function(){return[this.eri-this.sri+1,this.eci-this.sci+1]}},{key:"toString",value:function(){var t=this.sri,e=this.sci,n=this.eri,r=this.eci,i=Object(l.d)(e,t);return this.multiple()&&(i="".concat(i,":").concat(Object(l.d)(r,n))),i}},{key:"clone",value:function(){return new t(this.sri,this.sci,this.eri,this.eci,this.w,this.h)}},{key:"equals",value:function(t){return this.eri===t.eri&&this.eci===t.eci&&this.sri===t.sri&&this.sci===t.sci}}])&&c(e.prototype,n),r&&c(e,r),t}();function f(t,e){for(var n=0;n0}},{key:"canRedo",value:function(){return this.redoItems.length>0}},{key:"undo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canUndo()&&(r.push(JSON.stringify(t)),e(JSON.parse(n.pop())))}},{key:"redo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canRedo()&&(n.push(JSON.stringify(t)),e(JSON.parse(r.pop())))}}])&&p(e.prototype,n),r&&p(e,r),t}();function y(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._=e}var e,n,r;return e=t,(n=[{key:"forEach",value:function(t){this._.forEach(t)}},{key:"deleteWithin",value:function(t){this._=this._.filter(function(e){return!e.within(t)})}},{key:"getFirstIncludes",value:function(t,e){for(var n=0;n=e?(c.sri+=n,c.eri+=n):o=e?(c.sci+=n,c.eci+=n):a0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this.get(t);return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumHeight",value:function(t,e,n){var r=this;return _.a.rangeSum(t,e,function(t){return n&&n.has(t)?0:r.getHeight(t)})}},{key:"totalHeight",value:function(){return this.sumHeight(0,this.len)}},{key:"get",value:function(t){return this._[t]}},{key:"getOrNew",value:function(t){return this._[t]=this._[t]||{cells:{}},this._[t]}},{key:"getCell",value:function(t,e){var n=this.get(t);return void 0!==n&&void 0!==n.cells&&void 0!==n.cells[e]?n.cells[e]:null}},{key:"getCellMerge",value:function(t,e){var n=this.getCell(t,e);return n&&n.merge?n.merge:[0,0]}},{key:"getCellOrNew",value:function(t,e){var n=this.getOrNew(t);return n.cells[e]=n.cells[e]||{},n.cells[e]}},{key:"setCell",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"all",i=this.getOrNew(t);"all"===r?i.cells[e]=n:"text"===r?(i.cells[e]=i.cells[e]||{},i.cells[e].text=n.text):"format"===r&&(i.cells[e]=i.cells[e]||{},i.cells[e].style=n.style,n.merge&&(i.cells[e].merge=n.merge))}},{key:"setCellText",value:function(t,e,n){var r=this.getCellOrNew(t,e);!1!==r.editable&&(r.text=n)}},{key:"copyPaste",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=t.sri,a=t.sci,s=t.eri,c=t.eci,u=e.sri,f=e.sci,h=e.eri,d=e.eci,p=t.size(),v=S(p,2),y=v[0],g=v[1],m=e.size(),b=S(m,2),w=b[0],L=b[1],k=!0,O=0;(h0&&function(){var t=P.text,e=E-f+(C-u)+2;if(k||(e-=O+1),console.log("n: ".concat(e)),"="===t[0])P.text=t.replace(/\$?[a-zA-Z]{1,3}\$?\d+/g,function(t){var n=0,r=0;return o===u?n=e-1+(f-a)-1:r=e-1+(u-o)-1,/^\d+$/.test(t)?t:Object(l.a)(t,n,r)});else if(y<=1&&g>1&&(u>s||h1&&(f>c||d1&&void 0!==arguments[1]?arguments[1]:1,r={};this.each(function(i,o){var a=parseInt(i,10);a>=t&&(a+=n,e.eachCells(i,function(e,r){r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return Object(l.a)(e,0,n,function(e,n){return n>=t})}))})),r[a]=o}),this._=r,this.len+=n}},{key:"delete",value:function(t,e){var n=this,r=e-t+1,i={};this.each(function(o,a){var s=parseInt(o,10);se&&(i[s-r]=a,n.eachCells(o,function(t,n){n.text&&"="===n.text[0]&&(n.text=n.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return Object(l.a)(t,0,-r,function(t,n){return n>e})}))}))}),this._=i,this.len-=r}},{key:"insertColumn",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.each(function(r,i){var o={};e.eachCells(r,function(e,r){var i=parseInt(e,10);i>=t&&(i+=n,r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return Object(l.a)(e,n,0,function(e){return e>=t})}))),o[i]=r}),i.cells=o})}},{key:"deleteColumn",value:function(t,e){var n=this,r=e-t+1;this.each(function(i,o){var a={};n.eachCells(i,function(n,i){var o=parseInt(n,10);oe&&(a[o-r]=i,i.text&&"="===i.text[0]&&(i.text=i.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return Object(l.a)(t,-r,0,function(t){return t>e})})))}),o.cells=a})}},{key:"deleteCells",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";t.each(function(t,r){e.deleteCell(t,r,n)})}},{key:"deleteCell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",r=this.get(t);if(null!==r){var i=this.getCell(t,e);null!==i&&!1!==i.editable&&("all"===n?delete r.cells[e]:"text"===n?(i.text&&delete i.text,i.value&&delete i.value):"format"===n?(void 0!==i.style&&delete i.style,i.merge&&delete i.merge):"merge"===n&&i.merge&&delete i.merge)}}},{key:"maxCell",value:function(){var t=Object.keys(this._),e=t[t.length-1],n=this._[e];if(n){var r=n.cells,i=Object.keys(r),o=i[i.length-1];return[parseInt(e,10),parseInt(o,10)]}return[0,0]}},{key:"each",value:function(t){Object.entries(this._).forEach(function(e){var n=S(e,2),r=n[0],i=n[1];t(r,i)})}},{key:"eachCells",value:function(t,e){this._[t]&&this._[t].cells&&Object.entries(this._[t].cells).forEach(function(t){var n=S(t,2),r=n[0],i=n[1];e(r,i)})}},{key:"setData",value:function(t){t.len&&(this.len=t.len,delete t.len),this._=t}},{key:"getData",value:function(){var t=this.len;return Object.assign({len:t},this._)}}])&&C(e.prototype,n),r&&C(e,r),t}();function M(t,e){for(var n=0;n0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this._[t];return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumWidth",value:function(t,e){var n=this;return _.a.rangeSum(t,e,function(t){return n.getWidth(t)})}},{key:"totalWidth",value:function(){return this.sumWidth(0,this.len)}}])&&M(e.prototype,n),r&&M(e,r),t}(),P=n(0);function A(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Z(t,e){for(var n=0;n2?r-2:0),o=2;o=this.parseValue(l)&&o<=this.parseValue(s),"between",l,s)}if("nbe"===n){var c=A(r,2),u=c[0],f=c[1];return z(othis.parseValue(f),"notBetween",u,f)}if("eq"===n)return z(o===this.parseValue(r),"equal",r);if("neq"===n)return z(o!==this.parseValue(r),"notEqual",r);if("lt"===n)return z(othis.parseValue(r),"greaterThan",r);if("gte"===n)return z(o>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}])&&Z(e.prototype,n),r&&Z(e,r),t}();function F(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function I(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function N(t,e){for(var n=0;n0}).map(function(t){return t.getData()})}},{key:"setData",value:function(t){this._=t.map(function(t){return W.valueOf(t)})}}]),t}();function Y(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:function(){},r=this.merges,i=e.clone(),o=q(t.size(),2),a=o[0],l=o[1],s=q(e.size(),2),c=s[0],u=s[1];return a>c&&(i.eri=e.sri+a-1),l>u&&(i.eci=e.sci+l-1),!r.intersects(i)||(n(Object(P.b)("error.pasteForMergedCell")),!1)}function J(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.rows,o=this.merges;"all"!==n&&"format"!==n||(i.deleteCells(e,n),o.deleteWithin(e)),i.copyPaste(t,e,n,r,function(t,e,n){if(n&&n.merge){var r=q(n.merge,2),i=r[0],a=r[1];if(i<=0&&a<=0)return;o.add(new u(t,e,t+i,e+a))}})}function G(t,e){var n=this.clipboard,r=this.rows,i=this.merges;r.cutPaste(t,e),i.move(t,e.sri-t.sri,e.sci-t.sci),n.clear()}function X(t,e,n){var r=this.styles,i=this.rows.getCellOrNew(t,e),o={};void 0!==i.style&&(o=_.a.cloneDeep(r[i.style])),o=_.a.merge(o,{border:n}),i.style=this.addStyle(o)}var K=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.settings=_.a.merge(U,n||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new j,this.rows=new E(this.settings.row),this.cols=new T(this.settings.col),this.validations=new V,this.hyperlinks={},this.comments={},this.selector=new h,this.scroll=new d,this.history=new v,this.clipboard=new g,this.autoFilter=new O,this.change=function(){},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}var e,n,r;return e=t,(n=[{key:"addValidation",value:function(t,e,n){var r=this;this.changeData(function(){r.validations.add(t,e,n)})}},{key:"removeValidation",value:function(){var t=this,e=this.selector.range;this.changeData(function(){t.validations.remove(e)})}},{key:"getSelectedValidator",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=this.validations.get(e,n);return r?r.validator:null}},{key:"getSelectedValidation",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=t.range,i=this.validations.get(e,n),o={ref:r.toString()};return null!==i&&(o.mode=i.mode,o.validator=i.validator),o}},{key:"canUndo",value:function(){return this.history.canUndo()}},{key:"canRedo",value:function(){return this.history.canRedo()}},{key:"undo",value:function(){var t=this;this.history.undo(this.getData(),function(e){t.setData(e)})}},{key:"redo",value:function(){var t=this;this.history.redo(this.getData(),function(e){t.setData(e)})}},{key:"copy",value:function(){this.clipboard.copy(this.selector.range)}},{key:"copyToSystemClipboard",value:function(t){for(var e=[],n=this.selector.range,r=n.sri,i=n.eri,o=n.sci,a=n.eci,l=r;l<=i;l+=1){for(var s=[],c=o;c<=a;c+=1){var u=this.getCell(l,c);s.push(u&&u.text||"")}e.push(s)}e=e.map(function(t){return t.join("\t")}).join("\n"),t&&(t.clipboardData.clearData(),t.clipboardData.setData("text/plain",e),t.preventDefault()),navigator.clipboard&&navigator.clipboard.writeText(e).then(function(){},function(t){console.log("text copy to the system clipboard error ",e,t)})}},{key:"cut",value:function(){this.clipboard.cut(this.selector.range)}},{key:"paste",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=this.clipboard,i=this.selector;return!r.isClear()&&(!!$.call(this,r.range,i.range,n)&&(this.changeData(function(){r.isCopy()?J.call(t,r.range,i.range,e,t.settings.autoFillOnCopy):r.isCut()&&G.call(t,r.range,i.range)}),!0))}},{key:"pasteFromSystemClipboard",value:function(t,e){var n=this,r=this.selector;navigator.clipboard.readText().then(function(i){var o=n.parseClipboardContent(i),a=r.ri;o.forEach(function(t){var e=r.ci;t.forEach(function(t){n.setCellText(a,e,t,"input"),e+=1}),a+=1}),t(),e(n.rows.getData())})}},{key:"parseClipboardContent",value:function(t){var e=[],n=t.split("\n"),r=0;return n.forEach(function(t){e[r]=t.split("\t"),r+=1}),e}},{key:"pasteFromText",value:function(t){var e=[];if((e=/\r\n/.test(t)?t.split("\r\n").map(function(t){return t.replace(/"/g,"").split("\t")}):t.split("\n").map(function(t){return t.replace(/"/g,"").split("\t")})).length){var n=this.rows,r=this.selector;this.changeData(function(){n.paste(e,r.range)})}}},{key:"autofill",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=this.selector.range;return!!$.call(this,i,t,r)&&(this.changeData(function(){J.call(n,i,t,e,!0)}),!0)}},{key:"clearClipboard",value:function(){this.clipboard.clear()}},{key:"calSelectedRangeByEnd",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges,a=n.range,l=a.sri,s=a.sci,c=a.eri,f=a.eci,h=n.ri,d=n.ci,p=t,v=e;return t<0&&(p=r.len-1),e<0&&(v=i.len-1),p>h?(l=h,c=p):(l=p,c=h),v>d?(s=d,f=v):(s=v,f=d),n.range=o.union(new u(l,s,c,f)),n.range=o.union(n.range),n.range}},{key:"calSelectedRangeByStart",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges.getFirstIncludes(t,e);return null===o&&(o=new u(t,e,t,e),-1===t&&(o.sri=0,o.eri=r.len-1),-1===e&&(o.sci=0,o.eci=i.len-1)),n.range=o,o}},{key:"setSelectedCellAttr",value:function(t,e){var n=this;this.changeData(function(){var r=n.selector,i=n.styles,o=n.rows;if("merge"===t)e?n.merge():n.unmerge();else if("border"===t)(function(t){var e=this,n=t.mode,r=t.style,i=t.color,o=this.styles,a=this.selector,l=this.rows,s=a.range,c=s.sri,u=s.sci,f=s.eri,h=s.eci,d=!this.isSingleSelected();if(d||"inside"!==n&&"horizontal"!==n&&"vertical"!==n)if("outside"!==n||d){if("none"===n)a.range.each(function(t,n){var r=l.getCell(t,n);if(r&&void 0!==r.style){var i=_.a.cloneDeep(o[r.style]);delete i.border,r.style=e.addStyle(i)}});else if("all"===n||"inside"===n||"outside"===n||"horizontal"===n||"vertical"===n)!function(){for(var t=[],o=c;o<=f;o+=1)for(var a=u;a<=h;a+=1){for(var s=[],p=0;ph)break;var w=l.getCell(o,a),L=0,k=0;if(w&&w.merge){var O=q(w.merge,2);L=O[0],k=O[1],t.push([o,a,L,k])}var x=L>0&&o+L===f,j=k>0&&a+k===h,_={};"all"===n?_={bottom:[r,i],top:[r,i],left:[r,i],right:[r,i]}:"inside"===n?(!j&&a0&&X.call(e,o,a,_),a+=k}}();else if("top"===n||"bottom"===n)for(var p=u;p<=h;p+=1)"top"===n&&(X.call(this,c,p,{top:[r,i]}),p+=l.getCellMerge(c,p)[1]),"bottom"===n&&(X.call(this,f,p,{bottom:[r,i]}),p+=l.getCellMerge(f,p)[1]);else if("left"===n||"right"===n)for(var v=c;v<=f;v+=1)"left"===n&&(X.call(this,v,u,{left:[r,i]}),v+=l.getCellMerge(v,u)[0]),"right"===n&&(X.call(this,v,h,{right:[r,i]}),v+=l.getCellMerge(v,h)[0])}else X.call(this,c,u,{top:[r,i],bottom:[r,i],left:[r,i],right:[r,i]})}).call(n,e);else if("formula"===t){var a=r.ri,s=r.ci,c=r.range;if(r.multiple()){var u=q(r.size(),2),f=u[0],h=u[1],d=c.sri,p=c.sci,v=c.eri,y=c.eci;if(f>1)for(var g=p;g<=y;g+=1){o.getCellOrNew(v+1,g).text="=".concat(e,"(").concat(Object(l.d)(g,d),":").concat(Object(l.d)(g,v),")")}else if(h>1){o.getCellOrNew(a,y+1).text="=".concat(e,"(").concat(Object(l.d)(p,a),":").concat(Object(l.d)(y,a),")")}}else{o.getCellOrNew(a,s).text="=".concat(e,"()")}}else r.range.each(function(r,a){var l=o.getCellOrNew(r,a),s={};if(void 0!==l.style&&(s=_.a.cloneDeep(i[l.style])),"format"===t)s.format=e,l.style=n.addStyle(s);else if("font-bold"===t||"font-italic"===t||"font-name"===t||"font-size"===t){var c={};c[t.split("-")[1]]=e,s.font=Object.assign(s.font||{},c),l.style=n.addStyle(s)}else"strike"===t||"textwrap"===t||"underline"===t||"align"===t||"valign"===t||"color"===t||"bgcolor"===t?(s[t]=e,l.style=n.addStyle(s)):l[t]=e})})}},{key:"setSelectedCellText",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"input",n=this.autoFilter,r=this.selector,i=this.rows,o=r.ri,a=r.ci,l=o;this.unsortedRowMap.has(o)&&(l=this.unsortedRowMap.get(o));var s=i.getCell(l,a),c=s?s.text:"";if(this.setCellText(l,a,t,e),n.active()){var u=n.getFilter(a);if(u){var f=u.value.findIndex(function(t){return t===c});f>=0&&u.value.splice(f,1,t)}}}},{key:"getSelectedCell",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=e;return this.unsortedRowMap.has(e)&&(r=this.unsortedRowMap.get(e)),this.rows.getCell(r,n)}},{key:"xyInSelectedRect",value:function(t,e){var n=this.getSelectedRect(),r=n.left,i=n.top,o=n.width,a=n.height,l=t-this.cols.indexWidth,s=e-this.rows.height;return l>r&&li&&s0&&y>c&&(d=c),v>0&&v>u&&(p=u),{l:c,t:u,left:d,top:p,height:f,width:h,scroll:e}}},{key:"getCellRectByXY",value:function(t,e){var n=this.scroll,r=this.merges,i=this.rows,o=this.cols,a=function(t,e){var n=this.rows,r=this.freezeTotalHeight(),i=n.height;r+n.heightt);a+=1)o.has(a)||(l+=s=n.getHeight(a));return(l-=s)<=0?{ri:-1,top:0,height:s}:{ri:a-1,top:l,height:s}}.call(this,e,n.y),l=a.ri,s=a.top,c=a.height,u=function(t,e){var n=this.cols,r=this.freezeTotalWidth(),i=n.indexWidth;r+n.indexWidth=0||f>=0){var p=r.getFirstIncludes(l,f);if(p){l=p.sri,f=p.sci;var v=this.cellRect(l,f);h=v.left,s=v.top,d=v.width,c=v.height}}return{ri:l,ci:f,left:h,top:s,width:d,height:c}}},{key:"isSingleSelected",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=q(o.merge,2),l=a[0],s=a[1];if(e+l===r&&n+s===i)return!0}return!this.selector.multiple()}},{key:"canUnmerge",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=q(o.merge,2),l=a[0],s=a[1];if(e+l===r&&n+s===i)return!0}return!1}},{key:"merge",value:function(){var t=this,e=this.selector,n=this.rows;if(!this.isSingleSelected()){var r=q(e.size(),2),i=r[0],o=r[1];if(i>1||o>1){var a=e.range,l=a.sri,s=a.sci;this.changeData(function(){var r=n.getCellOrNew(l,s);r.merge=[i-1,o-1],t.merges.add(e.range),t.rows.deleteCells(e.range),t.rows.setCell(l,s,r)})}}}},{key:"unmerge",value:function(){var t=this,e=this.selector;if(this.isSingleSelected()){var n=e.range,r=n.sri,i=n.sci;this.changeData(function(){t.rows.deleteCell(r,i,"merge"),t.merges.deleteWithin(e.range)})}}},{key:"canAutofilter",value:function(){return!this.autoFilter.active()}},{key:"autofilter",value:function(){var t=this,e=this.autoFilter,n=this.selector;this.changeData(function(){e.active()?(e.clear(),t.exceptRowSet=new Set,t.sortedRowMap=new Map,t.unsortedRowMap=new Map):e.ref=n.range.toString()})}},{key:"setAutoFilter",value:function(t,e,n,r){var i=this.autoFilter;i.addFilter(t,n,r),i.setSort(t,e),this.resetAutoFilter()}},{key:"resetAutoFilter",value:function(){var t=this,e=this.autoFilter,n=this.rows;if(e.active()){var r=e.sort,i=e.filteredRows(function(t,e){return n.getCell(t,e)}),o=i.rset,a=i.fset,l=Array.from(a),s=Array.from(a);r&&l.sort(function(t,e){return"asc"===r.order?t-e:"desc"===r.order?e-t:0}),this.exceptRowSet=o,this.sortedRowMap=new Map,this.unsortedRowMap=new Map,l.forEach(function(e,n){t.sortedRowMap.set(s[n],e),t.unsortedRowMap.set(e,s[n])})}}},{key:"deleteCell",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=this.selector;this.changeData(function(){t.rows.deleteCells(n.range,e),"all"!==e&&"format"!==e||t.merges.deleteWithin(n.range)})}},{key:"insert",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.changeData(function(){var r=e.selector.range,i=r.sri,o=r.sci,a=e.rows,l=e.merges,s=e.cols,c=i;"row"===t?a.insert(i,n):"column"===t&&(a.insertColumn(o,n),c=o,s.len+=1),l.shift(t,c,n,function(t,e,n,r){var i=a.getCell(t,e);i.merge[0]+=n,i.merge[1]+=r})})}},{key:"delete",value:function(t){var e=this;this.changeData(function(){var n=e.rows,r=e.merges,i=e.selector,o=e.cols,a=i.range,l=i.range,s=l.sri,c=l.sci,u=l.eri,f=l.eci,h=q(i.range.size(),2),d=h[0],p=h[1],v=s,y=d;"row"===t?n.delete(s,u):"column"===t&&(n.deleteColumn(c,f),v=a.sci,y=p,o.len-=f-c+1),r.shift(t,v,-y,function(t,e,r,i){var o=n.getCell(t,e);o.merge[0]+=r,o.merge[1]+=i,0===o.merge[0]&&0===o.merge[1]&&delete o.merge})})}},{key:"scrollx",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.cols,o=q(r,2)[1],a=q(_.a.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getWidth(t)}),3),l=a[0],s=a[1],c=a[2],u=s;t>0&&(u+=c),n.x!==u&&(n.ci=t>0?l:0,n.x=u,e())}},{key:"scrolly",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.rows,o=q(r,1)[0],a=q(_.a.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getHeight(t)}),3),l=a[0],s=a[1],c=a[2],u=s;t>0&&(u+=c),n.y!==u&&(n.ri=t>0?l:0,n.y=u,e())}},{key:"cellRect",value:function(t,e){var n=this.rows,r=this.cols,i=r.sumWidth(0,e),o=n.sumHeight(0,t),a=n.getCell(t,e),l=r.getWidth(e),s=n.getHeight(t);if(null!==a&&a.merge){var c=q(a.merge,2),u=c[0],f=c[1];if(u>0)for(var h=1;h<=u;h+=1)s+=n.getHeight(t+h);if(f>0)for(var d=1;d<=f;d+=1)l+=r.getWidth(e+d)}return{left:i,top:o,width:l,height:s,cell:a}}},{key:"getCell",value:function(t,e){return this.rows.getCell(t,e)}},{key:"getCellTextOrDefault",value:function(t,e){var n=this.getCell(t,e);return n&&n.text?n.text:""}},{key:"getCellStyle",value:function(t,e){var n=this.getCell(t,e);return n&&void 0!==n.style?this.styles[n.style]:null}},{key:"getCellStyleOrDefault",value:function(t,e){var n=this.styles,r=this.rows.getCell(t,e),i=r&&void 0!==r.style?n[r.style]:{};return _.a.merge(this.defaultStyle(),i)}},{key:"getSelectedCellStyle",value:function(){var t=this.selector,e=t.ri,n=t.ci;return this.getCellStyleOrDefault(e,n)}},{key:"setCellText",value:function(t,e,n,r){var i=this.rows,o=this.history,a=this.validations;"finished"===r?(i.setCellText(t,e,""),o.add(this.getData()),i.setCellText(t,e,n)):(i.setCellText(t,e,n),this.change(this.getData())),a.validate(t,e,n)}},{key:"freezeIsActive",value:function(){var t=q(this.freeze,2),e=t[0],n=t[1];return e>0||n>0}},{key:"setFreeze",value:function(t,e){var n=this;this.changeData(function(){n.freeze=[t,e]})}},{key:"freezeTotalWidth",value:function(){return this.cols.sumWidth(0,this.freeze[1])}},{key:"freezeTotalHeight",value:function(){return this.rows.sumHeight(0,this.freeze[0])}},{key:"setRowHeight",value:function(t,e){var n=this;this.changeData(function(){n.rows.setHeight(t,e)})}},{key:"setColWidth",value:function(t,e){var n=this;this.changeData(function(){n.cols.setWidth(t,e)})}},{key:"viewHeight",value:function(){var t=this.settings,e=t.view,n=t.showToolbar,r=t.showBottomBar,i=e.height();return r&&(i-=41),n&&(i-=41),i}},{key:"viewWidth",value:function(){return this.settings.view.width()}},{key:"freezeViewRange",value:function(){var t=q(this.freeze,2),e=t[0],n=t[1];return new u(0,0,e-1,n-1,this.freezeTotalWidth(),this.freezeTotalHeight())}},{key:"contentRange",value:function(){var t=this.rows,e=this.cols,n=q(t.maxCell(),2),r=n[0],i=n[1],o=t.sumHeight(0,r+1),a=e.sumWidth(0,i+1);return new u(0,0,r,i,a,o)}},{key:"exceptRowTotalHeight",value:function(t,e){var n=this.exceptRowSet,r=this.rows,i=Array.from(n),o=0;return i.forEach(function(n){if(ne){var i=r.getHeight(n);o+=i}}),o}},{key:"viewRange",value:function(){var t=this.scroll,e=this.rows,n=this.cols,r=this.freeze,i=this.exceptRowSet,o=t.ri,a=t.ci;o<=0&&(o=q(r,1)[0]);a<=0&&(a=q(r,2)[1]);for(var l=0,s=0,c=[e.len,n.len],f=c[0],h=c[1],d=o;dthis.viewHeight()));d+=1);for(var p=a;pthis.viewWidth()));p+=1);return new u(o,a,f,h,l,s)}},{key:"eachMergesInView",value:function(t,e){this.merges.filterIntersects(t).forEach(function(t){return e(t)})}},{key:"hideRowsOrCols",value:function(){var t=this.rows,e=this.cols,n=this.selector,r=q(n.size(),2),i=r[0],o=r[1],a=n.range,l=a.sri,s=a.sci,c=a.eri,u=a.eci;if(i===t.len)for(var f=s;f<=u;f+=1)e.setHide(f,!0);else if(o===e.len)for(var h=l;h<=c;h+=1)t.setHide(h,!0)}},{key:"unhideRowsOrCols",value:function(t,e){this["".concat(t,"s")].unhide(e)}},{key:"rowEach",value:function(t,e,n){for(var r=0,i=this.rows,o=this.exceptRowSet,a=Y(o),l=0,s=0;s0&&(n(c,r,u),(r+=u)>this.viewHeight()))break}}},{key:"colEach",value:function(t,e,n){for(var r=0,i=this.cols,o=t;o<=e;o+=1){var a=i.getWidth(o);if(a>0&&(n(o,r,a),(r+=a)>this.viewWidth()))break}}},{key:"defaultStyle",value:function(){return this.settings.style}},{key:"addStyle",value:function(t){for(var e=this.styles,n=0;nMath.abs(e)?r(t>0?"right":"left",t,n):r(e>0?"down":"up",e,n)}var at="x-spreadsheet";window.devicePixelRatio;function lt(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1?arguments[1]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.moving=!1,this.vertical=n,this.el=a("div","".concat(at,"-resizer ").concat(n?"vertical":"horizontal")).children(this.unhideHoverEl=a("div","".concat(at,"-resizer-hover")).on("dblclick.stop",function(t){return e.mousedblclickHandler(t)}).css("position","absolute").hide(),this.hoverEl=a("div","".concat(at,"-resizer-hover")).on("mousedown.stop",function(t){return e.mousedownHandler(t)}),this.lineEl=a("div","".concat(at,"-resizer-line")).hide()).hide(),this.cRect=null,this.finishedFn=null,this.minDistance=r,this.unhideFn=function(){}}var e,n,r;return e=t,(n=[{key:"showUnhide",value:function(t){this.unhideIndex=t,this.unhideHoverEl.show()}},{key:"hideUnhide",value:function(){this.unhideHoverEl.hide()}},{key:"show",value:function(t,e){var n=this.moving,r=this.vertical,i=this.hoverEl,o=this.lineEl,a=this.el,l=this.unhideHoverEl;if(!n){this.cRect=t;var s=t.left,c=t.top,u=t.width,f=t.height;a.offset({left:r?s+u-5:s,top:r?c:c+f-5}).show(),i.offset({width:r?5:u,height:r?f:5}),o.offset({width:r?0:e.width,height:r?e.height:0}),l.offset({left:r?5-u:s,top:r?c:5-f,width:r?5:u,height:r?f:5})}}},{key:"hide",value:function(){this.el.offset({left:0,top:0}).hide(),this.hideUnhide()}},{key:"mousedblclickHandler",value:function(){this.unhideIndex&&this.unhideFn(this.unhideIndex)}},{key:"mousedownHandler",value:function(t){var e=this,n=t,r=this.el,i=this.lineEl,o=this.cRect,a=this.vertical,l=this.minDistance,s=a?o.width:o.height;i.show(),it(window,function(t){e.moving=!0,null!==n&&1===t.buttons&&(a?(s+=t.movementX)>l&&r.css("left","".concat(o.left+s,"px")):(s+=t.movementY)>l&&r.css("top","".concat(o.top+s,"px")),n=t)},function(){n=null,i.hide(),e.moving=!1,e.hide(),e.finishedFn&&(sn){var r=this.vertical?"height":"width";this.el.css(r,"".concat(n-15,"px")).show(),this.contentEl.css(this.vertical?"width":"height","1px").css(r,"".concat(e,"px"))}else this.el.hide();return this}}])&&ct(e.prototype,n),r&&ct(e,r),t}();function ft(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ht(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];ft(this,t),this.useHideInput=n,this.autoFocus=r,this.inputChange=function(){},this.cornerEl=a("div","".concat(at,"-selector-corner")),this.areaEl=a("div","".concat(at,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=a("div","".concat(at,"-selector-clipboard")).hide(),this.autofillEl=a("div","".concat(at,"-selector-autofill")).hide(),this.el=a("div","".concat(at,"-selector")).css("z-index","".concat(pt)).children(this.areaEl,this.clipboardEl,this.autofillEl).hide(),n&&(this.hideInput=a("input","").on("compositionend",function(t){e.inputChange(t.target.value)}),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput)),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput))),pt+=1}return dt(t,[{key:"setOffset",value:function(t){return this.el.offset(t).show(),this}},{key:"hide",value:function(){return this.el.hide(),this}},{key:"setAreaOffset",value:function(t){var e=t.left,n=t.top,r={width:t.width-3+.8,height:t.height-3+.8,left:e-.8,top:n-.8};this.areaEl.offset(r).show(),this.useHideInput&&(this.hideInputDiv.offset(r),this.autoFocus?this.hideInput.val("").focus():this.hideInput.val(""))}},{key:"setClipboardOffset",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.clipboardEl.offset({left:e,top:n,width:r-5,height:i-5})}},{key:"showAutofill",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.autofillEl.offset({width:r-3,height:i-3,left:e,top:n}).show()}},{key:"hideAutofill",value:function(){this.autofillEl.hide()}},{key:"showClipboard",value:function(){this.clipboardEl.show()}},{key:"hideClipboard",value:function(){this.clipboardEl.hide()}}]),t}();function yt(t){var e=this.data,n=t.left,r=t.top,i=t.width,o=t.height,a=t.scroll,l=t.l,s=t.t,c=e.freezeTotalWidth(),u=e.freezeTotalHeight(),f=n-c;c>l&&(f-=a.x);var h=r-u;return u>s&&(h-=a.y),{left:f,top:h,width:i,height:o}}function gt(t){var e=this.data,n=t.left,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,s=e.freezeTotalWidth(),c=n-s;return s>o&&(c-=l.x),{left:c,top:a,width:r,height:i}}function mt(t){var e=this.data,n=t.top,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,s=e.freezeTotalHeight(),c=n-s;return s>a&&(c-=l.y),{left:o,top:c,width:r,height:i}}function bt(t){this.br.setAreaOffset(yt.call(this,t))}function wt(t){this.t.setAreaOffset(gt.call(this,t))}function Lt(t){this.l.setAreaOffset(mt.call(this,t))}function kt(t){this.l.setClipboardOffset(mt.call(this,t))}function Ot(t){this.br.setClipboardOffset(yt.call(this,t))}function xt(t){this.t.setClipboardOffset(gt.call(this,t))}function jt(t){bt.call(this,t),function(t){this.tl.setAreaOffset(t)}.call(this,t),wt.call(this,t),Lt.call(this,t)}function _t(t){Ot.call(this,t),function(t){this.tl.setClipboardOffset(t)}.call(this,t),xt.call(this,t),kt.call(this,t)}var St=function(){function t(e){var n=this;ft(this,t);var r=e.settings.autoFocus;this.inputChange=function(){},this.data=e,this.br=new vt(!0,r),this.t=new vt,this.l=new vt,this.tl=new vt,this.br.inputChange=function(t){n.inputChange(t)},this.br.el.show(),this.offset=null,this.areaOffset=null,this.indexes=null,this.range=null,this.arange=null,this.el=a("div","".concat(at,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,pt+=1}return dt(t,[{key:"resetData",value:function(t){this.data=t,this.range=t.selector.range,this.resetAreaOffset()}},{key:"hide",value:function(){this.el.hide()}},{key:"resetOffset",value:function(){var t=this.data,e=this.tl,n=this.t,r=this.l,i=this.br,o=t.freezeTotalHeight(),a=t.freezeTotalWidth();o>0||a>0?(e.setOffset({width:a,height:o}),n.setOffset({left:a,height:o}),r.setOffset({top:o,width:a}),i.setOffset({left:a,top:o})):(e.hide(),n.hide(),r.hide(),i.setOffset({left:0,top:0}))}},{key:"resetAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();jt.call(this,t),_t.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();bt.call(this,t),wt.call(this,t),Ot.call(this,e),xt.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();bt.call(this,t),Lt.call(this,t),Ot.call(this,e),kt.call(this,e),this.resetOffset()}},{key:"set",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=r.calSelectedRangeByStart(t,e),o=i.sri,a=i.sci;if(n){var l=t,s=e;t<0&&(l=0),e<0&&(s=0),r.selector.setIndexes(l,s),this.indexes=[l,s]}this.moveIndexes=[o,a],this.range=i,this.resetAreaOffset(),this.el.show()}},{key:"setEnd",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=this.lastri,o=this.lastci;if(n){if(t===i&&e===o)return;this.lastri=t,this.lastci=e}this.range=r.calSelectedRangeByEnd(t,e),jt.call(this,this.data.getSelectedRect())}},{key:"reset",value:function(){var t=this.data.selector.range,e=t.eri,n=t.eci;this.setEnd(e,n)}},{key:"showAutofill",value:function(t,e){if(-1!==t||-1!==e){var n=this.range,r=n.sri,i=n.sci,o=n.eri,a=n.eci,l=t,s=e,c=r-t,f=o-t,h=a-e;if(i-e>0)this.arange=new u(r,s,o,i-1);else if(c>0)this.arange=new u(l,i,r-1,a);else if(h<0)this.arange=new u(r,a+1,o,s);else{if(!(f<0))return void(this.arange=null);this.arange=new u(o+1,i,l,a)}if(null!==this.arange){var d=this.data.getRect(this.arange);d.width+=2,d.height+=2;var p=this.br,v=this.l,y=this.t,g=this.tl;p.showAutofill(yt.call(this,d)),v.showAutofill(mt.call(this,d)),y.showAutofill(gt.call(this,d)),g.showAutofill(d)}}}},{key:"hideAutofill",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideAutofill()})}},{key:"showClipboard",value:function(){var t=this,e=this.data.getClipboardRect();_t.call(this,e),["br","l","t","tl"].forEach(function(e){t[e].showClipboard()})}},{key:"hideClipboard",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideClipboard()})}}]),t}();function Ct(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"200px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.filterItems=[],this.items=e,this.el=a("div","".concat(at,"-suggest")).css("width",r).hide(),this.itemClick=n,this.itemIndex=-1}var e,n,r;return e=t,(n=[{key:"setOffset",value:function(t){this.el.cssRemoveKeys("top","bottom").offset(t)}},{key:"hide",value:function(){var t=this.el;this.filterItems=[],this.itemIndex=-1,t.hide(),nt(this.el.parent())}},{key:"setItems",value:function(t){this.items=t}},{key:"search",value:function(t){var e,n=this,r=this.items;if(/^\s*$/.test(t)||(r=r.filter(function(e){return(e.key||e).startsWith(t.toUpperCase())})),r=r.map(function(t){var e=t.title;e?"function"==typeof e&&(e=e()):e=t;var r=a("div","".concat(at,"-item")).child(e).on("click.stop",function(){n.itemClick(t),n.hide()});return t.label&&r.child(a("div","label").html(t.label)),r}),this.filterItems=r,!(r.length<=0)){var i=this.el;(e=i.html("")).children.apply(e,Ct(r)).show(),rt(i.parent(),function(){n.hide()})}}},{key:"bindInputEvents",value:function(t){var e=this;t.on("keydown",function(t){return function(t){var e=t.keyCode;switch(t.ctrlKey&&t.stopPropagation(),e){case 37:t.stopPropagation();break;case 38:(function(t){t.preventDefault(),t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex-=1,this.itemIndex<0&&(this.itemIndex=e.length-1),e[this.itemIndex].toggle())}).call(this,t);break;case 39:t.stopPropagation();break;case 40:(function(t){t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex+=1,this.itemIndex>e.length-1&&(this.itemIndex=0),e[this.itemIndex].toggle())}).call(this,t);break;case 13:case 9:Mt.call(this,t);break;default:t.stopPropagation()}}.call(e,t)})}}])&&Et(e.prototype,n),r&&Et(e,r),t}();function Pt(t){return(Pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function At(t,e){for(var n=0;n\n \n \n',redo:'\n \n \n \n',print:'\n \n \n \n\n ',paintformat:'\n \n \n \n',clearformat:'\n \n \n \n',"font-bold":'\n \n \n \n',"font-italic":'\n \n \n \n\n ',underline:'\n \n \n \n',strike:'\n \n \n \n\n ',color:'\n \n \n \n',bgcolor:'\n \n \n \n\n ',merge:'\n \n \n \n',"align-left":'\n \n \n \n',"align-center":'\n \n \n \n',"align-right":'\n \n \n \n',"align-top":'\n \n \n \n',"align-middle":'\n \n \n \n\n ',"align-bottom":'\n \n \n \n\n ',textwrap:'\n \n \n \n',autofilter:'\n \n \n \n\n ',formula:'\n \n \n \n',"arrow-down":'\n \n \n \n',"arrow-right":'\n \n \n \n\n ',link:'\n \n \n \n',graph:'\n \n \n \n\n ',freeze:'\n \n \n \n \n \n \n',ellipsis:'\n \n \n \n',add:'\n \n \n \n',"border-all":'\n \n \n \n',"border-inside":'\n \n \n \n \n',"border-horizontal":'\n \n \n \n \n',"border-vertical":'\n \n \n \n \n',"border-outside":'\n \n \n \n \n',"border-left":'\n \n \n \n \n',"border-top":'\n \n \n \n \n\n ',"border-right":'\n \n \n \n \n\n ',"border-bottom":'\n \n \n \n \n',"border-none":'\n \n \n \n',"line-color":'\n \n \n \n',"line-type":'\n \n \n \n',"chevron-left":'\n \n \n \n',"chevron-right":'\n \n \n \n',close:'\n \n \n \n\n '},Ft=function(t){return Rt[t]?Rt[t]:(console.log("icon ".concat(t," not found")),"")},It=function(t){function e(t){var n;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),n=Zt(this,Dt(e).call(this,"div","".concat(at,"-icon icon-").concat(t)));var r=Ft(t);return n.el.innerHTML+=r,n.iconNameEl=n.el.firstChild,n}var n,r,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&zt(t,e)}(e,o),n=e,(r=[{key:"setName",value:function(t){this.className(" icon-".concat(t))}}])&&At(n.prototype,r),i&&At(n,i),e}();function Nt(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);er.width){var u=l;l>s&&(u=s,c+=parseInt(l/s,10),c+=l%s>0?1:0),n.css("width","".concat(u,"px"))}(c*=this.rowHeight)>r.height&&n.css("height","".concat(c,"px"))}}function Gt(t){var e=t.keyCode,n=t.altKey;13!==e&&9!==e&&t.stopPropagation(),13===e&&n&&(function(t,e){var n=t.target,r=n.value,i=n.selectionEnd,o="".concat(r.slice(0,i)).concat(e).concat(r.slice(i));n.value=o,n.setSelectionRange(i+1,i+1),this.inputText=o,this.textlineEl.html(o),Jt.call(this)}.call(this,t,"\n"),t.stopPropagation()),13!==e||n||t.preventDefault()}function Xt(t,e){var n=this.textEl,r=this.textlineEl;n.el.blur(),n.val(t),r.html(t),function(t){var e=this.textEl.el;setTimeout(function(){e.focus(),e.setSelectionRange(t,t)},0)}.call(this,e)}var Kt=function(){function t(e,n,r){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewFn=n,this.rowHeight=r,this.formulas=e,this.suggest=new Tt(e,function(t){(function(t){var e=this.inputText,n=this.validator,r=0;if(n&&"list"===n.type)this.inputText=t,r=this.inputText.length;else{var i=e.lastIndexOf("="),o=e.substring(0,i+1),a=e.substring(i+1);a=-1!==a.indexOf(")")?a.substring(a.indexOf(")")):"",this.inputText="".concat(o+t.key,"("),r=this.inputText.length,this.inputText+=")".concat(a)}Xt.call(this,this.inputText,r)}).call(i,t)}),this.datepicker=new qt,this.datepicker.change(function(t){i.setText(function(t){var e=t.getMonth()+1,n=t.getDate();return e<10&&(e="0".concat(e)),n<10&&(n="0".concat(n)),"".concat(t.getFullYear(),"-").concat(e,"-").concat(n)}(t)),i.clear()}),this.areaEl=a("div","".concat(at,"-editor-area")).children(this.textEl=a("textarea","").on("input",function(t){return function(t){var e=t.target.value,n=this.suggest,r=this.textlineEl,i=this.validator,o=this.cell;if(null!==o)if("editable"in o&&!0===o.editable||void 0===o.editable){if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var a=e.lastIndexOf("=");-1!==a?n.search(e.substring(a+1)):n.hide()}r.html(e),Jt.call(this),this.change("input",e)}else t.target.value=o.text||"";else{if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var l=e.lastIndexOf("=");-1!==l?n.search(e.substring(l+1)):n.hide()}r.html(e),Jt.call(this),this.change("input",e)}}.call(i,t)}).on("paste.stop",function(){}).on("keydown",function(t){return Gt.call(i,t)}),this.textlineEl=a("div","textline"),this.suggest.el,this.datepicker.el).on("mousemove.stop",function(){}).on("mousedown.stop",function(){}),this.el=a("div","".concat(at,"-editor")).child(this.areaEl).hide(),this.suggest.bindInputEvents(this.textEl),this.areaOffset=null,this.freeze={w:0,h:0},this.cell=null,this.inputText="",this.change=function(){}}var e,n,r;return e=t,(n=[{key:"setFreezeLengths",value:function(t,e){this.freeze.w=t,this.freeze.h=e}},{key:"clear",value:function(){""!==this.inputText&&this.change("finished",this.inputText),this.cell=null,this.areaOffset=null,this.inputText="",this.el.hide(),this.textEl.val(""),this.textlineEl.html(""),function(){this.suggest.setItems(this.formulas)}.call(this),this.datepicker.hide()}},{key:"setOffset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n=this.textEl,r=this.areaEl,i=this.suggest,o=this.freeze,a=this.el;if(t){this.areaOffset=t;var l=t.left,s=t.top,c=t.width,u=t.height,f=t.l,h=t.t,d={left:0,top:0};o.w>f&&o.h>h||(o.wf?d.top=o.h:o.h>h&&(d.left=o.w)),a.offset(d),r.offset({left:l-d.left-.8,top:s-d.top-.8}),n.offset({width:c-9+.8,height:u-3+.8});var p={left:0};p[e]=u,i.setOffset(p),i.hide()}}},{key:"setCell",value:function(t,e){if(!t||!1!==t.editable){var n=this.el,r=this.datepicker,i=this.suggest;n.show(),this.cell=t;var o=t&&t.text||"";if(this.setText(o),this.validator=e,e){var a=e.type;"date"===a&&(r.show(),/^\s*$/.test(o)||r.setValue(o)),"list"===a&&(i.setItems(e.values()),i.search(""))}}}},{key:"setText",value:function(t){this.inputText=t,Xt.call(this,t,t.length),Jt.call(this)}}])&&Ut(e.prototype,n),r&&Ut(e,r),t}();function Qt(t){return(Qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function te(t,e){return!e||"object"!==Qt(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ee(t){return(ee=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ne(t,e){return(ne=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var re=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=te(this,ee(e).call(this,"div","".concat(at,"-button ").concat(r)))).child(Object(P.b)("button.".concat(t))),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ne(t,e)}(e,o),e}(),ie=n(5),oe=n(8);function ae(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&(h+=(l-c.w)/2);var p=0,v=0;this.contentEl.html(""),this.canvases=[];for(var y={sri:0,sci:0,eri:0,eci:0},g=function(n){var o=0,l=0,u=a("div","".concat(at,"-canvas-card")),g=a("canvas","".concat(at,"-canvas"));t.canvases.push(g.el);var m=new ie.a(g.el,r,i);for(m.save(),m.translate(h,d),f<1&&m.scale(f,f);p<=c.eri;p+=1){var b=e.rows.getHeight(p);if(!((o+=b)1&&void 0!==arguments[1]&&arguments[1];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.menuItems=ye.call(this),this.el=(n=a("div","".concat(at,"-contextmenu"))).children.apply(n,de(this.menuItems)).hide(),this.viewFn=e,this.itemClick=function(){},this.isHide=r,this.setMode("range")}var e,n,r;return e=t,(n=[{key:"setMode",value:function(t){var e=this.menuItems[12];"row-col"===t?e.show():e.hide()}},{key:"hide",value:function(){var t=this.el;t.hide(),nt(t)}},{key:"setPosition",value:function(t,e){if(!this.isHide){var n=this.el,r=n.show().offset().width,i=this.viewFn(),o=i.height/2,a=t;i.width-t<=r&&(a-=r),n.css("left","".concat(a,"px")),e>o?n.css("bottom","".concat(i.height-e,"px")).css("max-height","".concat(e,"px")).css("top","auto"):n.css("top","".concat(e,"px")).css("max-height","".concat(i.height-e,"px")).css("bottom","auto"),rt(n)}}}])&&pe(e.prototype,n),r&&pe(e,r),t}();function me(t,e){for(var n=0;n5?c-5:0),f=5;f0)&&(t=this.contentEl).children.apply(t,arguments)}},{key:"setTitle",value:function(t){this.title.html(t),this.hide()}},{key:"show",value:function(){var t=this;this.contentEl.show(),this.parent().active(),rt(this.parent(),function(){t.hide()})}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),nt(this.parent())}}])&&Ce(n.prototype,r),i&&Ce(n,i),e}();function Ae(t){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ze(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Gn=function(t){function e(t){var n,r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var i=new It("line-type"),o=0,l=Jn.map(function(e,n){return a("div","".concat(at,"-item state ").concat(t===e[0]?"checked":"")).on("click",function(){l[o].toggle("checked"),l[n].toggle("checked"),o=n,r.hide(),r.change(e)}).child(a("div","".concat(at,"-line-type")).html(e[1]))});return r=qn(this,(n=Un(e)).call.apply(n,[this,i,"auto",!1,"bottom-right","dd-linetype"].concat(Bn(l))))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$n(t,e)}(e,Pe),e}();function Xn(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?i.show():i.hide()}function Po(t){var e=this,n=new be;n.el.on("click",function(){t.onClick&&t.onClick(e.data.getData(),e.data)}),n.tip=t.tip||"";var r=t.el;if(t.icon&&(r=a("img").attr("src",t.icon)),r){var i=a("div","".concat(at,"-icon"));i.child(r),n.el.child(i)}return n}var Ao=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.change=function(){},this.widthFn=n,this.isHide=i;var o=e.defaultStyle();this.items=[[this.undoEl=new lo,this.redoEl=new no,this.data.settings.showPrint&&new ho,this.paintformatEl=new Mr,this.clearformatEl=new xr].filter(function(t){return!!t}),Mo(),[this.formatEl=new Si],Mo(),[this.fontEl=new di,this.fontSizeEl=new ei],Mo(),[this.boldEl=new yn,this.italicEl=new Ln,this.underlineEl=new Tn,this.strikeEl=new _n,this.textColorEl=new zr(o.color)],Mo(),[this.fillColorEl=new Wr(o.bgcolor),this.borderEl=new hr,this.mergeEl=new Xi],Mo(),[this.alignEl=new Be(o.align),this.valignEl=new Xe(o.valign),this.textwrapEl=new mo],Mo(),[this.freezeEl=new Bi,this.autofilterEl=new fn,this.formulaEl=new Ni]];var l=e.settings.extendToolbar,s=void 0===l?{}:l;if(s.left&&s.left.length>0){this.items.unshift(Mo());var c=s.left.map(Po.bind(this));this.items.unshift(c)}if(s.right&&s.right.length>0){this.items.push(Mo());var u=s.right.map(Po.bind(this));this.items.push(u)}this.items.push([this.moreEl=new So]),this.el=a("div","".concat(at,"-toolbar")),this.btns=a("div","".concat(at,"-toolbar-btns")),this.items.forEach(function(t){Array.isArray(t)?t.forEach(function(t){r.btns.child(t.el),t.change=function(){r.change.apply(r,arguments)}}):r.btns.child(t.el)}),this.el.child(this.btns),i?this.el.hide():(this.reset(),setTimeout(function(){(function(){var t=this;this.btns2=[],this.items.forEach(function(e){if(Array.isArray(e))e.forEach(function(e){var n=e.el,r=n.box(),i=n.computedStyle(),o=i.marginLeft,a=i.marginRight;t.btns2.push([n,r.width+parseInt(o,10)+parseInt(a,10)])});else{var n=e.box(),r=e.computedStyle(),i=r.marginLeft,o=r.marginRight;t.btns2.push([e,n.width+parseInt(i,10)+parseInt(o,10)])}})}).call(r),To.call(r)},0),tt(window,"resize",function(){To.call(r)}))}var e,n,r;return e=t,(n=[{key:"paintformatActive",value:function(){return this.paintformatEl.active()}},{key:"paintformatToggle",value:function(){this.paintformatEl.toggle()}},{key:"trigger",value:function(t){this["".concat(t,"El")].click()}},{key:"resetData",value:function(t){this.data=t,this.reset()}},{key:"reset",value:function(){if(!this.isHide){var t=this.data,e=t.getSelectedCellStyle();this.undoEl.setState(!t.canUndo()),this.redoEl.setState(!t.canRedo()),this.mergeEl.setState(t.canUnmerge(),!t.selector.multiple()),this.autofilterEl.setState(!t.canAutofilter());var n=e.font,r=e.format;this.formatEl.setState(r),this.fontEl.setState(n.name),this.fontSizeEl.setState(n.size),this.boldEl.setState(n.bold),this.italicEl.setState(n.italic),this.underlineEl.setState(e.underline),this.strikeEl.setState(e.strike),this.textColorEl.setState(e.color),this.fillColorEl.setState(e.bgcolor),this.alignEl.setState(e.align),this.valignEl.setState(e.valign),this.textwrapEl.setState(e.textwrap),this.freezeEl.setState(t.freezeIsActive())}}}])&&Co(e.prototype,n),r&&Co(e,r),t}();function Zo(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"600px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.title=e,this.el=a("div","".concat(at,"-modal")).css("width",o).children(a("div","".concat(at,"-modal-header")).children(new It("close").on("click.stop",function(){return i.hide()}),this.title),(r=a("div","".concat(at,"-modal-content"))).children.apply(r,Zo(n))).hide()}var e,n,r;return e=t,(n=[{key:"show",value:function(){var t=this;this.dimmer=a("div","".concat(at,"-dimmer active")),document.body.appendChild(this.dimmer.el);var e=this.el.show().box(),n=e.width,r=e.height,i=document.documentElement,o=i.clientHeight,l=i.clientWidth;this.el.offset({left:(l-n)/2,top:(o-r)/3}),window.xkeydownEsc=function(e){27===e.keyCode&&t.hide()},tt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),et(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&Do(e.prototype,n),r&&Do(e,r),t}();function Ro(t,e){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:function(t){return t},l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.key=e,this.getTitle=o,this.vchange=function(){},this.el=a("div","".concat(at,"-form-select")),this.suggest=new Tt(n.map(function(t){return{key:t,title:i.getTitle(t)}}),function(t){i.itemClick(t.key),l(t.key),i.vchange(t.key)},r,this.el),this.el.children(this.itemEl=a("div","input-text").html(this.getTitle(e)),this.suggest.el).on("click",function(){return i.show()})}var e,n,r;return e=t,(n=[{key:"show",value:function(){this.suggest.search("")}},{key:"itemClick",value:function(t){this.key=t,this.itemEl.html(this.getTitle(t))}},{key:"val",value:function(t){return void 0!==t?(this.key=t,this.itemEl.html(this.getTitle(t)),this):this.key}}])&&Io(e.prototype,n),r&&Io(e,r),t}();function Ho(t,e){for(var n=0;n3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(-1!==e||-1!==n){var o=this.table,a=this.selector,l=this.toolbar,s=this.data,c=this.contextMenu,u=s.getCell(e,n);t?(a.setEnd(e,n,i),this.trigger("cells-selected",u,a.range)):(a.set(e,n,r),this.trigger("cell-selected",u,e,n)),c.setMode(-1===e||-1===n?"row-col":"range"),l.reset(),o.render()}}function la(t,e){var n=this.selector,r=this.data,i=r.rows,o=r.cols,a=ia(n.indexes,2),l=a[0],s=a[1],c=n.range,u=c.eri,f=c.eci;if(t){var h=ia(n.moveIndexes,2);l=h[0],s=h[1]}"left"===e?s>0&&(s-=1):"right"===e?(f!==s&&(s=f),s0&&(l-=1):"down"===e?(u!==l&&(l=u),lu.width)n.move({left:i+s-u.width});else{var f=t.freezeTotalWidth();au.height)e.move({top:o+c-u.height-1});else{var h=t.freezeTotalHeight();l0||o>0){var a=e.freezeTotalWidth(),l=e.freezeTotalHeight();n.setFreezeLengths(a,l)}t.resetAreaOffset()}.call(this),r.render(),i.reset(),o.reset()}function fa(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function ha(t){var e=this.data,n=this.selector;"read"!==e.settings.mode&&(e.copy(),e.copyToSystemClipboard(t),n.showClipboard())}function da(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.cut(),e.showClipboard())}function pa(t,e){var n=this,r=this.data;if("read"!==r.settings.mode)if(r.clipboard.isClear()){r.pasteFromSystemClipboard(function(){return ua.call(n)},function(t){n.trigger("pasted-clipboard",t)})}else if(r.paste(t,function(t){return na("Tip",t)}))ua.call(this);else if(e){var i=e.clipboardData.getData("text/plain");this.data.pasteFromText(i),ua.call(this)}}function va(t,e){this.data.unhideRowsOrCols(t,e),ua.call(this)}function ya(t){var e=this,n=this.selector,r=this.data,i=this.table,o=this.sortFilter,a=t.offsetX,l=t.offsetY,s=t.target.className==="".concat(at,"-selector-corner"),c=r.getCellRectByXY(a,l),u=c.left,f=c.top,h=c.width,d=c.height,p=c.ri,v=c.ci,y=r.autoFilter;if(y.includes(p,v)&&u+h-20n.height/2&&(r="bottom"),t.setOffset(e,r)}function ma(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(ga.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),fa.call(this))}function ba(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finished",n=this.data,r=this.table;if("read"!==n.settings.mode){n.setSelectedCellText(t,e);var i=n.selector,o=i.ri,a=i.ci;"finished"===e?r.render():this.trigger("cell-edited",t,o,a)}}function wa(t){var e=this.data;"read"!==e.settings.mode&&("insert-row"===t?e.insert("row"):"delete-row"===t?e.delete("row"):"insert-column"===t?e.insert("column"):"delete-column"===t?e.delete("column"):"delete-cell"===t?e.deleteCell():"delete-cell-format"===t?e.deleteCell("format"):"delete-cell-text"===t?e.deleteCell("text"):"cell-printable"===t?e.setSelectedCellAttr("printable",!0):"cell-non-printable"===t?e.setSelectedCellAttr("printable",!1):"cell-editable"===t?e.setSelectedCellAttr("editable",!0):"cell-non-editable"===t&&e.setSelectedCellAttr("editable",!1),fa.call(this),ua.call(this))}function La(t,e){var n=this.data;if("undo"===t)this.undo();else if("redo"===t)this.redo();else if("print"===t)this.print.preview();else if("paintformat"===t)!0===e?ha.call(this):fa.call(this);else if("clearformat"===t)wa.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)(function(){this.data.autofilter(),ua.call(this)}).call(this);else if("freeze"===t)if(e){var r=n.selector,i=r.ri,o=r.ci;this.freeze(i,o)}else this.freeze(0,0);else n.setSelectedCellAttr(t,e),"formula"!==t||n.selector.multiple()||ma.call(this),ua.call(this)}function ka(){var t,e,n,r,i,o,a=this,l=this.selector,s=this.overlayerEl,c=this.rowResizer,u=this.colResizer,f=this.verticalScrollbar,h=this.horizontalScrollbar,d=this.editor,p=this.contextMenu,v=this.toolbar,y=this.modalValidation,g=this.sortFilter;s.on("mousemove",function(t){(function(t){if(0===t.buttons&&t.target.className!=="".concat(at,"-resizer-hover")){var e=t.offsetX,n=t.offsetY,r=this.rowResizer,i=this.colResizer,o=this.tableEl,a=this.data,l=a.rows,s=a.cols;if(e>s.indexWidth&&n>l.height)return r.hide(),void i.hide();var c=o.box(),u=a.getCellRectByXY(t.offsetX,t.offsetY);u.ri>=0&&-1===u.ci?(u.width=s.indexWidth,r.show(u,{width:c.width}),l.isHide(u.ri-1)?r.showUnhide(u.ri):r.hideUnhide()):r.hide(),-1===u.ri&&u.ci>=0?(u.height=l.height,i.show(u,{height:c.height}),s.isHide(u.ci-1)?i.showUnhide(u.ci):i.hideUnhide()):i.hide()}}).call(a,t)}).on("mousedown",function(t){d.clear(),p.hide(),2===t.buttons?(a.data.xyInSelectedRect(t.offsetX,t.offsetY)?p.setPosition(t.offsetX,t.offsetY):(ya.call(a,t),p.setPosition(t.offsetX,t.offsetY)),t.stopPropagation()):2===t.detail?ma.call(a):ya.call(a,t)}).on("mousewheel.stop",function(t){(function(t){var e=this.verticalScrollbar,n=this.horizontalScrollbar,r=this.data,i=e.scroll().top,o=n.scroll().left,a=r.rows,l=r.cols,s=t.deltaY,c=t.deltaX,u=function(t,e){var n=t,r=0;do{r=e(n),n+=1}while(r<=0);return r},f=function(t){if(t>0){var n=r.scroll.ri+1;if(n=0){var s=u(l,function(t){return a.getHeight(t)});e.move({top:0===l?0:i-s})}}},h=Math.abs(s),d=Math.abs(c),p=Math.max(h,d);/Firefox/i.test(window.navigator.userAgent)&&oa(f(t.detail),50),p===d&&oa(function(t){if(t>0){var e=r.scroll.ci+1;if(e=0){var s=u(a,function(t){return l.getWidth(t)});n.move({left:0===a?0:o-s})}}}(c),50),p===h&&oa(f(s),50)}).call(a,t)}).on("mouseout",function(t){var e=t.offsetX;t.offsetY<=0&&u.hide(),e<=0&&c.hide()}),l.inputChange=function(t){ba.call(a,t,"input"),ma.call(a)},t=s.el,n=(e={move:function(t,e){(function(t,e){var n=this.verticalScrollbar,r=this.horizontalScrollbar,i=n.scroll().top,o=r.scroll().left;"left"===t||"right"===t?r.move({left:o-e}):"up"!==t&&"down"!==t||n.move({top:i-e})}).call(a,t,e)}}).move,r=e.end,i=0,o=0,tt(t,"touchstart",function(t){var e=t.touches[0],n=e.pageX,r=e.pageY;i=n,o=r}),tt(t,"touchmove",function(t){if(n){var e=t.changedTouches[0],r=e.pageX,a=e.pageY,l=r-i,s=a-o;(Math.abs(l)>10||Math.abs(s)>10)&&(ot(l,s,t,n),i=r,o=a),t.preventDefault()}}),tt(t,"touchend",function(t){if(r){var e=t.changedTouches[0],n=e.pageX,a=e.pageY;ot(n-i,a-o,t,r)}}),v.change=function(t,e){return La.call(a,t,e)},g.ok=function(t,e,n,r){return function(t,e,n,r){this.data.setAutoFilter(t,e,n,r),ua.call(this)}.call(a,t,e,n,r)},c.finishedFn=function(t,e){(function(t,e){var n=t.ri,r=this.table,i=this.selector,o=this.data,a=i.range,l=a.sri,s=a.eri;if(n>=l&&n<=s)for(var c=l;c<=s;c+=1)o.rows.setHeight(c,e);else o.rows.setHeight(n,e);r.render(),i.resetAreaOffset(),sa.call(this),ga.call(this)}).call(a,t,e)},u.finishedFn=function(t,e){(function(t,e){var n=t.ci,r=this.table,i=this.selector,o=this.data,a=i.range,l=a.sci,s=a.eci;if(n>=l&&n<=s)for(var c=l;c<=s;c+=1)o.cols.setWidth(c,e);else o.cols.setWidth(n,e);r.render(),i.resetAreaOffset(),ca.call(this),ga.call(this)}).call(a,t,e)},c.unhideFn=function(t){va.call(a,"row",t)},u.unhideFn=function(t){va.call(a,"col",t)},f.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrolly(t,function(){i.resetBRLAreaOffset(),ga.call(e),r.render()})}).call(a,t,e)},h.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrollx(t,function(){i.resetBRTAreaOffset(),ga.call(e),r.render()})}).call(a,t,e)},d.change=function(t,e){ba.call(a,e,t)},y.change=function(t){if("save"===t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i=65&&e<=90||e>=48&&e<=57||e>=96&&e<=105||"="===t.key?(ba.call(a,t.key,"input"),ma.call(a)):113===e&&ma.call(a)}}})}var Oa=function(){function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.eventMap=function(){var t=new Map;function e(e,n){var r;return t.has(e)&&(r=t.get(e),Array.isArray(r)&&r.push(n)||!1)||t.set(e,[].concat(n))}function n(e,n){var r,i;return t.has(e)&&(r=t.get(e),(i=r.indexOf(n))>=0&&r.splice(i,1)&&0===t.get(e).length&&t.delete(e))}return{get current(){return t},on:e,once:function(t,r){return e(t,function e(){for(var i=arguments.length,o=new Array(i),a=0;a1?n-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:function(){},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};Sa(this,t),this.swapFunc=r,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new Aa(function(t){e.clickSwap2(e.items[t])}),this.contextMenu=new za,this.contextMenu.itemClick=i,this.el=a("div","".concat(at,"-bottombar")).children(this.contextMenu.el,this.menuEl=a("ul","".concat(at,"-menu")).child(a("li","").children(new It("add").on("click",function(){n()}),a("span","").child(this.moreEl))))}return Ea(t,[{key:"addItem",value:function(t,e,n){var r=this;this.dataNames.push(t);var i=a("li",e?"active":"").child(t);i.on("click",function(){r.clickSwap2(i)}).on("contextmenu",function(t){if("read"!==n.mode){var e=t.target,o=e.offsetLeft,a=e.offsetHeight;r.contextMenu.setOffset({left:o,bottom:a+1}),r.deleteEl=i}}).on("dblclick",function(){if("read"!==n.mode){var t=i.html(),e=new Fo("auto","");e.val(t),e.input.on("blur",function(e){var n=e.target.value,i=r.dataNames.findIndex(function(e){return e===t});r.renameItem(i,n)}),i.html("").child(e.el),e.focus()}}),e&&this.clickSwap(i),this.items.push(i),this.menuEl.child(i),this.moreEl.reset(this.dataNames)}},{key:"renameItem",value:function(t,e){this.dataNames.splice(t,1,e),this.moreEl.reset(this.dataNames),this.items[t].html("").child(e),this.updateFunc(t,e)}},{key:"clear",value:function(){var t=this;this.items.forEach(function(e){t.menuEl.removeChild(e.el)}),this.items=[],this.dataNames=[],this.moreEl.reset(this.dataNames)}},{key:"deleteItem",value:function(){var t=this.activeEl,e=this.deleteEl;if(this.items.length>1){var n=this.items.findIndex(function(t){return t===e});if(this.items.splice(n,1),this.dataNames.splice(n,1),this.menuEl.removeChild(e.el),this.moreEl.reset(this.dataNames),t===e){var r=xa(this.items,1)[0];return this.activeEl=r,this.activeEl.toggle(),[n,0]}return[n,-1]}return[-1]}},{key:"clickSwap2",value:function(t){var e=this.items.findIndex(function(e){return e===t});this.clickSwap(t),this.activeEl.toggle(),this.swapFunc(e)}},{key:"clickSwap",value:function(t){null!==this.activeEl&&this.activeEl.toggle(),this.activeEl=t}}]),t}();n(13);function Fa(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Ia(t,e){var n=Object.keys(t);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(t)),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n}function Na(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ha(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var i=e;this.options=function(t){for(var e=1;e1&&void 0!==arguments[1])||arguments[1],r=t||"sheet".concat(this.sheetIndex),i=new K(r,this.options);return i.change=function(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0&&(this.datas.splice(e,1),n>=0&&this.sheet.resetData(this.datas[n]),this.sheet.trigger("change"))}}},{key:"loadData",value:function(t){var e=Array.isArray(t)?t:[t];if(null!==this.bottombar&&this.bottombar.clear(),this.sheetIndex=1,this.datas=[],e.length>0)for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0;return this.datas[r].setCellText(t,e,n,"finished"),this}},{key:"cell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCell(t,e)}},{key:"cellStyle",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCellStyle(t,e)}},{key:"reRender",value:function(){return this.sheet.table.render(),this}},{key:"on",value:function(t,e){return this.sheet.on(t,e),this}},{key:"validate",value:function(){return this.data.validations.errors.size<=0}},{key:"change",value:function(t){return this.sheet.on("change",t),this}}])&&Ha(e.prototype,n),r&&Ha(e,r),t}();window&&(window.x_spreadsheet=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Wa(t,e)},window.x_spreadsheet.locale=function(t,e){return Object(P.a)(t,e)}),exports.Spreadsheet=Wa}]); //# sourceMappingURL=xspreadsheet.js.map \ No newline at end of file diff --git a/dist/xspreadsheet.js.map b/dist/xspreadsheet.js.map index 5312ba8e3..0b1c6e8fa 100644 --- a/dist/xspreadsheet.js.map +++ b/dist/xspreadsheet.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/component/element.js","webpack:///./src/core/alphabet.js","webpack:///./src/core/cell_range.js","webpack:///./src/core/selector.js","webpack:///./src/core/scroll.js","webpack:///./src/core/history.js","webpack:///./src/core/clipboard.js","webpack:///./src/core/auto_filter.js","webpack:///./src/core/merge.js","webpack:///./src/core/helper.js","webpack:///./src/core/row.js","webpack:///./src/core/col.js","webpack:///./src/locale/locale.js","webpack:///./src/locale/en.js","webpack:///./src/core/validator.js","webpack:///./src/core/validation.js","webpack:///./src/core/data_proxy.js","webpack:///./src/component/event.js","webpack:///./src/config.js","webpack:///./src/component/resizer.js","webpack:///./src/component/scrollbar.js","webpack:///./src/component/selector.js","webpack:///./src/component/suggest.js","webpack:///./src/component/icon.js","webpack:///./src/component/calendar.js","webpack:///./src/component/datepicker.js","webpack:///./src/component/editor.js","webpack:///./src/component/button.js","webpack:///./src/canvas/draw.js","webpack:///./src/core/font.js","webpack:///./src/core/cell.js","webpack:///./src/core/formula.js","webpack:///./src/core/format.js","webpack:///./src/component/table.js","webpack:///./src/component/print.js","webpack:///./src/component/contextmenu.js","webpack:///./src/component/toolbar/item.js","webpack:///./src/component/tooltip.js","webpack:///./src/component/toolbar/dropdown_item.js","webpack:///./src/component/dropdown.js","webpack:///./src/component/dropdown_align.js","webpack:///./src/component/toolbar/align.js","webpack:///./src/component/toolbar/valign.js","webpack:///./src/component/toolbar/toggle_item.js","webpack:///./src/component/toolbar/autofilter.js","webpack:///./src/component/toolbar/bold.js","webpack:///./src/component/toolbar/italic.js","webpack:///./src/component/toolbar/strike.js","webpack:///./src/component/toolbar/underline.js","webpack:///./src/component/color_palette.js","webpack:///./src/component/dropdown_color.js","webpack:///./src/component/dropdown_linetype.js","webpack:///./src/component/border_palette.js","webpack:///./src/component/dropdown_border.js","webpack:///./src/component/toolbar/border.js","webpack:///./src/component/toolbar/icon_item.js","webpack:///./src/component/toolbar/clearformat.js","webpack:///./src/component/toolbar/paintformat.js","webpack:///./src/component/toolbar/text_color.js","webpack:///./src/component/toolbar/fill_color.js","webpack:///./src/component/dropdown_fontsize.js","webpack:///./src/component/toolbar/font_size.js","webpack:///./src/component/dropdown_font.js","webpack:///./src/component/toolbar/font.js","webpack:///./src/component/dropdown_format.js","webpack:///./src/component/toolbar/format.js","webpack:///./src/component/dropdown_formula.js","webpack:///./src/component/toolbar/formula.js","webpack:///./src/component/toolbar/freeze.js","webpack:///./src/component/toolbar/merge.js","webpack:///./src/component/toolbar/redo.js","webpack:///./src/component/toolbar/undo.js","webpack:///./src/component/toolbar/print.js","webpack:///./src/component/toolbar/textwrap.js","webpack:///./src/component/toolbar/more.js","webpack:///./src/component/toolbar/index.js","webpack:///./src/component/modal.js","webpack:///./src/component/form_input.js","webpack:///./src/component/form_select.js","webpack:///./src/component/form_field.js","webpack:///./src/component/modal_validation.js","webpack:///./src/component/sort_filter.js","webpack:///./src/component/message.js","webpack:///./src/component/sheet.js","webpack:///./src/component/bottombar.js","webpack:///./src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Element","tag","className","arguments","length","undefined","_classCallCheck","this","el","document","createElement","data","eventNames","handler","_eventNames$split2","_toArray","split","fen","oen","slice","eventName","test","window","navigator","userAgent","addEventListener","evt","k","button","stopPropagation","_this","keys","forEach","css","concat","_this$el","top","offsetTop","left","offsetLeft","height","offsetHeight","width","offsetWidth","v","scrollLeft","scrollTop","getBoundingClientRect","parentNode","_this2","_len","eles","Array","_key","childNodes","ele","child","removeChild","arg","createTextNode","appendChild","contains","classList","add","remove","cls","toggleClass","toggle","flag","addClass","removeClass","active","_this3","setAttribute","getAttribute","removeAttribute","content","innerHTML","focus","_this4","_len2","_key2","style","removeProperty","_this5","getComputedStyle","h","alphabets","stringAt","index","str","cindex","parseInt","last","indexAt","ret","charCodeAt","exponet","Math","pow","expr2xy","src","x","y","charAt","xy2expr","expr2expr","xn","yn","condition","_expr2xy2","_slicedToArray","CellRange","sri","sci","eri","eci","w","cell_range_classCallCheck","ref","refs","_expr2xy4","cell_range_slicedToArray","_expr2xy6","ri","ci","args","_expr2xy","cb","rowFilter","j","other","addRet","push","dsr","dsc","der","dec","multiple","Selector","selector_classCallCheck","range","size","Scroll","scroll_classCallCheck","History","history_classCallCheck","undoItems","redoItems","JSON","stringify","currentd","canUndo","parse","pop","canRedo","Clipboard","clipboard_classCallCheck","state","cellRange","Filter","operator","auto_filter_classCallCheck","includes","Sort","order","AutoFilter","filters","sort","_ref","map","it","getData","filter","getFilter","set","hrange","getCell","rset","Set","fset","_this$range","cell","ctext","text","_this$range2","cnt","valueOf","Merges","merge_classCallCheck","_","cr","within","intersects","union","deleteWithin","type","cbWithin","rn","cn","it1","merges","merge","toString","mergeDeep","sources","source","isArray","digits","a","numberCalc","a1","a2","Number","isNaN","al1","al2","num1","num2","toFixed","max","helper","cloneDeep","obj","apply","equals","obj1","obj2","v1","v2","ai","arrayEquals","sum","objOrAry","total","rangeEach","min","rangeSum","getv","rangeReduceIf","inits","initv","ifv","deleteProperty","oldv","Rows","len","row_classCallCheck","isHide","row","getOrNew","idx","setHide","hide","exceptSet","has","getHeight","sumHeight","cells","what","getCellOrNew","editable","srcCellRange","dstCellRange","autofill","dsri","dsci","deri","deci","_srcCellRange$size","_srcCellRange$size2","row_slicedToArray","_dstCellRange$size","_dstCellRange$size2","drn","dcn","isAdd","dn","ii","jj","nri","nci","ncell","replace","word","result","exec","substring","setCell","ncellmm","each","eachCells","setCellText","ndata","_this6","rndata","_this7","_this8","deleteCell","col","ks","entries","_ref2","_ref3","_ref4","_ref5","assign","Cols","indexWidth","minWidth","col_classCallCheck","getWidth","sumWidth","$languages","$messages","en","toolbar","undo","redo","print","paintformat","clearformat","format","fontName","fontSize","fontBold","fontItalic","underline","strike","color","bgcolor","border","align","valign","textwrap","freeze","autofilter","formula","more","contextmenu","copy","cut","paste","pasteValue","pasteFormat","insertRow","insertColumn","deleteSheet","deleteRow","deleteColumn","deleteCellText","validation","cellprintable","cellnonprintable","celleditable","cellnoneditable","orientation","orientations","normal","number","percent","rmb","usd","eur","date","time","datetime","duration","average","_if","and","or","required","notMatch","between","notBetween","notIn","equal","notEqual","lessThan","lessThanEqual","greaterThan","greaterThanEqual","error","pasteForMergedCell","calendar","weeks","months","next","cancel","save","ok","desc","asc","empty","dataValidation","criteria","modeType","column","list","phone","email","be","nbe","lt","lte","gt","gte","eq","neq","translate","messages","_i","_$languages","lang","message","match","x_spreadsheet","tf","locale","unshift","rules","returnMessage","Validator","validator_classCallCheck","Date","values","parseValue","_value","validator_slicedToArray","_value2","Validation","validator","validation_classCallCheck","nrefs","difference","Validations","errors","Map","_v$validator$validate2","validation_slicedToArray","validate","getByValidator","addRef","defaultSettings","view","documentElement","clientHeight","clientWidth","showGrid","showToolbar","showContextmenu","showBottomBar","font","bold","italic","canPaste","dst","clone","_src$size2","data_proxy_slicedToArray","srn","scn","_dst$size2","copyPaste","rows","deleteCells","_cell$merge","cutPaste","clipboard","move","clear","setStyleBorder","bss","styles","cstyle","addStyle","DataProxy","settings","data_proxy_classCallCheck","cols","validations","hyperlinks","comments","selector","scroll","history","autoFilter","change","exceptRowSet","sortedRowMap","unsortedRowMap","changeData","_this$selector","_this$selector2","setData","copyText","rowData","cellText","String","indexOf","writeText","then","err","console","log","isClear","isCopy","isCut","txt","lines","srcRange","_selector$range2","cri","cci","getFirstIncludes","unmerge","_selector$range","isSingleSelected","mergeIndexes","_merges$ii","mri","mci","splice","_cell$merge2","mrl","mcl","bottom","right","getCellMerge","_selector$size2","nfont","oldCell","oldText","vIndex","findIndex","_this$selector3","_this$getSelectedRect","getSelectedRect","x1","y1","getRect","left0","top0","fsh","freezeTotalHeight","fsw","freezeTotalWidth","_getCellRowByY$call","scrollOffsety","frset","_getCellColByX$call","scrollOffsetx","_helper$rangeReduceIf2","totalWidth","totalHeight","_this$cellRect","cellRect","_this$selector$range","_cell$merge3","_this$selector$range2","_cell$merge4","_this9","_selector$size4","_selector$range3","_this10","_selector$range4","_this11","addFilter","setSort","resetAutoFilter","_this12","_autoFilter$filteredR","filteredRows","fary","from","oldAry","b","_this13","_this14","_this14$selector$rang","si","insert","shift","_this15","_selector$range5","_selector$range$size2","rsize","csize","fci","_helper$rangeReduceIf4","fri","_helper$rangeReduceIf6","_cell$merge5","cellStyle","defaultStyle","_this$selector4","getCellStyleOrDefault","_this$freeze","_this16","_this17","setHeight","_this18","setWidth","_this$settings","_this$freeze2","_rows$maxCell2","maxCell","exceptRows","exceptRowTH","viewHeight","viewWidth","viewRange","filterIntersects","_selector$size6","rlen","clen","_selector$range6","unhide","frary","_toConsumableArray","offset","rowHeight","colWidth","nstyle","_this19","target","fn","unbind","removeEventListener","unbindClickoutside","xclickoutside","body","bindClickoutside","detail","mouseMoveUp","movefunc","upfunc","xEvtUp","calTouchDirection","spanx","spany","abs","cssPrefix","devicePixelRatio","Resizer","vertical","minDistance","resizer_classCallCheck","moving","children","unhideHoverEl","on","mousedblclickHandler","hoverEl","mousedownHandler","lineEl","cRect","finishedFn","unhideFn","unhideIndex","show","rect","line","hideUnhide","startEvt","distance","e","buttons","movementX","movementY","Scrollbar","scrollbar_classCallCheck","moveFn","contentEl","_evt$target","contentDistance","cssKey","startZIndex","SelectorElement","useHideInput","component_selector_classCallCheck","inputChange","cornerEl","areaEl","clipboardEl","autofillEl","hideInput","hideInputDiv","of","val","calBRAreaOffset","ftwidth","ftheight","calTAreaOffset","calLAreaOffset","setBRAreaOffset","br","setAreaOffset","setTAreaOffset","setLAreaOffset","setLClipboardOffset","setClipboardOffset","setBRClipboardOffset","setTClipboardOffset","setAllAreaOffset","tl","setAllClipboardOffset","areaOffset","indexes","arange","lastri","lastci","resetAreaOffset","freezeHeight","freezeWidth","setOffset","coffset","getClipboardRect","resetOffset","indexesUpdated","calSelectedRangeByStart","setIndexes","moveIndexes","calSelectedRangeByEnd","_this$data$selector$r","setEnd","ern","ecn","showAutofill","hideAutofill","showClipboard","hideClipboard","inputEnter","preventDefault","filterItems","itemIndex","click","Suggest","items","itemClick","suggest_classCallCheck","cssRemoveKeys","parent","_el$html","startsWith","toUpperCase","title","item","label","html","suggest_toConsumableArray","input","keyCode","ctrlKey","Icon","icon_classCallCheck","_possibleConstructorReturn","_getPrototypeOf","iconNameEl","addMonth","step","setMonth","getMonth","weekday","setDate","getDay","Calendar","_h","calendar_classCallCheck","cvalue","headerLeftEl","bodyEl","buildAll","prev","calendar_toConsumableArray","week","selectChange","buildHeaderLeft","buildBody","getFullYear","_bodyEl$html","trs","year","month","cdate","startDate","datess","disabled","getDate","monthDays","_h2","tds","Datepicker","datepicker_classCallCheck","setValue","RegExp","resetTextareaSize","inputText","textlineEl","textEl","txts","maxTxtSize","editor_toConsumableArray","fontWidth","tlineWidth","maxWidth","viewFn","h1","twidth","keydownEventHandler","altKey","itxt","selectionEnd","ntxt","setSelectionRange","setText","position","blur","setTimeout","Editor","formulas","editor_classCallCheck","suggest","start","lastIndexOf","sit","eit","datepicker","dateFormat","search","bindInputEvents","setItems","suggestPosition","elOffset","sOffset","Button","button_classCallCheck","button_possibleConstructorReturn","button_getPrototypeOf","dpr","thinLineWidth","npx","px","npxLine","DrawBox","padding","draw_classCallCheck","borderTop","borderRight","borderBottom","borderLeft","drawFontLine","tx","ty","blheight","blwidth","floffset","Draw","ctx","getContext","resize","scale","clearRect","options","beginPath","restore","fillRect","fillText","mtxt","box","attr","textWrap","textx","textAlign","textBaseline","fillStyle","strokeStyle","biw","innerWidth","ntxts","txtWidth","measureText","textLine","substr","txtHeight","texty","lineWidth","setLineDash","draw_slicedToArray","moveTo","lineTo","stroke","draw_toConsumableArray","topxys","rightxys","bottomxys","leftxys","sx","sy","closePath","fill","dtextcb","clip","baseFonts","fontSizes","pt","infixExprToSuffixExpr","operatorStack","stack","subStrs","fnArgType","fnArgOperator","fnArgsLen","oldc","join","c1","cell_slicedToArray","ex","ey","rangelen","nc","evalSubExpr","subExpr","cellRender","fl","expr","evalSuffixExpr","srcStack","formulaMap","cellList","fc","_expr","params","render","reverse","core_cell","getCellText","baseFormulas","ary","reduce","formula_toConsumableArray","formula_slicedToArray","f","every","some","formulam","formatStringRender","formatNumberRender","_v1$split2","format_toArray","first","parts","format_toConsumableArray","baseFormats","formatm","cellPaddingWidth","tableFixedHeaderCleanStyle","tableGridStyle","getDrawBox","rindex","yoffset","_data$cellRect","renderCell","draw","nrindex","frozen","dbox","setBorders","strokeBorders","evalPaused","_cell","getCellTextOrDefault","getFontSizePxByPt","getError","renderContent","fw","fh","exceptRowTotalHeight","filteredTranslateFunc","eachMergesInView","afRange","dropdown","renderSelectedHeaderCell","renderFixedHeaders","nty","ntx","_data$selector$range","rowEach","colEach","renderContentGrid","ch","cw","Table","table_classCallCheck","_data$scroll","_data$freeze","table_slicedToArray","vr","freezeViewRange","ftw","fth","theight","PAGER_SIZES","PAGER_ORIENTATIONS","inches2px","inc","btnClick","toPrint","Print","print_classCallCheck","paper","print_toConsumableArray","ps","preview","iwidth","iheight","contentRange","pages","canvases","mViewRange","_loop","th","yo","wrap","canvas","rh","yof","contentWindow","idoc","head","cloneNode","drawImage","menuItems","buildMenu","ContextMenu","contextmenu_classCallCheck","contextmenu_toConsumableArray","setMode","hideEl","vhf","Item","shortcut","item_classCallCheck","tip","element","_target$getBoundingCl","elBox","tooltip","DropdownItem","dd","getValue","_get","dropdown_item_getPrototypeOf","setTitle","Dropdown","showArrow","placement","dropdown_classCallCheck","dropdown_possibleConstructorReturn","dropdown_getPrototypeOf","headerClick","setContentChildren","headerEl","_this$contentEl","DropdownAlign","aligns","_getPrototypeOf2","dropdown_align_classCallCheck","icon","naligns","iconName","dropdown_align_possibleConstructorReturn","dropdown_align_getPrototypeOf","dropdown_align_toConsumableArray","setName","Align","align_classCallCheck","align_possibleConstructorReturn","align_getPrototypeOf","Valign","valign_classCallCheck","valign_possibleConstructorReturn","valign_getPrototypeOf","ToggleItem","toggle_item_get","toggle_item_getPrototypeOf","hasClass","Autofilter","autofilter_classCallCheck","autofilter_possibleConstructorReturn","autofilter_getPrototypeOf","Bold","bold_classCallCheck","bold_possibleConstructorReturn","bold_getPrototypeOf","Italic","italic_classCallCheck","italic_possibleConstructorReturn","italic_getPrototypeOf","Strike","strike_classCallCheck","strike_possibleConstructorReturn","strike_getPrototypeOf","Underline","underline_classCallCheck","underline_possibleConstructorReturn","underline_getPrototypeOf","themeColorPlaceHolders","themeColors","standardColors","buildTd","ColorPalette","_h4","color_palette_classCallCheck","table","color_palette_toConsumableArray","_h3","DropdownColor","dropdown_color_classCallCheck","colorPalette","dropdown_color_possibleConstructorReturn","dropdown_color_getPrototypeOf","lineTypes","DropdownLineType","dropdown_linetype_classCallCheck","beforei","lineTypeEls","iti","dropdown_linetype_possibleConstructorReturn","dropdown_linetype_getPrototypeOf","dropdown_linetype_toConsumableArray","buildTable","BorderPalette","border_palette_classCallCheck","ddColor","ddType","border_palette_slicedToArray","border_palette_toConsumableArray","DropdownBorder","dropdown_border_classCallCheck","borderPalette","dropdown_border_possibleConstructorReturn","dropdown_border_getPrototypeOf","Border","border_classCallCheck","border_possibleConstructorReturn","border_getPrototypeOf","IconItem","icon_item_get","icon_item_getPrototypeOf","Clearformat","clearformat_classCallCheck","clearformat_possibleConstructorReturn","clearformat_getPrototypeOf","Paintformat","paintformat_classCallCheck","paintformat_possibleConstructorReturn","paintformat_getPrototypeOf","TextColor","text_color_classCallCheck","text_color_possibleConstructorReturn","text_color_getPrototypeOf","FillColor","fill_color_classCallCheck","fill_color_possibleConstructorReturn","fill_color_getPrototypeOf","DropdownFontSize","dropdown_fontsize_classCallCheck","nfontSizes","dropdown_fontsize_possibleConstructorReturn","dropdown_fontsize_getPrototypeOf","dropdown_fontsize_toConsumableArray","Format","font_size_classCallCheck","font_size_possibleConstructorReturn","font_size_getPrototypeOf","DropdownFontsize","DropdownFont","dropdown_font_classCallCheck","nfonts","dropdown_font_possibleConstructorReturn","dropdown_font_getPrototypeOf","dropdown_font_toConsumableArray","Font","font_classCallCheck","font_possibleConstructorReturn","font_getPrototypeOf","DropdownFormat","dropdown_format_classCallCheck","nformats","dropdown_format_possibleConstructorReturn","dropdown_format_getPrototypeOf","dropdown_format_toConsumableArray","format_classCallCheck","format_possibleConstructorReturn","format_getPrototypeOf","DropdownFormula","dropdown_formula_classCallCheck","nformulas","dropdown_formula_possibleConstructorReturn","dropdown_formula_getPrototypeOf","dropdown_formula_toConsumableArray","formula_classCallCheck","formula_possibleConstructorReturn","formula_getPrototypeOf","Freeze","freeze_classCallCheck","freeze_possibleConstructorReturn","freeze_getPrototypeOf","Merge","toolbar_merge_classCallCheck","merge_possibleConstructorReturn","merge_getPrototypeOf","Redo","redo_classCallCheck","redo_possibleConstructorReturn","redo_getPrototypeOf","Undo","undo_classCallCheck","undo_possibleConstructorReturn","undo_getPrototypeOf","toolbar_print_classCallCheck","print_possibleConstructorReturn","print_getPrototypeOf","Textwrap","textwrap_classCallCheck","textwrap_possibleConstructorReturn","textwrap_getPrototypeOf","DropdownMore","more_classCallCheck","moreBtns","more_possibleConstructorReturn","more_getPrototypeOf","More","buildDivider","moreResize","_btns$html","_moreBtns$html","btns","moreEl","btns2","_moreEl$dd","widthFn","sumWidth2","list1","list2","toolbar_slicedToArray","genBtn","btn","onClick","Toolbar","toolbar_classCallCheck","undoEl","redoEl","paintformatEl","clearformatEl","formatEl","fontEl","fontSizeEl","FontSize","boldEl","italicEl","underlineEl","strikeEl","textColorEl","fillColorEl","borderEl","mergeEl","alignEl","valignEl","textwrapEl","freezeEl","autofilterEl","formulaEl","Formula","_data$settings$extend","extendToolbar","reset","_el$computedStyle","computedStyle","marginLeft","marginRight","_it$computedStyle","getSelectedCellStyle","setState","canUnmerge","canAutofilter","freezeIsActive","Modal","modal_classCallCheck","modal_toConsumableArray","dimmer","_this$el$show$box","_document$documentEle","xkeydownEsc","FormInput","hint","form_input_classCallCheck","vchange","FormSelect","getTitle","form_select_classCallCheck","itemEl","patterns","FormField","rule","labelWidth","form_field_classCallCheck","pattern","fieldLabelWidth","ModalValidation","modal_validation_classCallCheck","mf","rf","cf","criteriaSelected","criteriaOperatorSelected","minvf","maxvf","svf","vf","modal_validation_possibleConstructorReturn","modal_validation_getPrototypeOf","action","attrs","field","isShow","clsName","buildSortItem","resetFilterHeader","filterhEl","filterValues","checked","SortFilter","sort_filter_classCallCheck","filterbEl","filterClick","sortAscEl","sortDescEl","sortDesc","tindex","xtoast","_el$box","throttle","func","wait","timeout","that","selectorSet","contextMenu","trigger","selectorMove","direction","_selector$indexes","sheet_slicedToArray","_selector$moveIndexes","verticalScrollbar","horizontalScrollbar","_data$getSelectedRect","tableOffset","getTableOffset","verticalScrollbarSet","erth","horizontalScrollbarSet","sheetReset","tableEl","overlayerEl","overlayerCEl","tOffset","vRect","editor","fwidth","fheight","setFreezeLengths","clearClipboard","copyToSystemClipboard","msg","cdata","clipboardData","pasteFromText","unhideRowsOrCols","overlayerMousedown","sortFilter","offsetX","offsetY","isAutofillEl","getCellRectByXY","getSort","shiftKey","_data$getCellRectByXY","paintformatActive","paintformatToggle","editorSetOffset","sPosition","editorSet","getSelectedCell","getSelectedValidator","dataSetCellText","setSelectedCellText","_data$selector","insertDeleteRowColumn","setSelectedCellAttr","toolbarChange","_data$selector2","sheetInitEvents","end","startx","starty","rowResizer","colResizer","modalValidation","tRect","showUnhide","xyInSelectedRect","setPosition","deltaY","deltaX","loopValue","vFunc","moveY","tempY","tempX","temp","horizontal","moveX","_evt$touches$","touches","pageX","pageY","_evt$changedTouches$","changedTouches","_evt$changedTouches$2","setAutoFilter","scrolly","resetBRLAreaOffset","scrollx","resetBRTAreaOffset","itext","_this5$data","addValidation","removeValidation","getSelectedValidation","hideRowsOrCols","reload","focusing","which","metaKey","Sheet","targetEl","sheet_classCallCheck","eventMap","listeners","callback","currentListener","removeListener","current","once","execCalllback","fire","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","done","event_toConsumableArray","removeAllListeners","createEventEmitter","_data$settings","_len3","_key3","resetData","setFreeze","_this$data","_this$getRect","bottombar_classCallCheck","bottombar_possibleConstructorReturn","bottombar_getPrototypeOf","contentClick","bottombar_toConsumableArray","_h$css","Bottombar","addFunc","swapFunc","deleteFunc","updateFunc","dataNames","activeEl","deleteEl","clickSwap2","menuEl","nindex","renameItem","clickSwap","bottombar_slicedToArray","Spreadsheet","selectors","src_classCallCheck","_objectSpread","sheetIndex","datas","querySelector","bottombar","addSheet","sheet","rootEl","_this2$sheet","addItem","_this$bottombar$delet2","src_slicedToArray","deleteItem","oldIndex","ds","nd","getCellStyle","spreadsheet"],"mappings":"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","file":"xspreadsheet.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","/* global document */\n/* global window */\nclass Element {\n constructor(tag, className = '') {\n if (typeof tag === 'string') {\n this.el = document.createElement(tag);\n this.el.className = className;\n } else {\n this.el = tag;\n }\n this.data = {};\n }\n\n data(key, value) {\n if (value !== undefined) {\n this.data[key] = value;\n return this;\n }\n return this.data[key];\n }\n\n on(eventNames, handler) {\n const [fen, ...oen] = eventNames.split('.');\n let eventName = fen;\n if (eventName === 'mousewheel' && /Firefox/i.test(window.navigator.userAgent)) {\n eventName = 'DOMMouseScroll';\n }\n this.el.addEventListener(eventName, (evt) => {\n handler(evt);\n for (let i = 0; i < oen.length; i += 1) {\n const k = oen[i];\n if (k === 'left' && evt.button !== 0) {\n return;\n }\n if (k === 'right' && evt.button !== 2) {\n return;\n }\n if (k === 'stop') {\n evt.stopPropagation();\n }\n }\n });\n return this;\n }\n\n offset(value) {\n if (value !== undefined) {\n Object.keys(value).forEach((k) => {\n this.css(k, `${value[k]}px`);\n });\n return this;\n }\n const {\n offsetTop, offsetLeft, offsetHeight, offsetWidth,\n } = this.el;\n return {\n top: offsetTop,\n left: offsetLeft,\n height: offsetHeight,\n width: offsetWidth,\n };\n }\n\n scroll(v) {\n const { el } = this;\n if (v !== undefined) {\n if (v.left !== undefined) {\n el.scrollLeft = v.left;\n }\n if (v.top !== undefined) {\n el.scrollTop = v.top;\n }\n }\n return { left: el.scrollLeft, top: el.scrollTop };\n }\n\n box() {\n return this.el.getBoundingClientRect();\n }\n\n parent() {\n return new Element(this.el.parentNode);\n }\n\n children(...eles) {\n if (arguments.length === 0) {\n return this.el.childNodes;\n }\n eles.forEach(ele => this.child(ele));\n return this;\n }\n\n removeChild(el) {\n this.el.removeChild(el);\n }\n\n /*\n first() {\n return this.el.firstChild;\n }\n\n last() {\n return this.el.lastChild;\n }\n\n remove(ele) {\n return this.el.removeChild(ele);\n }\n\n prepend(ele) {\n const { el } = this;\n if (el.children.length > 0) {\n el.insertBefore(ele, el.firstChild);\n } else {\n el.appendChild(ele);\n }\n return this;\n }\n\n prev() {\n return this.el.previousSibling;\n }\n\n next() {\n return this.el.nextSibling;\n }\n */\n\n child(arg) {\n let ele = arg;\n if (typeof arg === 'string') {\n ele = document.createTextNode(arg);\n } else if (arg instanceof Element) {\n ele = arg.el;\n }\n this.el.appendChild(ele);\n return this;\n }\n\n contains(ele) {\n return this.el.contains(ele);\n }\n\n className(v) {\n if (v !== undefined) {\n this.el.className = v;\n return this;\n }\n return this.el.className;\n }\n\n addClass(name) {\n this.el.classList.add(name);\n return this;\n }\n\n hasClass(name) {\n return this.el.classList.contains(name);\n }\n\n removeClass(name) {\n this.el.classList.remove(name);\n return this;\n }\n\n toggle(cls = 'active') {\n return this.toggleClass(cls);\n }\n\n toggleClass(name) {\n return this.el.classList.toggle(name);\n }\n\n active(flag = true, cls = 'active') {\n if (flag) this.addClass(cls);\n else this.removeClass(cls);\n return this;\n }\n\n checked(flag = true) {\n this.active(flag, 'checked');\n return this;\n }\n\n disabled(flag = true) {\n if (flag) this.addClass('disabled');\n else this.removeClass('disabled');\n return this;\n }\n\n // key, value\n // key\n // {k, v}...\n attr(key, value) {\n if (value !== undefined) {\n this.el.setAttribute(key, value);\n } else {\n if (typeof key === 'string') {\n return this.el.getAttribute(key);\n }\n Object.keys(key).forEach((k) => {\n this.el.setAttribute(k, key[k]);\n });\n }\n return this;\n }\n\n removeAttr(key) {\n this.el.removeAttribute(key);\n return this;\n }\n\n html(content) {\n if (content !== undefined) {\n this.el.innerHTML = content;\n return this;\n }\n return this.el.innerHTML;\n }\n\n val(v) {\n if (v !== undefined) {\n this.el.value = v;\n return this;\n }\n return this.el.value;\n }\n\n focus() {\n this.el.focus();\n }\n\n cssRemoveKeys(...keys) {\n keys.forEach(k => this.el.style.removeProperty(k));\n return this;\n }\n\n // css( propertyName )\n // css( propertyName, value )\n // css( properties )\n css(name, value) {\n if (value === undefined && typeof name !== 'string') {\n Object.keys(name).forEach((k) => {\n this.el.style[k] = name[k];\n });\n return this;\n }\n if (value !== undefined) {\n this.el.style[name] = value;\n return this;\n }\n return this.el.style[name];\n }\n\n computedStyle() {\n return window.getComputedStyle(this.el, null);\n }\n\n show() {\n this.css('display', 'block');\n return this;\n }\n\n hide() {\n this.css('display', 'none');\n return this;\n }\n}\n\nconst h = (tag, className = '') => new Element(tag, className);\n\nexport {\n Element,\n h,\n};\n","import './_.prototypes';\n\nconst alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\n\n/** index number 2 letters\n * @example stringAt(26) ==> 'AA'\n * @date 2019-10-10\n * @export\n * @param {number} index\n * @returns {string}\n */\nexport function stringAt(index) {\n let str = '';\n let cindex = index;\n while (cindex >= alphabets.length) {\n cindex /= alphabets.length;\n cindex -= 1;\n str += alphabets[parseInt(cindex, 10) % alphabets.length];\n }\n const last = index % alphabets.length;\n str += alphabets[last];\n return str;\n}\n\n/** translate letter in A1-tag to number\n * @date 2019-10-10\n * @export\n * @param {string} str \"AA\" in A1-tag \"AA1\"\n * @returns {number}\n */\nexport function indexAt(str) {\n let ret = 0;\n for (let i = 0; i < str.length - 1; i += 1) {\n const cindex = str.charCodeAt(i) - 65;\n const exponet = str.length - 1 - i;\n ret += (alphabets.length ** exponet) + (alphabets.length * cindex);\n }\n ret += str.charCodeAt(str.length - 1) - 65;\n return ret;\n}\n\n// B10 => x,y\n/** translate A1-tag to XY-tag\n * @date 2019-10-10\n * @export\n * @param {tagA1} src\n * @returns {tagXY}\n */\nexport function expr2xy(src) {\n let x = '';\n let y = '';\n for (let i = 0; i < src.length; i += 1) {\n if (src.charAt(i) >= '0' && src.charAt(i) <= '9') {\n y += src.charAt(i);\n } else {\n x += src.charAt(i);\n }\n }\n return [indexAt(x), parseInt(y, 10) - 1];\n}\n\n/** translate XY-tag to A1-tag\n * @example x,y => B10\n * @date 2019-10-10\n * @export\n * @param {number} x\n * @param {number} y\n * @returns {tagA1}\n */\nexport function xy2expr(x, y) {\n return `${stringAt(x)}${y + 1}`;\n}\n\n/** translate A1-tag src by (xn, yn)\n * @date 2019-10-10\n * @export\n * @param {tagA1} src\n * @param {number} xn\n * @param {number} yn\n * @returns {tagA1}\n */\nexport function expr2expr(src, xn, yn, condition = () => true) {\n if (xn === 0 && yn === 0) return src;\n const [x, y] = expr2xy(src);\n if (!condition(x, y)) return src;\n return xy2expr(x + xn, y + yn);\n}\n\nexport default {\n stringAt,\n indexAt,\n expr2xy,\n xy2expr,\n expr2expr,\n};\n","import { xy2expr, expr2xy } from './alphabet';\n\nclass CellRange {\n constructor(sri, sci, eri, eci, w = 0, h = 0) {\n this.sri = sri;\n this.sci = sci;\n this.eri = eri;\n this.eci = eci;\n this.w = w;\n this.h = h;\n }\n\n set(sri, sci, eri, eci) {\n this.sri = sri;\n this.sci = sci;\n this.eri = eri;\n this.eci = eci;\n }\n\n multiple() {\n return this.eri - this.sri > 0 || this.eci - this.sci > 0;\n }\n\n // cell-index: ri, ci\n // cell-ref: A10\n includes(...args) {\n let [ri, ci] = [0, 0];\n if (args.length === 1) {\n [ci, ri] = expr2xy(args[0]);\n } else if (args.length === 2) {\n [ri, ci] = args;\n }\n const {\n sri, sci, eri, eci,\n } = this;\n return sri <= ri && ri <= eri && sci <= ci && ci <= eci;\n }\n\n each(cb, rowFilter = () => true) {\n const {\n sri, sci, eri, eci,\n } = this;\n for (let i = sri; i <= eri; i += 1) {\n if (rowFilter(i)) {\n for (let j = sci; j <= eci; j += 1) {\n cb(i, j);\n }\n }\n }\n }\n\n contains(other) {\n return this.sri <= other.sri\n && this.sci <= other.sci\n && this.eri >= other.eri\n && this.eci >= other.eci;\n }\n\n // within\n within(other) {\n return this.sri >= other.sri\n && this.sci >= other.sci\n && this.eri <= other.eri\n && this.eci <= other.eci;\n }\n\n // disjoint\n disjoint(other) {\n return this.sri > other.eri\n || this.sci > other.eci\n || other.sri > this.eri\n || other.sci > this.eci;\n }\n\n // intersects\n intersects(other) {\n return this.sri <= other.eri\n && this.sci <= other.eci\n && other.sri <= this.eri\n && other.sci <= this.eci;\n }\n\n // union\n union(other) {\n const {\n sri, sci, eri, eci,\n } = this;\n return new CellRange(\n other.sri < sri ? other.sri : sri,\n other.sci < sci ? other.sci : sci,\n other.eri > eri ? other.eri : eri,\n other.eci > eci ? other.eci : eci,\n );\n }\n\n // intersection\n // intersection(other) {}\n\n // Returns Array that represents that part of this that does not intersect with other\n // difference\n difference(other) {\n const ret = [];\n const addRet = (sri, sci, eri, eci) => {\n ret.push(new CellRange(sri, sci, eri, eci));\n };\n const {\n sri, sci, eri, eci,\n } = this;\n const dsr = other.sri - sri;\n const dsc = other.sci - sci;\n const der = eri - other.eri;\n const dec = eci - other.eci;\n if (dsr > 0) {\n addRet(sri, sci, other.sri - 1, eci);\n if (der > 0) {\n addRet(other.eri + 1, sci, eri, eci);\n if (dsc > 0) {\n addRet(other.sri, sci, other.eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(other.sri, other.eci + 1, other.eri, eci);\n }\n } else {\n if (dsc > 0) {\n addRet(other.sri, sci, eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(other.sri, other.eci + 1, eri, eci);\n }\n }\n } else if (der > 0) {\n addRet(other.eri + 1, sci, eri, eci);\n if (dsc > 0) {\n addRet(sri, sci, other.eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(sri, other.eci + 1, other.eri, eci);\n }\n }\n if (dsc > 0) {\n addRet(sri, sci, eri, other.sci - 1);\n if (dec > 0) {\n addRet(sri, other.eri + 1, eri, eci);\n if (dsr > 0) {\n addRet(sri, other.sci, other.sri - 1, other.eci);\n }\n if (der > 0) {\n addRet(other.sri + 1, other.sci, eri, other.eci);\n }\n } else {\n if (dsr > 0) {\n addRet(sri, other.sci, other.sri - 1, eci);\n }\n if (der > 0) {\n addRet(other.sri + 1, other.sci, eri, eci);\n }\n }\n } else if (dec > 0) {\n addRet(eri, other.eci + 1, eri, eci);\n if (dsr > 0) {\n addRet(sri, sci, other.sri - 1, other.eci);\n }\n if (der > 0) {\n addRet(other.eri + 1, sci, eri, other.eci);\n }\n }\n return ret;\n }\n\n size() {\n return [\n this.eri - this.sri + 1,\n this.eci - this.sci + 1,\n ];\n }\n\n toString() {\n const {\n sri, sci, eri, eci,\n } = this;\n let ref = xy2expr(sci, sri);\n if (this.multiple()) {\n ref = `${ref}:${xy2expr(eci, eri)}`;\n }\n return ref;\n }\n\n clone() {\n const {\n sri, sci, eri, eci, w, h,\n } = this;\n return new CellRange(sri, sci, eri, eci, w, h);\n }\n\n /*\n toJSON() {\n return this.toString();\n }\n */\n\n equals(other) {\n return this.eri === other.eri\n && this.eci === other.eci\n && this.sri === other.sri\n && this.sci === other.sci;\n }\n\n static valueOf(ref) {\n // B1:B8, B1 => 1 x 1 cell range\n const refs = ref.split(':');\n const [sci, sri] = expr2xy(refs[0]);\n let [eri, eci] = [sri, sci];\n if (refs.length > 1) {\n [eci, eri] = expr2xy(refs[1]);\n }\n return new CellRange(sri, sci, eri, eci);\n }\n}\n\nexport default CellRange;\n\nexport {\n CellRange,\n};\n","import { CellRange } from './cell_range';\n\nexport default class Selector {\n constructor() {\n this.range = new CellRange(0, 0, 0, 0);\n this.ri = 0;\n this.ci = 0;\n }\n\n multiple() {\n return this.range.multiple();\n }\n\n setIndexes(ri, ci) {\n this.ri = ri;\n this.ci = ci;\n }\n\n size() {\n return this.range.size();\n }\n}\n","export default class Scroll {\n constructor() {\n this.x = 0; // left\n this.y = 0; // top\n this.ri = 0; // cell row-index\n this.ci = 0; // cell col-index\n }\n}\n","// import helper from '../helper';\n\nexport default class History {\n constructor() {\n this.undoItems = [];\n this.redoItems = [];\n }\n\n add(data) {\n this.undoItems.push(JSON.stringify(data));\n this.redoItems = [];\n }\n\n canUndo() {\n return this.undoItems.length > 0;\n }\n\n canRedo() {\n return this.redoItems.length > 0;\n }\n\n undo(currentd, cb) {\n const { undoItems, redoItems } = this;\n if (this.canUndo()) {\n redoItems.push(JSON.stringify(currentd));\n cb(JSON.parse(undoItems.pop()));\n }\n }\n\n redo(currentd, cb) {\n const { undoItems, redoItems } = this;\n if (this.canRedo()) {\n undoItems.push(JSON.stringify(currentd));\n cb(JSON.parse(redoItems.pop()));\n }\n }\n}\n","export default class Clipboard {\n constructor() {\n this.range = null; // CellRange\n this.state = 'clear';\n }\n\n copy(cellRange) {\n this.range = cellRange;\n this.state = 'copy';\n return this;\n }\n\n cut(cellRange) {\n this.range = cellRange;\n this.state = 'cut';\n return this;\n }\n\n isCopy() {\n return this.state === 'copy';\n }\n\n isCut() {\n return this.state === 'cut';\n }\n\n isClear() {\n return this.state === 'clear';\n }\n\n clear() {\n this.range = null;\n this.state = 'clear';\n }\n}\n","import { CellRange } from './cell_range';\n// operator: all|eq|neq|gt|gte|lt|lte|in|be\n// value:\n// in => []\n// be => [min, max]\nclass Filter {\n constructor(ci, operator, value) {\n this.ci = ci;\n this.operator = operator;\n this.value = value;\n }\n\n set(operator, value) {\n this.operator = operator;\n this.value = value;\n }\n\n includes(v) {\n const { operator, value } = this;\n if (operator === 'all') {\n return true;\n }\n if (operator === 'in') {\n return value.includes(v);\n }\n return false;\n }\n\n vlength() {\n const { operator, value } = this;\n if (operator === 'in') {\n return value.length;\n }\n return 0;\n }\n\n getData() {\n const { ci, operator, value } = this;\n return { ci, operator, value };\n }\n}\n\nclass Sort {\n constructor(ci, order) {\n this.ci = ci;\n this.order = order;\n }\n\n asc() {\n return this.order === 'asc';\n }\n\n desc() {\n return this.order === 'desc';\n }\n}\n\nexport default class AutoFilter {\n constructor() {\n this.ref = null;\n this.filters = [];\n this.sort = null;\n }\n\n setData({ ref, filters, sort }) {\n if (ref != null) {\n this.ref = ref;\n this.filters = filters.map(it => new Filter(it.ci, it.operator, it.value));\n if (sort) {\n this.sort = new Sort(sort.ci, sort.order);\n }\n }\n }\n\n getData() {\n if (this.active()) {\n const { ref, filters, sort } = this;\n return { ref, filters: filters.map(it => it.getData()), sort };\n }\n return {};\n }\n\n addFilter(ci, operator, value) {\n const filter = this.getFilter(ci);\n if (filter == null) {\n this.filters.push(new Filter(ci, operator, value));\n } else {\n filter.set(operator, value);\n }\n }\n\n setSort(ci, order) {\n this.sort = order ? new Sort(ci, order) : null;\n }\n\n includes(ri, ci) {\n if (this.active()) {\n return this.hrange().includes(ri, ci);\n }\n return false;\n }\n\n getSort(ci) {\n const { sort } = this;\n if (sort && sort.ci === ci) {\n return sort;\n }\n return null;\n }\n\n getFilter(ci) {\n const { filters } = this;\n for (let i = 0; i < filters.length; i += 1) {\n if (filters[i].ci === ci) {\n return filters[i];\n }\n }\n return null;\n }\n\n filteredRows(getCell) {\n // const ary = [];\n // let lastri = 0;\n const rset = new Set();\n const fset = new Set();\n if (this.active()) {\n const { sri, eri } = this.range();\n const { filters } = this;\n for (let ri = sri + 1; ri <= eri; ri += 1) {\n for (let i = 0; i < filters.length; i += 1) {\n const filter = filters[i];\n const cell = getCell(ri, filter.ci);\n const ctext = cell ? cell.text : '';\n if (!filter.includes(ctext)) {\n rset.add(ri);\n break;\n } else {\n fset.add(ri);\n }\n }\n }\n }\n return { rset, fset };\n }\n\n items(ci, getCell) {\n const m = {};\n if (this.active()) {\n const { sri, eri } = this.range();\n for (let ri = sri + 1; ri <= eri; ri += 1) {\n const cell = getCell(ri, ci);\n if (cell !== null && !/^\\s*$/.test(cell.text)) {\n const key = cell.text;\n const cnt = (m[key] || 0) + 1;\n m[key] = cnt;\n } else {\n m[''] = (m[''] || 0) + 1;\n }\n }\n }\n return m;\n }\n\n range() {\n return CellRange.valueOf(this.ref);\n }\n\n hrange() {\n const r = this.range();\n r.eri = r.sri;\n return r;\n }\n\n clear() {\n this.ref = null;\n this.filters = [];\n this.sort = null;\n }\n\n active() {\n return this.ref !== null;\n }\n}\n","import { CellRange } from './cell_range';\n\nclass Merges {\n constructor(d = []) {\n this._ = d;\n }\n\n forEach(cb) {\n this._.forEach(cb);\n }\n\n deleteWithin(cr) {\n this._ = this._.filter(it => !it.within(cr));\n }\n\n getFirstIncludes(ri, ci) {\n for (let i = 0; i < this._.length; i += 1) {\n const it = this._[i];\n if (it.includes(ri, ci)) {\n return it;\n }\n }\n return null;\n }\n\n filterIntersects(cellRange) {\n return new Merges(this._.filter(it => it.intersects(cellRange)));\n }\n\n intersects(cellRange) {\n for (let i = 0; i < this._.length; i += 1) {\n const it = this._[i];\n if (it.intersects(cellRange)) {\n // console.log('intersects');\n return true;\n }\n }\n return false;\n }\n\n union(cellRange) {\n let cr = cellRange;\n this._.forEach((it) => {\n if (it.intersects(cr)) {\n cr = it.union(cr);\n }\n });\n return cr;\n }\n\n add(cr) {\n this.deleteWithin(cr);\n this._.push(cr);\n }\n\n // type: row | column\n shift(type, index, n, cbWithin) {\n this._.forEach((cellRange) => {\n const {\n sri, sci, eri, eci,\n } = cellRange;\n const range = cellRange;\n if (type === 'row') {\n if (sri >= index) {\n range.sri += n;\n range.eri += n;\n } else if (sri < index && index <= eri) {\n range.eri += n;\n cbWithin(sri, sci, n, 0);\n }\n } else if (type === 'column') {\n if (sci >= index) {\n range.sci += n;\n range.eci += n;\n } else if (sci < index && index <= eci) {\n range.eci += n;\n cbWithin(sri, sci, 0, n);\n }\n }\n });\n }\n\n move(cellRange, rn, cn) {\n this._.forEach((it1) => {\n const it = it1;\n if (it.within(cellRange)) {\n it.eri += rn;\n it.sri += rn;\n it.sci += cn;\n it.eci += cn;\n }\n });\n }\n\n setData(merges) {\n this._ = merges.map(merge => CellRange.valueOf(merge));\n return this;\n }\n\n getData() {\n return this._.map(merge => merge.toString());\n }\n}\n\nexport default {};\nexport {\n Merges,\n};\n","/* eslint-disable no-param-reassign */\nfunction cloneDeep(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nconst mergeDeep = (object = {}, ...sources) => {\n sources.forEach((source) => {\n Object.keys(source).forEach((key) => {\n const v = source[key];\n // console.log('k:', key, ', v:', source[key], typeof v, v instanceof Object);\n if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean') {\n object[key] = v;\n } else if (typeof v !== 'function' && !Array.isArray(v) && v instanceof Object) {\n object[key] = object[key] || {};\n mergeDeep(object[key], v);\n } else {\n object[key] = v;\n }\n });\n });\n // console.log('::', object);\n return object;\n};\n\nfunction equals(obj1, obj2) {\n const keys = Object.keys(obj1);\n if (keys.length !== Object.keys(obj2).length) return false;\n for (let i = 0; i < keys.length; i += 1) {\n const k = keys[i];\n const v1 = obj1[k];\n const v2 = obj2[k];\n if (v2 === undefined) return false;\n if (typeof v1 === 'string' || typeof v1 === 'number' || typeof v1 === 'boolean') {\n if (v1 !== v2) return false;\n } else if (Array.isArray(v1)) {\n if (v1.length !== v2.length) return false;\n for (let ai = 0; ai < v1.length; ai += 1) {\n if (!equals(v1[ai], v2[ai])) return false;\n }\n } else if (typeof v1 !== 'function' && !Array.isArray(v1) && v1 instanceof Object) {\n if (!equals(v1, v2)) return false;\n }\n }\n return true;\n}\n\n/*\n objOrAry: obejct or Array\n cb: (value, index | key) => { return value }\n*/\nconst sum = (objOrAry, cb = value => value) => {\n let total = 0;\n let size = 0;\n Object.keys(objOrAry).forEach((key) => {\n total += cb(objOrAry[key], key);\n size += 1;\n });\n return [total, size];\n};\n\nfunction deleteProperty(obj, property) {\n const oldv = obj[`${property}`];\n delete obj[`${property}`];\n return oldv;\n}\n\nfunction rangeReduceIf(min, max, inits, initv, ifv, getv) {\n let s = inits;\n let v = initv;\n let i = min;\n for (; i < max; i += 1) {\n if (s > ifv) break;\n v = getv(i);\n s += v;\n }\n return [i, s - v, v];\n}\n\nfunction rangeSum(min, max, getv) {\n let s = 0;\n for (let i = min; i < max; i += 1) {\n s += getv(i);\n }\n return s;\n}\n\nfunction rangeEach(min, max, cb) {\n for (let i = min; i < max; i += 1) {\n cb(i);\n }\n}\n\nfunction arrayEquals(a1, a2) {\n if (a1.length === a2.length) {\n for (let i = 0; i < a1.length; i += 1) {\n if (a1[i] !== a2[i]) return false;\n }\n } else return false;\n return true;\n}\n\nfunction digits(a) {\n const v = `${a}`;\n let ret = 0;\n let flag = false;\n for (let i = 0; i < v.length; i += 1) {\n if (flag === true) ret += 1;\n if (v.charAt(i) === '.') flag = true;\n }\n return ret;\n}\n\nexport function numberCalc(type, a1, a2) {\n if (Number.isNaN(a1) || Number.isNaN(a2)) {\n return a1 + type + a2;\n }\n const al1 = digits(a1);\n const al2 = digits(a2);\n const num1 = Number(a1);\n const num2 = Number(a2);\n let ret = 0;\n if (type === '-') {\n ret = num1 - num2;\n } else if (type === '+') {\n ret = num1 + num2;\n } else if (type === '*') {\n ret = num1 * num2;\n } else if (type === '/') {\n ret = num1 / num2;\n if (digits(ret) > 5) return ret.toFixed(2);\n return ret;\n }\n return ret.toFixed(Math.max(al1, al2));\n}\n\nexport default {\n cloneDeep,\n merge: (...sources) => mergeDeep({}, ...sources),\n equals,\n arrayEquals,\n sum,\n rangeEach,\n rangeSum,\n rangeReduceIf,\n deleteProperty,\n numberCalc,\n};\n","import helper from './helper';\nimport { expr2expr } from './alphabet';\n\nclass Rows {\n constructor({ len, height }) {\n this._ = {};\n this.len = len;\n // default row height\n this.height = height;\n }\n\n getHeight(ri) {\n if (this.isHide(ri)) return 0;\n const row = this.get(ri);\n if (row && row.height) {\n return row.height;\n }\n return this.height;\n }\n\n setHeight(ri, v) {\n const row = this.getOrNew(ri);\n row.height = v;\n }\n\n unhide(idx) {\n let index = idx;\n while (index > 0) {\n index -= 1;\n if (this.isHide(index)) {\n this.setHide(index, false);\n } else break;\n }\n }\n\n isHide(ri) {\n const row = this.get(ri);\n return row && row.hide;\n }\n\n setHide(ri, v) {\n const row = this.getOrNew(ri);\n if (v === true) row.hide = true;\n else delete row.hide;\n }\n\n setStyle(ri, style) {\n const row = this.getOrNew(ri);\n row.style = style;\n }\n\n sumHeight(min, max, exceptSet) {\n return helper.rangeSum(min, max, (i) => {\n if (exceptSet && exceptSet.has(i)) return 0;\n return this.getHeight(i);\n });\n }\n\n totalHeight() {\n return this.sumHeight(0, this.len);\n }\n\n get(ri) {\n return this._[ri];\n }\n\n getOrNew(ri) {\n this._[ri] = this._[ri] || { cells: {} };\n return this._[ri];\n }\n\n getCell(ri, ci) {\n const row = this.get(ri);\n if (row !== undefined && row.cells !== undefined && row.cells[ci] !== undefined) {\n return row.cells[ci];\n }\n return null;\n }\n\n getCellMerge(ri, ci) {\n const cell = this.getCell(ri, ci);\n if (cell && cell.merge) return cell.merge;\n return [0, 0];\n }\n\n getCellOrNew(ri, ci) {\n const row = this.getOrNew(ri);\n row.cells[ci] = row.cells[ci] || {};\n return row.cells[ci];\n }\n\n // what: all | text | format\n setCell(ri, ci, cell, what = 'all') {\n const row = this.getOrNew(ri);\n if (what === 'all') {\n row.cells[ci] = cell;\n } else if (what === 'text') {\n row.cells[ci] = row.cells[ci] || {};\n row.cells[ci].text = cell.text;\n } else if (what === 'format') {\n row.cells[ci] = row.cells[ci] || {};\n row.cells[ci].style = cell.style;\n if (cell.merge) row.cells[ci].merge = cell.merge;\n }\n }\n\n setCellText(ri, ci, text) {\n const cell = this.getCellOrNew(ri, ci);\n if (cell.editable !== false) cell.text = text;\n }\n\n // what: all | format | text\n copyPaste(srcCellRange, dstCellRange, what, autofill = false, cb = () => {}) {\n const {\n sri, sci, eri, eci,\n } = srcCellRange;\n const dsri = dstCellRange.sri;\n const dsci = dstCellRange.sci;\n const deri = dstCellRange.eri;\n const deci = dstCellRange.eci;\n const [rn, cn] = srcCellRange.size();\n const [drn, dcn] = dstCellRange.size();\n // console.log(srcIndexes, dstIndexes);\n let isAdd = true;\n let dn = 0;\n if (deri < sri || deci < sci) {\n isAdd = false;\n if (deri < sri) dn = drn;\n else dn = dcn;\n }\n for (let i = sri; i <= eri; i += 1) {\n if (this._[i]) {\n for (let j = sci; j <= eci; j += 1) {\n if (this._[i].cells && this._[i].cells[j]) {\n for (let ii = dsri; ii <= deri; ii += rn) {\n for (let jj = dsci; jj <= deci; jj += cn) {\n const nri = ii + (i - sri);\n const nci = jj + (j - sci);\n const ncell = helper.cloneDeep(this._[i].cells[j]);\n // ncell.text\n if (autofill && ncell && ncell.text && ncell.text.length > 0) {\n const { text } = ncell;\n let n = (jj - dsci) + (ii - dsri) + 2;\n if (!isAdd) {\n n -= dn + 1;\n }\n if (text[0] === '=') {\n ncell.text = text.replace(/[a-zA-Z]{1,3}\\d+/g, (word) => {\n let [xn, yn] = [0, 0];\n if (sri === dsri) {\n xn = n - 1;\n // if (isAdd) xn -= 1;\n } else {\n yn = n - 1;\n }\n if (/^\\d+$/.test(word)) return word;\n return expr2expr(word, xn, yn);\n });\n } else if ((rn <= 1 && cn > 1 && (dsri > eri || deri < sri))\n || (cn <= 1 && rn > 1 && (dsci > eci || deci < sci))\n || (rn <= 1 && cn <= 1)) {\n const result = /[\\\\.\\d]+$/.exec(text);\n // console.log('result:', result);\n if (result !== null) {\n const index = Number(result[0]) + n - 1;\n ncell.text = text.substring(0, result.index) + index;\n }\n }\n }\n this.setCell(nri, nci, ncell, what);\n cb(nri, nci, ncell);\n }\n }\n }\n }\n }\n }\n }\n\n cutPaste(srcCellRange, dstCellRange) {\n const ncellmm = {};\n this.each((ri) => {\n this.eachCells(ri, (ci) => {\n let nri = parseInt(ri, 10);\n let nci = parseInt(ci, 10);\n if (srcCellRange.includes(ri, ci)) {\n nri = dstCellRange.sri + (nri - srcCellRange.sri);\n nci = dstCellRange.sci + (nci - srcCellRange.sci);\n }\n ncellmm[nri] = ncellmm[nri] || { cells: {} };\n ncellmm[nri].cells[nci] = this._[ri].cells[ci];\n });\n });\n this._ = ncellmm;\n }\n\n // src: Array>\n paste(src, dstCellRange) {\n if (src.length <= 0) return;\n const { sri, sci } = dstCellRange;\n src.forEach((row, i) => {\n const ri = sri + i;\n row.forEach((cell, j) => {\n const ci = sci + j;\n this.setCellText(ri, ci, cell);\n });\n });\n }\n\n insert(sri, n = 1) {\n const ndata = {};\n this.each((ri, row) => {\n let nri = parseInt(ri, 10);\n if (nri >= sri) {\n nri += n;\n this.eachCells(ri, (ci, cell) => {\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, 0, n, (x, y) => y >= sri));\n }\n });\n }\n ndata[nri] = row;\n });\n this._ = ndata;\n this.len += n;\n }\n\n delete(sri, eri) {\n const n = eri - sri + 1;\n const ndata = {};\n this.each((ri, row) => {\n const nri = parseInt(ri, 10);\n if (nri < sri) {\n ndata[nri] = row;\n } else if (ri > eri) {\n ndata[nri - n] = row;\n this.eachCells(ri, (ci, cell) => {\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, 0, -n, (x, y) => y > eri));\n }\n });\n }\n });\n this._ = ndata;\n this.len -= n;\n }\n\n insertColumn(sci, n = 1) {\n this.each((ri, row) => {\n const rndata = {};\n this.eachCells(ri, (ci, cell) => {\n let nci = parseInt(ci, 10);\n if (nci >= sci) {\n nci += n;\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, n, 0, x => x >= sci));\n }\n }\n rndata[nci] = cell;\n });\n row.cells = rndata;\n });\n }\n\n deleteColumn(sci, eci) {\n const n = eci - sci + 1;\n this.each((ri, row) => {\n const rndata = {};\n this.eachCells(ri, (ci, cell) => {\n const nci = parseInt(ci, 10);\n if (nci < sci) {\n rndata[nci] = cell;\n } else if (nci > eci) {\n rndata[nci - n] = cell;\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, -n, 0, x => x > eci));\n }\n }\n });\n row.cells = rndata;\n });\n }\n\n // what: all | text | format | merge\n deleteCells(cellRange, what = 'all') {\n cellRange.each((i, j) => {\n this.deleteCell(i, j, what);\n });\n }\n\n // what: all | text | format | merge\n deleteCell(ri, ci, what = 'all') {\n const row = this.get(ri);\n if (row !== null) {\n const cell = this.getCell(ri, ci);\n if (cell !== null && cell.editable !== false) {\n if (what === 'all') {\n delete row.cells[ci];\n } else if (what === 'text') {\n if (cell.text) delete cell.text;\n if (cell.value) delete cell.value;\n } else if (what === 'format') {\n if (cell.style !== undefined) delete cell.style;\n if (cell.merge) delete cell.merge;\n } else if (what === 'merge') {\n if (cell.merge) delete cell.merge;\n }\n }\n }\n }\n\n maxCell() {\n const keys = Object.keys(this._);\n const ri = keys[keys.length - 1];\n const col = this._[ri];\n if (col) {\n const { cells } = col;\n const ks = Object.keys(cells);\n const ci = ks[ks.length - 1];\n return [parseInt(ri, 10), parseInt(ci, 10)];\n }\n return [0, 0];\n }\n\n each(cb) {\n Object.entries(this._).forEach(([ri, row]) => {\n cb(ri, row);\n });\n }\n\n eachCells(ri, cb) {\n if (this._[ri] && this._[ri].cells) {\n Object.entries(this._[ri].cells).forEach(([ci, cell]) => {\n cb(ci, cell);\n });\n }\n }\n\n setData(d) {\n if (d.len) {\n this.len = d.len;\n delete d.len;\n }\n this._ = d;\n }\n\n getData() {\n const { len } = this;\n return Object.assign({ len }, this._);\n }\n}\n\nexport default {};\nexport {\n Rows,\n};\n","import helper from './helper';\n\nclass Cols {\n constructor({\n len, width, indexWidth, minWidth,\n }) {\n this._ = {};\n this.len = len;\n this.width = width;\n this.indexWidth = indexWidth;\n this.minWidth = minWidth;\n }\n\n setData(d) {\n if (d.len) {\n this.len = d.len;\n delete d.len;\n }\n this._ = d;\n }\n\n getData() {\n const { len } = this;\n return Object.assign({ len }, this._);\n }\n\n getWidth(i) {\n if (this.isHide(i)) return 0;\n const col = this._[i];\n if (col && col.width) {\n return col.width;\n }\n return this.width;\n }\n\n getOrNew(ci) {\n this._[ci] = this._[ci] || {};\n return this._[ci];\n }\n\n setWidth(ci, width) {\n const col = this.getOrNew(ci);\n col.width = width;\n }\n\n unhide(idx) {\n let index = idx;\n while (index > 0) {\n index -= 1;\n if (this.isHide(index)) {\n this.setHide(index, false);\n } else break;\n }\n }\n\n isHide(ci) {\n const col = this._[ci];\n return col && col.hide;\n }\n\n setHide(ci, v) {\n const col = this.getOrNew(ci);\n if (v === true) col.hide = true;\n else delete col.hide;\n }\n\n setStyle(ci, style) {\n const col = this.getOrNew(ci);\n col.style = style;\n }\n\n sumWidth(min, max) {\n return helper.rangeSum(min, max, i => this.getWidth(i));\n }\n\n totalWidth() {\n return this.sumWidth(0, this.len);\n }\n}\n\nexport default {};\nexport {\n Cols,\n};\n","/* global window */\nimport en from './en';\n\n// Defines the fallback language as English\nlet $languages = ['en'];\nconst $messages = {\n en,\n};\n\nfunction translate(key, messages) {\n if (messages) {\n // Return the translation from the first language in the languages array\n // that has a value for the provided key.\n for (const lang of $languages) {\n if (!messages[lang]) break;\n\n let message = messages[lang];\n\n // Splits the key at '.' except where escaped as '\\.'\n const keys = key.match(/(?:\\\\.|[^.])+/g);\n\n for (let i = 0; i < keys.length; i += 1) {\n const property = keys[i];\n const value = message[property];\n\n // If value doesn't exist, try next language\n if (!value) break;\n\n if (i === keys.length - 1) return value;\n\n // Move down to the next level of the messages object\n message = value;\n }\n }\n }\n\n return undefined;\n}\n\nfunction t(key) {\n let v = translate(key, $messages);\n if (!v && window && window.x_spreadsheet && window.x_spreadsheet.$messages) {\n v = translate(key, window.x_spreadsheet.$messages);\n }\n return v || '';\n}\n\nfunction tf(key) {\n return () => t(key);\n}\n\n// If clearLangList is set to false, lang will be added to the front of the\n// languages array. The languages in the language array are searched in order\n// to find a translation. This allows the use of other languages as a fallback\n// if lang is missing some keys. The language array is preloaded with English.\n// To set the languages array to only include lang, set clearLangList to true.\nfunction locale(lang, message, clearLangList = false) {\n if (clearLangList) {\n $languages = [lang];\n } else {\n // Append to front of array.\n // Translation method will use the first language in the list that has a\n // matching key.\n $languages.unshift(lang);\n }\n\n if (message) {\n $messages[lang] = message;\n }\n}\n\nexport default {\n t,\n};\n\nexport {\n locale,\n t,\n tf,\n};\n","export default {\n toolbar: {\n undo: 'Undo',\n redo: 'Redo',\n print: 'Print',\n paintformat: 'Paint format',\n clearformat: 'Clear format',\n format: 'Format',\n fontName: 'Font',\n fontSize: 'Font size',\n fontBold: 'Font bold',\n fontItalic: 'Font italic',\n underline: 'Underline',\n strike: 'Strike',\n color: 'Text color',\n bgcolor: 'Fill color',\n border: 'Borders',\n merge: 'Merge cells',\n align: 'Horizontal align',\n valign: 'Vertical align',\n textwrap: 'Text wrapping',\n freeze: 'Freeze cell',\n autofilter: 'Filter',\n formula: 'Functions',\n more: 'More',\n },\n contextmenu: {\n copy: 'Copy',\n cut: 'Cut',\n paste: 'Paste',\n pasteValue: 'Paste values only',\n pasteFormat: 'Paste format only',\n hide: 'Hide',\n insertRow: 'Insert row',\n insertColumn: 'Insert column',\n deleteSheet: 'Delete',\n deleteRow: 'Delete row',\n deleteColumn: 'Delete column',\n deleteCell: 'Delete cell',\n deleteCellText: 'Delete cell text',\n validation: 'Data validations',\n cellprintable: 'Enable export',\n cellnonprintable: 'Disable export',\n celleditable: 'Enable editing',\n cellnoneditable: 'Disable editing',\n },\n print: {\n size: 'Paper size',\n orientation: 'Page orientation',\n orientations: ['Landscape', 'Portrait'],\n },\n format: {\n normal: 'Normal',\n text: 'Plain Text',\n number: 'Number',\n percent: 'Percent',\n rmb: 'RMB',\n usd: 'USD',\n eur: 'EUR',\n date: 'Date',\n time: 'Time',\n datetime: 'Date time',\n duration: 'Duration',\n },\n formula: {\n sum: 'Sum',\n average: 'Average',\n max: 'Max',\n min: 'Min',\n _if: 'IF',\n and: 'AND',\n or: 'OR',\n concat: 'Concat',\n },\n validation: {\n required: 'it must be required',\n notMatch: 'it not match its validation rule',\n between: 'it is between {} and {}',\n notBetween: 'it is not between {} and {}',\n notIn: 'it is not in list',\n equal: 'it equal to {}',\n notEqual: 'it not equal to {}',\n lessThan: 'it less than {}',\n lessThanEqual: 'it less than or equal to {}',\n greaterThan: 'it greater than {}',\n greaterThanEqual: 'it greater than or equal to {}',\n },\n error: {\n pasteForMergedCell: 'Unable to do this for merged cells',\n },\n calendar: {\n weeks: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n },\n button: {\n next: 'Next',\n cancel: 'Cancel',\n remove: 'Remove',\n save: 'Save',\n ok: 'OK',\n },\n sort: {\n desc: 'Sort Z -> A',\n asc: 'Sort A -> Z',\n },\n filter: {\n empty: 'empty',\n },\n dataValidation: {\n mode: 'Mode',\n range: 'Cell Range',\n criteria: 'Criteria',\n modeType: {\n cell: 'Cell',\n column: 'Colun',\n row: 'Row',\n },\n type: {\n list: 'List',\n number: 'Number',\n date: 'Date',\n phone: 'Phone',\n email: 'Email',\n },\n operator: {\n be: 'between',\n nbe: 'not betwwen',\n lt: 'less than',\n lte: 'less than or equal to',\n gt: 'greater than',\n gte: 'greater than or equal to',\n eq: 'equal to',\n neq: 'not equal to',\n },\n },\n};\n","import { t } from '../locale/locale';\nimport helper from './helper';\n\nconst rules = {\n phone: /^[1-9]\\d{10}$/,\n email: /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/,\n};\n\nfunction returnMessage(flag, key, ...arg) {\n let message = '';\n if (!flag) {\n message = t(`validation.${key}`, ...arg);\n }\n return [flag, message];\n}\n\nexport default class Validator {\n // operator: b|nb|eq|neq|lt|lte|gt|gte\n // type: date|number|list|phone|email\n constructor(type, required, value, operator) {\n this.required = required;\n this.value = value;\n this.type = type;\n this.operator = operator;\n this.message = '';\n }\n\n parseValue(v) {\n const { type } = this;\n if (type === 'date') {\n return new Date(v);\n }\n if (type === 'number') {\n return Number(v);\n }\n return v;\n }\n\n equals(other) {\n let flag = this.type === other.type\n && this.required === other.required\n && this.operator === other.operator;\n if (flag) {\n if (Array.isArray(this.value)) {\n flag = helper.arrayEquals(this.value, other.value);\n } else {\n flag = this.value === other.value;\n }\n }\n return flag;\n }\n\n values() {\n return this.value.split(',');\n }\n\n validate(v) {\n const {\n required, operator, value, type,\n } = this;\n if (required && /^\\s*$/.test(v)) {\n return returnMessage(false, 'required');\n }\n if (/^\\s*$/.test(v)) return [true];\n if (rules[type] && !rules[type].test(v)) {\n return returnMessage(false, 'notMatch');\n }\n if (type === 'list') {\n return returnMessage(this.values().includes(v), 'notIn');\n }\n if (operator) {\n const v1 = this.parseValue(v);\n if (operator === 'be') {\n const [min, max] = value;\n return returnMessage(\n v1 >= this.parseValue(min) && v1 <= this.parseValue(max),\n 'between',\n min,\n max,\n );\n }\n if (operator === 'nbe') {\n const [min, max] = value;\n return returnMessage(\n v1 < this.parseValue(min) || v1 > this.parseValue(max),\n 'notBetween',\n min,\n max,\n );\n }\n if (operator === 'eq') {\n return returnMessage(\n v1 === this.parseValue(value),\n 'equal',\n value,\n );\n }\n if (operator === 'neq') {\n return returnMessage(\n v1 !== this.parseValue(value),\n 'notEqual',\n value,\n );\n }\n if (operator === 'lt') {\n return returnMessage(\n v1 < this.parseValue(value),\n 'lessThan',\n value,\n );\n }\n if (operator === 'lte') {\n return returnMessage(\n v1 <= this.parseValue(value),\n 'lessThanEqual',\n value,\n );\n }\n if (operator === 'gt') {\n return returnMessage(\n v1 > this.parseValue(value),\n 'greaterThan',\n value,\n );\n }\n if (operator === 'gte') {\n return returnMessage(\n v1 >= this.parseValue(value),\n 'greaterThanEqual',\n value,\n );\n }\n }\n return [true];\n }\n}\n","import Validator from './validator';\nimport { CellRange } from './cell_range';\n\nclass Validation {\n constructor(mode, refs, validator) {\n this.refs = refs;\n this.mode = mode; // cell\n this.validator = validator;\n }\n\n includes(ri, ci) {\n const { refs } = this;\n for (let i = 0; i < refs.length; i += 1) {\n const cr = CellRange.valueOf(refs[i]);\n if (cr.includes(ri, ci)) return true;\n }\n return false;\n }\n\n addRef(ref) {\n this.remove(CellRange.valueOf(ref));\n this.refs.push(ref);\n }\n\n remove(cellRange) {\n const nrefs = [];\n this.refs.forEach((it) => {\n const cr = CellRange.valueOf(it);\n if (cr.intersects(cellRange)) {\n const crs = cr.difference(cellRange);\n crs.forEach(it1 => nrefs.push(it1.toString()));\n } else {\n nrefs.push(it);\n }\n });\n this.refs = nrefs;\n }\n\n getData() {\n const { refs, mode, validator } = this;\n const {\n type, required, operator, value,\n } = validator;\n return {\n refs, mode, type, required, operator, value,\n };\n }\n\n static valueOf({\n refs, mode, type, required, operator, value,\n }) {\n return new Validation(mode, refs, new Validator(type, required, value, operator));\n }\n}\nclass Validations {\n constructor() {\n this._ = [];\n // ri_ci: errMessage\n this.errors = new Map();\n }\n\n getError(ri, ci) {\n return this.errors.get(`${ri}_${ci}`);\n }\n\n validate(ri, ci, text) {\n const v = this.get(ri, ci);\n const key = `${ri}_${ci}`;\n const { errors } = this;\n if (v !== null) {\n const [flag, message] = v.validator.validate(text);\n if (!flag) {\n errors.set(key, message);\n } else {\n errors.delete(key);\n }\n } else {\n errors.delete(key);\n }\n return true;\n }\n\n // type: date|number|phone|email|list\n // validator: { required, value, operator }\n add(mode, ref, {\n type, required, value, operator,\n }) {\n const validator = new Validator(\n type, required, value, operator,\n );\n const v = this.getByValidator(validator);\n if (v !== null) {\n v.addRef(ref);\n } else {\n this._.push(new Validation(mode, [ref], validator));\n }\n }\n\n getByValidator(validator) {\n for (let i = 0; i < this._.length; i += 1) {\n const v = this._[i];\n if (v.validator.equals(validator)) {\n return v;\n }\n }\n return null;\n }\n\n get(ri, ci) {\n for (let i = 0; i < this._.length; i += 1) {\n const v = this._[i];\n if (v.includes(ri, ci)) return v;\n }\n return null;\n }\n\n remove(cellRange) {\n this.each((it) => {\n it.remove(cellRange);\n });\n }\n\n each(cb) {\n this._.forEach(it => cb(it));\n }\n\n getData() {\n return this._.filter(it => it.refs.length > 0).map(it => it.getData());\n }\n\n setData(d) {\n this._ = d.map(it => Validation.valueOf(it));\n }\n}\n\nexport default {};\nexport {\n Validations,\n};\n","/* global document */\n\nimport Selector from './selector';\nimport Scroll from './scroll';\nimport History from './history';\nimport Clipboard from './clipboard';\nimport AutoFilter from './auto_filter';\nimport { Merges } from './merge';\nimport helper from './helper';\nimport { Rows } from './row';\nimport { Cols } from './col';\nimport { Validations } from './validation';\nimport { CellRange } from './cell_range';\nimport { expr2xy, xy2expr } from './alphabet';\nimport { t } from '../locale/locale';\n\n// private methods\n/*\n * {\n * name: ''\n * freeze: [0, 0],\n * formats: [],\n * styles: [\n * {\n * bgcolor: '',\n * align: '',\n * valign: '',\n * textwrap: false,\n * strike: false,\n * underline: false,\n * color: '',\n * format: 1,\n * border: {\n * left: [style, color],\n * right: [style, color],\n * top: [style, color],\n * bottom: [style, color],\n * },\n * font: {\n * name: 'Helvetica',\n * size: 10,\n * bold: false,\n * italic: false,\n * }\n * }\n * ],\n * merges: [\n * 'A1:F11',\n * ...\n * ],\n * rows: {\n * 1: {\n * height: 50,\n * style: 1,\n * cells: {\n * 1: {\n * style: 2,\n * type: 'string',\n * text: '',\n * value: '', // cal result\n * }\n * }\n * },\n * ...\n * },\n * cols: {\n * 2: { width: 100, style: 1 }\n * }\n * }\n */\nconst defaultSettings = {\n mode: 'edit', // edit | read\n view: {\n height: () => document.documentElement.clientHeight,\n width: () => document.documentElement.clientWidth,\n },\n showGrid: true,\n showToolbar: true,\n showContextmenu: true,\n showBottomBar: true,\n row: {\n len: 100,\n height: 25,\n },\n col: {\n len: 26,\n width: 100,\n indexWidth: 60,\n minWidth: 60,\n },\n style: {\n bgcolor: '#ffffff',\n align: 'left',\n valign: 'middle',\n textwrap: false,\n strike: false,\n underline: false,\n color: '#0a0a0a',\n font: {\n name: 'Arial',\n size: 10,\n bold: false,\n italic: false,\n },\n format: 'normal',\n },\n};\n\nconst toolbarHeight = 41;\nconst bottombarHeight = 41;\n\n\n// Utility functions\nconst hasOwnProperty = (obj, name) => Object.prototype.hasOwnProperty.call(obj, name);\n\n\n// src: cellRange\n// dst: cellRange\nfunction canPaste(src, dst, error = () => {}) {\n const { merges } = this;\n const cellRange = dst.clone();\n const [srn, scn] = src.size();\n const [drn, dcn] = dst.size();\n if (srn > drn) {\n cellRange.eri = dst.sri + srn - 1;\n }\n if (scn > dcn) {\n cellRange.eci = dst.sci + scn - 1;\n }\n if (merges.intersects(cellRange)) {\n error(t('error.pasteForMergedCell'));\n return false;\n }\n return true;\n}\nfunction copyPaste(srcCellRange, dstCellRange, what, autofill = false) {\n const { rows, merges } = this;\n // delete dest merge\n if (what === 'all' || what === 'format') {\n rows.deleteCells(dstCellRange, what);\n merges.deleteWithin(dstCellRange);\n }\n rows.copyPaste(srcCellRange, dstCellRange, what, autofill, (ri, ci, cell) => {\n if (cell && cell.merge) {\n // console.log('cell:', ri, ci, cell);\n const [rn, cn] = cell.merge;\n if (rn <= 0 && cn <= 0) return;\n merges.add(new CellRange(ri, ci, ri + rn, ci + cn));\n }\n });\n}\n\nfunction cutPaste(srcCellRange, dstCellRange) {\n const { clipboard, rows, merges } = this;\n rows.cutPaste(srcCellRange, dstCellRange);\n merges.move(srcCellRange,\n dstCellRange.sri - srcCellRange.sri,\n dstCellRange.sci - srcCellRange.sci);\n clipboard.clear();\n}\n\n// bss: { top, bottom, left, right }\nfunction setStyleBorder(ri, ci, bss) {\n const { styles, rows } = this;\n const cell = rows.getCellOrNew(ri, ci);\n let cstyle = {};\n if (cell.style !== undefined) {\n cstyle = helper.cloneDeep(styles[cell.style]);\n }\n cstyle = helper.merge(cstyle, { border: bss });\n cell.style = this.addStyle(cstyle);\n}\n\nfunction setStyleBorders({ mode, style, color }) {\n const { styles, selector, rows } = this;\n const {\n sri, sci, eri, eci,\n } = selector.range;\n const multiple = !this.isSingleSelected();\n if (!multiple) {\n if (mode === 'inside' || mode === 'horizontal' || mode === 'vertical') {\n return;\n }\n }\n if (mode === 'outside' && !multiple) {\n setStyleBorder.call(this, sri, sci, {\n top: [style, color], bottom: [style, color], left: [style, color], right: [style, color],\n });\n } else if (mode === 'none') {\n selector.range.each((ri, ci) => {\n const cell = rows.getCell(ri, ci);\n if (cell && cell.style !== undefined) {\n const ns = helper.cloneDeep(styles[cell.style]);\n delete ns.border;\n // ['bottom', 'top', 'left', 'right'].forEach((prop) => {\n // if (ns[prop]) delete ns[prop];\n // });\n cell.style = this.addStyle(ns);\n }\n });\n } else if (mode === 'all' || mode === 'inside' || mode === 'outside'\n || mode === 'horizontal' || mode === 'vertical') {\n const merges = [];\n for (let ri = sri; ri <= eri; ri += 1) {\n for (let ci = sci; ci <= eci; ci += 1) {\n // jump merges -- start\n const mergeIndexes = [];\n for (let ii = 0; ii < merges.length; ii += 1) {\n const [mri, mci, rn, cn] = merges[ii];\n if (ri === mri + rn + 1) mergeIndexes.push(ii);\n if (mri <= ri && ri <= mri + rn) {\n if (ci === mci) {\n ci += cn + 1;\n break;\n }\n }\n }\n mergeIndexes.forEach(it => merges.splice(it, 1));\n if (ci > eci) break;\n // jump merges -- end\n const cell = rows.getCell(ri, ci);\n let [rn, cn] = [0, 0];\n if (cell && cell.merge) {\n [rn, cn] = cell.merge;\n merges.push([ri, ci, rn, cn]);\n }\n const mrl = rn > 0 && ri + rn === eri;\n const mcl = cn > 0 && ci + cn === eci;\n let bss = {};\n if (mode === 'all') {\n bss = {\n bottom: [style, color],\n top: [style, color],\n left: [style, color],\n right: [style, color],\n };\n } else if (mode === 'inside') {\n if (!mcl && ci < eci) bss.right = [style, color];\n if (!mrl && ri < eri) bss.bottom = [style, color];\n } else if (mode === 'horizontal') {\n if (!mrl && ri < eri) bss.bottom = [style, color];\n } else if (mode === 'vertical') {\n if (!mcl && ci < eci) bss.right = [style, color];\n } else if (mode === 'outside' && multiple) {\n if (sri === ri) bss.top = [style, color];\n if (mrl || eri === ri) bss.bottom = [style, color];\n if (sci === ci) bss.left = [style, color];\n if (mcl || eci === ci) bss.right = [style, color];\n }\n if (Object.keys(bss).length > 0) {\n setStyleBorder.call(this, ri, ci, bss);\n }\n ci += cn;\n }\n }\n } else if (mode === 'top' || mode === 'bottom') {\n for (let ci = sci; ci <= eci; ci += 1) {\n if (mode === 'top') {\n setStyleBorder.call(this, sri, ci, { top: [style, color] });\n ci += rows.getCellMerge(sri, ci)[1];\n }\n if (mode === 'bottom') {\n setStyleBorder.call(this, eri, ci, { bottom: [style, color] });\n ci += rows.getCellMerge(eri, ci)[1];\n }\n }\n } else if (mode === 'left' || mode === 'right') {\n for (let ri = sri; ri <= eri; ri += 1) {\n if (mode === 'left') {\n setStyleBorder.call(this, ri, sci, { left: [style, color] });\n ri += rows.getCellMerge(ri, sci)[0];\n }\n if (mode === 'right') {\n setStyleBorder.call(this, ri, eci, { right: [style, color] });\n ri += rows.getCellMerge(ri, eci)[0];\n }\n }\n }\n}\n\nfunction getCellRowByY(y, scrollOffsety) {\n const { rows } = this;\n const fsh = this.freezeTotalHeight();\n // console.log('y:', y, ', fsh:', fsh);\n let inits = rows.height;\n if (fsh + rows.height < y) inits -= scrollOffsety;\n\n // handle ri in autofilter\n const frset = this.exceptRowSet;\n\n let ri = 0;\n let top = inits;\n let { height } = rows;\n for (; ri < rows.len; ri += 1) {\n if (top > y) break;\n if (!frset.has(ri)) {\n height = rows.getHeight(ri);\n top += height;\n }\n }\n top -= height;\n // console.log('ri:', ri, ', top:', top, ', height:', height);\n\n if (top <= 0) {\n return { ri: -1, top: 0, height };\n }\n\n return { ri: ri - 1, top, height };\n}\n\nfunction getCellColByX(x, scrollOffsetx) {\n const { cols } = this;\n const fsw = this.freezeTotalWidth();\n let inits = cols.indexWidth;\n if (fsw + cols.indexWidth < x) inits -= scrollOffsetx;\n const [ci, left, width] = helper.rangeReduceIf(\n 0,\n cols.len,\n inits,\n cols.indexWidth,\n x,\n i => cols.getWidth(i),\n );\n if (left <= 0) {\n return { ci: -1, left: 0, width: cols.indexWidth };\n }\n return { ci: ci - 1, left, width };\n}\n\nexport default class DataProxy {\n constructor(name, settings) {\n this.settings = helper.merge(defaultSettings, settings || {});\n // save data begin\n this.name = name || 'sheet';\n this.freeze = [0, 0];\n this.styles = []; // Array